728x90
๐ฒโ ๋ชจ๋
- ์ฝ๋๋ฅผ ๋ชจ์๋์ ํ๋์ ํ์ผ์ ์๋ฏธ
- ์ฌ์ฌ์ฉ์ฑ์ด๋ ์ ์ง๋ณด์์ฑ ๋ฑ์ ์ํด์ ์ฌ์ฉ
- ํฐ ๋ชฉ์ ํ๋๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด์ ๊ด๋ จ๋ ์กฐ๊ฐ ์ฝ๋๋ค์ด๋ ๊ด๋ จ๋ ํจ์๋ค์ ๋ชจ์์ ํ๋์ ๋ชจ๋๋ก ์์ฑ
- ํ๋์ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ
- ๋ชจ๋์ ์ฌ์ฉํ๊ธฐ ์ํด imfort ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ธ๋ถ์ ์๋ ๋ชจ๋์ ๊ฐ์ง๊ณ ์ฌ ์ ์์
- export ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฌ ๋ชจ๋์ ๋ด๋ณด๋ผ ์๋ ์์
๐ฒโ ๋ชจ๋ ์์ฑ ๋ฐ ๋ด๋ณด๋ด๊ธฐ
- ์์ฑํ ํจ์๋ฅผ ๋ฐ์ผ๋ก ๋ด๋ณด๋ด๊ธฐ ์ํค์๋ ๊ฐ์ฅ ์์ export๋ผ๋ ํค์๋๋ฅผ ๋ถ์ด๋ฉด ๊ฐ๋ฅ
- ๋ด๋ณด๋ผ ๋ณ์๋ ํจ์ ํค์๋ ์์ export๋ง ๋ถ์ด๋ฉด ๋ชจ๋๋ก์ ๋ด ๋ณด๋ผ ์ ์์
export function greeting(){
console.log('Hello');
}
๐ฒโ type = "module"
- ๋ด๋ณด๋ธ greeting ํจ์๋ฅผ ์๋ฐ์คํฌ๋ฆฌํธ ํ์ผ์์ ๊ฐ์ ธ์ ์ฌ์ฉํ๋ ค๋ฉด
- html ๋ฌธ์์์ src ํ๊ทธ ๋ถ๋ถ์ type์ด๋ผ๋ ์์ฑ์ ์ถ๊ฐํ๊ณ ๊ฐ์ ๋ชจ๋๋ก ์ง์
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button>ํด๋ฆญ</button>
<button class="remove">์ด๋ฒคํธ๋ฅผ ์ญ์ ํ์ธ์</button>
<script type="module" src="test.js"></script>
<h1>JavaScript ์ฐ์ต</h1>
<p>๋ง์ด ํ๋ค๊ณ ์ด๋ ต๋๋ผ๋ ์ด์ฌํ ํ๋ฉด ํฌ๋ง์ด ์จ๋ค</p>
</body>
</html>
๐ฒโ ์ธ๋ถ ๋ชจ๋ ๊ฐ์ ธ์ค๊ธฐ (import)
- {} ์ค๊ดํธ๋ฅผ ์ด๊ณ ๊ฐ์ ธ์ฌ ๋ชจ๋์ ์ด๋ฆ์ ์์ฑ
- ๋ชจ๋์ด ์ํด ์๋์ง ํด๋น ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์ง์
import { greeting } from "./hello.js";
greeting();
๐ฒโ ๋ด๋ณด๋ด๊ธฐ ๋ฐฉ์ ์ฐจ์ด
- ๊ธฐ๋ณธ ๋ด๋ณด๋ด๊ธฐ ๋ฐฉ์๊ณผ ์ด๋ฆ์ด ์ ์๋ ๋ด๋ณด๋ด๊ธฐ ๋ฐฉ์์ด ์์
- ์ด๋ฆ์ด ์ ์๋ ๋ด๋ณด๋ด๊ธฐ ๋ฐฉ์์ ํจ์๋ ๋ณ์, ํด๋์ค ๋ฑ์ ์ ์ธ ํค์๋ ์์๋ค๊ฐ export ๋ช ๋ น์ด๋ฅผ ๋ถ์ฌ์ฃผ๋ ๋ฐฉ๋ฒ์ Named Exports๋ผ๊ณ ํจ
- ์ด๋ฆ์ด ์ ์๋ ๋ด๋ณด๋ด๊ธฐ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ํ๋์ ๋ชจ๋์์ ์ฌ๋ฌ ๊ฐ์ ํจ์๋ ๊ฐ์ฒด, ๋ณ์ ๋ฑ์ ๋ด๋ณด๋ผ ์ ์๊ณ ๊ฐ์ ธ์ฌ ๋๋ ์ค๊ดํธ ์์์ฌ์ฉํ๋ ค๋ ๋ชจ๋์ ์ ์๋ ์ด๋ฆ์ ๋์ดํ๊ธฐ๋ง ํ๋ฉด ๋จ
- ๋ชจ๋์ ๊ฐ์ ธ์ฌ ๋ ๋ค๋ฅธ์ด๋ฆ์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด as ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ์นญ ์ง์ ๊ฐ๋ฅ
- ๊ธฐ๋ณธ ๋ด๋ณด๋ด๊ธฐ ๋ฐฉ์์ด๋ผ๋ ๋ชจ๋์์ ํ๋์ ํจ์๋ ๊ฐ์ฒด, ๋ณ์๋ค์ ๊ธฐ๋ณธ์ผ๋ก ๋ด๋ณด๋ด๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- export ๋ค์ default ํค์๋ ์ถ๊ฐ
- ๊ธฐ๋ณธ ๋ด๋ณด๋ด๊ธฐ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์ด๋ฆ์ด ์ ์๋ ๋ด๋ณด๋ด๊ธฐ ๋ฐฉ์๊ณผ ๋ค๋ฅด๊ฒ ๊ฐ์ ธ์์ ์ฌ์ฉํ ๋ ์ค๊ดํธ๋ฅผ ์๋ตํ ์ ์์
- ๋ชจ๋์ด ์ ์๋ ์ด๋ฆ์ด ์๋๋ผ ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๋ ค๋ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ ์ ์์
export function greeting(){
console.log('Hello');
}
export dafault function greeting(){
console.log('Hello');
}
๐ฒโ ์ ์ธ๋ถ์ export ๋ถ๋ฆฌ
- ๋ด๋ณด๋ด๊ธฐ ์์ ์ ํ ๋ ํจ์๋ ๊ฐ์ฒด, ํด๋์ค ๋ฑ์ ์ ์ธํ๋ ๋ถ๋ถ๊ณผ ๋ณ๊ฐ๋ก ๋ชจ๋๋ฅผ ์ ์ธํ๋ ๋ถ๋ถ๊ณผ ๋ด๋ณด๋ด๊ธฐ๋ฅผ ์ ์ํ๋ ๋ถ๋ถ์ ๋ถ๋ฆฌํ์ฌ ํํํ ์ ์์
- ์ด๋ฆ์ด ์ ์๋ ๋ด๋ณด๋ด๊ธฐ ๋ฐฉ์์ ์ฌ์ฉํ ๋๋ default ํค์๋๋ฅผ ์ง์ฐ๊ณ ์ค๊ดํธ ์ ์ฉ
function greeting(){
console.log('Hello');
}
export default greeting;
export function greeting(){
console.log('Hello');
}
export{ greeting };
'Front > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ์๋ฃํ (0) | 2024.08.04 |
---|---|
[JavaScript] ๊ฐ์ฒด ์ถ์ฝ ๋ฌธ๋ฒ (0) | 2024.07.23 |
[JavaScript] ์ด๋ฒคํธ (0) | 2024.07.07 |
[JavaScript] DOM (0) | 2024.07.06 |
[JavaScript] ๊ตฌ์กฐ๋ถํดํ ๋น (0) | 2024.07.06 |