class IdolModel{
  name: string;
  age: number;

  constructor(name: string, age: number){
    this.name = name;
    this.age = age;
  }
}

// export default interface ICat{
//   name:string;
//   breed:string;
// } 

const number = 12;

export default { // IdolModel키에 IdolModel
  IdolModel,
  number,
  // ICat  //인터페이스는 안된다. 인터페이스는 타입스크립트에 타입이기 때문이다. 그래서 객체에 넣을 수 없다. 
}
// export default number;

보면 export를 객체형태로 IdolModel과, number를 보내고 있다.
하지만 interface인 ICat은 객체 형태로 보낼 수 없다. 그 이유는 인터페이스는 타입스크립트에 타입이기 때문이다.
interface는 export default interface ICat으로 보내주어야 한다.

import IdolModel from "./1_export_default_1"; // IdolModel은 이름을 지어줄 수 있다.

// console.log(IdolModel)
// const iu = new IdolModel('아이유', 23);
// console.log(iu)


const yuJin = new IdolModel.IdolModel('안유진', 23);
console.log(yuJin);
console.log(IdolModel.number);

받을 때에는 IdolModel이 객체이기 때문에 key값으로 value를 찾아야 한다.

여러개 Export 하기

export class IdolModel{
  name:string;
  age: number;

  constructor(name: string, age: number){
    this.name = name;
    this.age = age;
  }
}

export const rose = new IdolModel('로제', 28);
export const number = 999;
export interface ICat{
  name:string;
  age:number;
}

export default를 하면 하나만 보낼 수 있었다. 여러개 보낼려면 객체로 묶어서 보내줘야 했다
하지만 export만 사용하면 여러개를 보낼 수 있다.

import { IdolModel, rose, number, ICat } from './2_export_1'; // 그냥 export할때에는 실제로 import해올 명칭을 정확히 적어줘야 한다.

const iu = new IdolModel('아이유', 32);
console.log(iu);
console.log(rose);
console.log(number);

const cat: ICat = {
  name: '냥냥이',
  age: 12,

}

console.log(cat);

import 할 때에는 export할 때 정확한 명칭으로 import해야한다. 그리고 중괄호를 꼭 해주어야 한다.

import에서 as 사용하기

import { IdolModel as IM, rose, number, ICat } from "./2_export_1";


console.log(new IM('아이유', 32));
// console.log(new IdolModel('아이유', 32)) //에러발생

as를 사용하면 as로 별칭한 이름으로 사용해야 한다.
IdolModel로 사용하면 에러가 발생한다.

import에서 * 와일드카드 사용하기

import * as allTogether from "./2_export_1";

console.log(allTogether.number); 
// 와일드 카드를 써가지고 모두 불러오게 되면 모든 엑스포트들이 하나의 객체처럼 묶여서 불러와진다.
console.log(allTogether.rose);

와일드 카드를 써가지고 모두 불러오게 되면 모든 엑스포트들이 하나의 객체처럼 묶여서 불러와진다.

export에서 default와 그냥 export 사용하기

export const rose = new IdolModel('로제', 28);
export const number = 999;
export interface ICat{
  name:string;
  age:number;
}

export default{
  name: '코드팩토리',
  age : 23,
} //export 와 export default를 동시에 쓸 수 있다.

import cf, { rose, number } from "./2_export_1";

console.log(cf);
console.log(rose);

export에서 export와 export default 동시에 사용 가능하다.
import시에는 default부분은 중괄호 밖에 export부분은 중괄호 안에 작성한다.

tsconfig.json파일에서 baseUrl 설정하기

baseUrl을 true로 하면
tsconifg.json파일 기중으로 찾게 된다. 현재 경로가 아닌

profile
알고리즘 정리 블로그입니다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN