인프런 커뮤니티 질문&답변

주연님의 프로필 이미지
주연

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

Q. static키워드는 왜 사용하며 단점은 무엇인가요? ★☆☆

static의 인스턴스 저장값 사용

작성

·

258

0

class Family {
 constructor(name, age, job) { this.name = name; this.age = age; this.job = job; }
 static getJob() { console.log(`This family's job is ${family2.job}.`);} 
} 

const family1 = new Family("John", 35, "teacher"); 
const family2 = new Family("Kate", 28, "engineer");

 

static 관련하여 문의 드립니다!

static에 관한 좀 더 알아보고자 찾아본 것중 class에 static 된 메소드는 인스턴스에 저장값에 접근하지 못 한다고 하는데.

그렇다면

console.log( family1.getJob()) 의 경우"teacher" 이 찍히지 않아야 하는데

찍힙니다. 제가 잘 못 이해한 걸까요?

 

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 주연님 ㅎㅎ

음..

class Family {
  constructor(name, age, job) {
    this.name = name;
    this.age = age;
    this.job = job;
  }
  static getJob() {
    console.log(`This family's job is ${family2.job}.`);
  }
}

const family1 = new Family("John", 35, "teacher");
const family2 = new Family("Kate", 28, "engineer");

family1.getJob() 

이 코드 말씀하시는거죠?

저는 찍히지 않습니다.

TypeError: family1.getJob is not a function     
    at Object.<anonymous>

혹시 다시 해보시겠어요??

 

주연님의 프로필 이미지
주연

작성한 질문수

질문하기