javascript, typescript๋ฅผ ์ฌ์ฉํ๋ค๋ณด๋ฉด ๋ชจ๋์ ๋ง์ด ๋ง๋ค๊ฒ ๋๊ณ ๊ทธ๋๋ง๋ค ํ์ผ ํ๋จ์๋ "export default ~" ํน์ "export const ~" ๋ฑ์ export ๋ฌธ๋ฒ์ ์ฌ์ฉํ๊ฒ ๋๋ค.
์ด๊ธ์ ๋ฌด์ง์ฑ์ผ๋ก export ํ๋ ๊ฒ์ ๋ง๊ธฐ ์ํ ๊ธ์ด๋ค.
export์๋ default export์ named export๊ฐ ์๋ค
1. default export
- ํ์ผ๋น ์ต๋ 1๊ฐ์ default export๊ฐ ์์ ์ ์์
- ๋ณดํต ํ์ผ ๋ด์์ ํ๊ฐ๋ง exportํ ๋ vs ๋ํ๋ก exportํ ๊ฒ์ด ์์ ๋ ๋ง์ด ์ฌ์ฉ
- ํด๋น ๋ชจ๋์๋ ๊ฐ์ฒด๊ฐ ํ๋๋ง ์๋ค๋ ์ฌ์ค์ ์๋ฏธ
- importํ ๋ ์ค๊ดํธ{} ์์ด ๊ฐ์ ธ์ฌ ์ ์์
- ์์ ๊ฐ์ด exportํ ๊ฒฝ์ฐ importํ ๋ ์๋ฌด ์ด๋ฆ์ผ๋ก๋ import ํด๋ ๋จ
- ์๋ ์ฒ๋ผ import ๋ค์ ๋ด ๋ง๋๋ก ์ฌ์ฉํ๊ณ ์ถ์ ์ด๋ฆ์ผ๋ก ์ธ ์ ์์
// 1.
import Navigation from 'src/pages/NavigationPage'
// 2.
import ThisNavigation from 'src/pages/NavigationPage'
2. named export
- ์ ์ธ๋ถ ์์ export ๋ถ์ด๋ ๊ฒฝ์ฐ
- ๋ณ์๋ ํจ์, ํด๋์ค๋ฅผ ์ ์ธํ ๋ ๋งจ ์์ export๋ฅผ ๋ถ์ (์๋ ์์)
// ๋ฐฐ์ด ๋ด๋ณด๋ด๊ธฐ
export let months = ['Jan', 'Feb', 'Mar','Apr', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
// ์์ ๋ด๋ณด๋ด๊ธฐ
export const THIS_YEAR = 2023;
// ํด๋์ค ๋ด๋ณด๋ด๊ธฐ
export class User {
constructor(name) {
this.name = name;
}
}
- ํ์ง๋ง ๊ผญ ์ ์ธ๋ถ ์์ export๋ถ์ด๋ ๋ฐฉ์์ผ๋ก๋ง ๋ด๋ณด๋ผ ์ ์๋ ๊ฒ์ ์๋
- ๋จผ์ ์ ์ธํ ํ, ํ์ผ ํ๋จ ๋ง์ง๋ง์์ ๋ด๋ณด๋ด๊ธฐ๋ ๊ฐ๋ฅ (์๋ ์์)
// User.js
function setAge(user) {
age = user.age;
}
function setName(user) {
name = user.name;
}
export {setAge, setName}; // ๋ ํจ์ ๋ด๋ณด๋ด๊ธฐ
'Computer Science > Front-end' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[react] react-query: refetch์๋ status๊ฐ ๊ณ์ success์ธ ์ด์ ? (0) | 2022.12.29 |
---|---|
[React] useEffect์ dependency ์ญํ (0) | 2022.11.24 |