import _ from 'lodash' // From `node_modules`
import getType from './getType' // getType.js
import getRandom from './getRandeom' // getRandom.js
이름을 따로 지정하지 않아도 되는 내보내기 기본통로
export default function getType(data) {
return Object.prototype.toString.call(data).slice(8,1)
}
위 코드에서 export Default
키워드를 붙여서 내보내기를 하고있습니다.
이름을 따로 지정하지 않아도 되기 때문에 getType
이라는 함수이름을 지정할 필요가 없기 때문에 아래처럼 지워도 상관없습니다.
export default function (data) {
return Object.prototype.toString.call(data).slice(8,1)
}
export default로 내보내기한 데이터를 import로 가져오기를 할때에도 이름에 큰 제약이 없습니다.
import getType from './getType' // getType.js
import checkType from './getType' // getType.js
아무이름으로 지정해도 상관없습니다.
Named export : 이름을 지정해야하는 통로
export function random() {
return Math.floor(Math.random() * 10);
}
import { random } from './getRandom'; // getRandom.js
Default export와는 다르게 2개 이상의 데이터를 내보내기 할 수 있습니다.
export function random() {
return Math.floor(Math.random() * 10);
}
export const user = {
name: 'HEROPY',
age: 85
} // user라는 이름으로 새로운 데이터를 밖으로 내보내기를 하고 있습니다.
import { random, user } from './getRandom'; // getRandom.js
console.log(random());
console.log(user);
추출한 이름이 마음에 들지 않는다면 바꿀수 있습니다.
객체 구조 분해 에서는 추출한 이름이 마음에 들지 않는다면
{ random, user:heropy }
로 콜론:
을 이용하여 이름을 바꿀 수 있었습니다.
import문법 에서는 콜론
:
대신에as
키워드를 사용합니다.
import { random, user as heropy } from './getRandom'; // getRandom.js
console.log(random());
console.log(heropy);
//import { random, user as heropy } from './getRandom'; // getRandom.js
import * as R from './getRandom' // R 에는 특별한 의미가 없는 그냥 이름입니다.
console.log(R);
export function random() {
return Math.floor(Math.random() * 10);
}
export const user = {
name: 'HEROPY',
age: 85
}
export default 123;
Default export
는 하나의 파일에서 하나의 데이터만 내보내기 할 수 있습니다.
Named export
이름만 지정되어 있으면 몇 개를 내보내던지 상관없습니다.
한번만 내보내기를 한다면
export default
를 사용하고, 내보내야할 내용이 많다면export
를 사용합니다.