[TIL11] import, export로 js모듈화와 Class
8582 단어 JavaScriptJavaScript
📍 오늘배운 내용
- 이후에 react를 배울때 나오는 컴포넌트라는 개념을 위해서는 import, export 을 어떻게 사용하는지 알아야한다!
- 클래스형 컴포넌트보다 함수형을 더많이 사용하지만 Class 사용법을 알고있자
1️⃣ import, export
- https://caniuse.com/ > import 지원 여부
- export 는 public 함수 (외부에서도 사용 가능!)
- import를 활용하여 외부에 있는 public 함수에 접근
모듈화 시켜야 제대로 작동 된다.
//profile.js 파일
function daynight (x) {
console.log(x);
}
function day (y) {
console.log(y);
}
function night (y) {
console.log(y);
}
export {daynight, day, night}
//html 파일에서 사용시
<script type="module">
import {dayNight} from './daynight.js'
</script>
//js 파일에서 사용시
import {dayNight} from './daynight.js';
//혹은
import * as mode from './daynight.js';
2️⃣ export default
- 모듈은 함수가 여러가지 있는 라이브러리 형태 혹은 모듈과 개체 하나만 선언 되어 있는 형태이다.
export default를 사용하면 '해당 모듈엔 개체가 하나만 있다’는 의미.
export default 키워드 사용시 import 할때 대괄호를 생략할 수 있다.
- 각 파일마다
export default는 대개 1개만 존재한다.
//방법1
export default function Profile(name) {
console.log(name);
}
//방법2
function Profile(name) {
console.log(name);
}
export default User;
3️⃣ import시 as 로 별칭 정하기
- import 한 모듈을
as 키워드를 통해 원하는 이름으로 사용할 수 있다.
import {introduce} as intro from './profile.js';
intro('Hello my name is Zeeyoon');
4️⃣ 와일드 카드(*) 로 import 하기
- 와일드 카드로 여러개의 함수를 가지고있는 라이브러리 모듈을
import 해서 사용할 때는
객체처럼 사용한다.
//profile.js 파일
function name (x) {
console.log(x);
}
function hello (y) {
console.log(y);
}
export {name, hello};
import * as bio from './profile.js';
bio.name('Zeeyoon');
bio.hello('안녕하세요');
- import 와 export를 활용해서 컴포넌트화 시킨다 (컴포넌트는 나중에 react에서 자세히..)
- Class와 상속개념에 대해서는 따로 정리한 포스팅을 올려야겠다!
Author And Source
이 문제에 관하여([TIL11] import, export로 js모듈화와 Class), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@jiynn_12/TIL11-import-export로-js모듈화하기
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
- import를 활용하여 외부에 있는 public 함수에 접근
모듈화시켜야 제대로 작동 된다.
//profile.js 파일
function daynight (x) {
console.log(x);
}
function day (y) {
console.log(y);
}
function night (y) {
console.log(y);
}
export {daynight, day, night} //html 파일에서 사용시
<script type="module">
import {dayNight} from './daynight.js'
</script>
//js 파일에서 사용시
import {dayNight} from './daynight.js';
//혹은
import * as mode from './daynight.js';- 모듈은 함수가 여러가지 있는 라이브러리 형태 혹은 모듈과 개체 하나만 선언 되어 있는 형태이다.
export default를 사용하면 '해당 모듈엔 개체가 하나만 있다’는 의미.export default키워드 사용시import할때 대괄호를 생략할 수 있다.- 각 파일마다
export default는 대개 1개만 존재한다.
//방법1
export default function Profile(name) {
console.log(name);
}
//방법2
function Profile(name) {
console.log(name);
}
export default User;
3️⃣ import시 as 로 별칭 정하기
- import 한 모듈을
as 키워드를 통해 원하는 이름으로 사용할 수 있다.
import {introduce} as intro from './profile.js';
intro('Hello my name is Zeeyoon');
4️⃣ 와일드 카드(*) 로 import 하기
- 와일드 카드로 여러개의 함수를 가지고있는 라이브러리 모듈을
import 해서 사용할 때는
객체처럼 사용한다.
//profile.js 파일
function name (x) {
console.log(x);
}
function hello (y) {
console.log(y);
}
export {name, hello};
import * as bio from './profile.js';
bio.name('Zeeyoon');
bio.hello('안녕하세요');
- import 와 export를 활용해서 컴포넌트화 시킨다 (컴포넌트는 나중에 react에서 자세히..)
- Class와 상속개념에 대해서는 따로 정리한 포스팅을 올려야겠다!
Author And Source
이 문제에 관하여([TIL11] import, export로 js모듈화와 Class), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@jiynn_12/TIL11-import-export로-js모듈화하기
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
as 키워드를 통해 원하는 이름으로 사용할 수 있다.import {introduce} as intro from './profile.js';
intro('Hello my name is Zeeyoon');
- 와일드 카드로 여러개의 함수를 가지고있는 라이브러리 모듈을
import해서 사용할 때는
객체처럼 사용한다.
//profile.js 파일
function name (x) {
console.log(x);
}
function hello (y) {
console.log(y);
}
export {name, hello};
import * as bio from './profile.js';
bio.name('Zeeyoon');
bio.hello('안녕하세요');
- import 와 export를 활용해서 컴포넌트화 시킨다 (컴포넌트는 나중에 react에서 자세히..)
- Class와 상속개념에 대해서는 따로 정리한 포스팅을 올려야겠다!
Author And Source
이 문제에 관하여([TIL11] import, export로 js모듈화와 Class), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jiynn_12/TIL11-import-export로-js모듈화하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)