인스턴스는 클래스 상단에서 선언한 값을 조회할 수 있을까?
가능하다.
렉시컬 특성에 의해 선언된 시점에 (사용 시점이 아닌...) 값을 조회할 수 있다.
때문에 클래스가 선언 된 곳 외에서 생성된 인스턴스라도 클래스 상단에 선언된 값에 조회할 수 있다.
즉 class 내부의 값만 조회하는 것이 아니다.
때문에 특정 인스턴스가 특정 값을 조회할 때 꼭 클래스의 필드가 아니어도 된다는 것이다.
이렇게 되면 특정 값을 조회할 때 클래스 내에 선언하지 않아도 되고
그렇다면 클래스가 쥐고 있어야할 값이 더 적어지게 된다.
잘 활용하면 불필요한 코드를 덜어낼 수 있다.
B.js 파일
const B = {
bb: 1
}
export default B;
A.js 파일
import B from './B';
class A {
getB() {
return B;
}
}
-------------------
index.js 파일
import A from './A';
const a = new A();
a.getB() // 클래스 상단의 것이 잘 조회 된다. {
bb: 1
}