모듈은 export default
라는 특별한 문법을 지원한다.
export default
를 사용하면 '해당 모듈엔 개체가 하나만 있다' 라는 사실을 명확히 나타낼 수 있다.
// user.js
export default class User{
constructor(name) {
this.name = name;
}
}
default
를 붙여서 모듈을 내보내면 중괄호 없이 모듈을 가져올 수 있다.
import User from './user.js';
new User('John');
파일당 최대 하나의 default export
가 있을 수 있기 때문에 내보낼 개체엔 이름이 없어도 괜찮다.
export default class { // 클래스 이름이 없음.
constructor() {...}
}
// module.js
export default function(user) { // 함수 이름이 없음.
console.log(`Hello, ${user}!`);
}
export default ['Jan', 'Feb', 'Mar','Apr', 'Aug']; // 이름 없이 배열 형태의 값을 내보냄.
익명의 default export
를 불러올 때는 원하는 변수명을 사용하면 된다.
import abc from "./module.js";
abc("jsh"); // Hello, jsh!
static
키워드는 클래스의 정적 메서드를 정의한다.
class ClassName {
constructor(){...}
static methodName() {...}
}
1.. 정적 메서드는 클래스의 인스턴스 없이 호출이 가능하며
2.. 클래스가 인스턴스화되면 호출할 수 없다.
호출 방법
ClassName.methodName();