[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.)