- 1. 8์ฅ ๋ชจ๋
- 1.1. ๐253p. ๋ชจ๋ ํ์์ฑ
- 1.2. ๐254p. ๋ด๋ถ ๋ชจ๋, ์ธ๋ถ ๋ชจ๋ ์ฐจ์ด
- 1.3. ๐259p. Namespace
- 1.4. ๐261p. ํ ํ์ผ์ ์ฌ๋ฌ ๋ค์์คํ์ด์ค ์ ์ธ
- 1.5. ๐263p. โ ๋ค์์คํ์ด์ค ์ฌ๋ฌ ํ์ผ์ ์ ์ธ
- 1.6. ๐268p. ๋ค์์คํ์ด์ค ๋ชจ๋
- 1.7. ๐271p. ๋ค์์คํ์ด์ค ์ด๋ฆ ํ์ฅ
- 1.8. ๐274p. ๋ธ๋ผ์ฐ์ ์์ ๋ค์์คํ์ด์ค ๋ชจ๋ ํธ์ถ
- 1.9. ๐276p. ๋ชจ๋ ์ฌ์ฉ๋ฒ
- 1.10. ๐281p. โ ๋ค์์คํ์ด์ค๋ก ๊ฐ์ธ์ ์ฌ๋ ธ์ถ
- 1.11. ๐283p. ๋ํดํธ ๋ฌด๋ฒ
- 1.12. ๐289 ~ 313p. ๋ชจ๋์์คํ ์๋ต
- 1.13. ์ฐธ๊ณ ๋งํฌ
๐ Quick Start Typescript ์ ์ฝ๊ณ , ๊ฐ๋จํ ๋ชฐ๋๋ ๋ถ๋ถ์ด๋ ์ค์ํ๋ค๊ณ ์๊ฐ๋๋ ๋ถ๋ถ์ ์์ฑ
8์ฅ ๋ชจ๋
๐253p. ๋ชจ๋ ํ์์ฑ
- ์ ์ง๋ณด์
- ์ ์ญ ์ค์ฝํ ์ค์ผ ๋ฐฉ์ง
- ์ฌ์ฌ์ฉ์ฑ
๋ชจ๋๋ฌ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฐ ๊ณผ์
- ๋ชจ๋ ์๋ณ
- ๋ชจ๋ ๋ถ๋ฆฌ ์ ์ธ
- ์ธ๋ถ ๊ณต๊ฐ
๐254p. ๋ด๋ถ ๋ชจ๋, ์ธ๋ถ ๋ชจ๋ ์ฐจ์ด
ํ์
์คํฌ๋ฆฝํธ 1.5๋ถํฐ Namespce
๋ผ๋ ํน์ง๊ณผ ES6 ๋ชจ๋ ํน์ง์ด ์ถ๊ฐ ECMAScript ํ์ค ์ฉ์ด์ง์ 2๊ฐ์ง ํํ์ ๋ชจ๋ ๊ตฌ๋ถ
- ๋ด๋ถ ๋ชจ๋ -
namespace
- ์ธ๋ถ ๋ชจ๋ -
export
๋ด๋ถ๋ชจ๋, namespace
๋ ์ฌ๋ฌ ํ์ผ์ ๊ฑธ์ณ ํ๋์ ์ด๋ฆ์ ๊ณต์ , reference
๋ฅผ ํตํด ์ฐธ์กฐ
์ธ๋ถ๋ชจ๋์ ํ์ผ๋ง๋ค ์ด๋ฆ ๊ณต๊ฐ์ด ์ ํด์ง, import
๋ฅผ ํตํด ์ฐธ์กฐ
๊ทธ๋ฌ๋ฏ๋ก, namespace
๋ ํ๋ก์ ํธ์ ๋ถ๋ฆฌํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋จ์์ ๋ชจ๋์ ๊ตฌ์ฑํ ๋ ์ข์
@types
ํด๋์์ ๊ตฌ๋ถํ์ฌ ํ์ ์ ์ธ ๋ฑ ์ ํ๋ ๋ฏ ํ๋ค
๐259p. Namespace
1 | namespace Hello {} |
namespace = module
ํค์๋๋ ๋ค๋ฅด์ง๋ง, ์ญํ ๊ณผ ๊ธฐ๋ฅ์ ์ฐจ์ด๊ฐ ์์ต๋๋ค
ํค์๋ ์ค๋ณต ์ด์
ES2015์์ namespace
์ฉ์ด๊ฐ ํ์ค์ผ๋ก ์ฑํ๋๋ฉด์, ์๋ Typescript 1.5์์ ์ฌ์ฉํ๋ module
์ฉ์ด๊ฐ ์์ฐ์ค๋ฝ๊ฒ Deprecated๋จ
๊ทธ๋ฐ๋ฐ, Typescript ํ์ ๋ง๋๋ example code๋ฅผ ๋ณด๋ฉด ์์ง์ module์ด๋ผ๋ ์ฉ์ด๊ฐ ๋ง์ด ์ฐ์ด๋ ๋ฏ ํ๋ค
์ฌ๊ธฐ๋ ์
module
๊ณผnamespace
๋ฅผ ๋์์ ์ฌ์ฉํ๊ฑธ๊น?
1 | // namespace ์ฌ์ฉ ์์ |
ES6 ๋ณํ ๊ฒฐ๊ณผ
1 | var Hello; |
๐261p. ํ ํ์ผ์ ์ฌ๋ฌ ๋ค์์คํ์ด์ค ์ ์ธ
๋ค์์คํ์ด์ค๋ง๋ค ๊ตฌ๋ถ์ด ํ์ํ๊ฒ ๋๋ฏ๋ก, export
์ ์ธ ํ์
1 | namespace MyInfo1 { |
๋ณํ์ var
๋ก ๋ณํ๋์ด ํธ์ด์คํ
ํน์ฑ๋๋ฌธ์ ์์์ ์๊ด์์ด ์๋ก ํธ์ถ ๊ฐ๋ฅ
๐263p. โ ๋ค์์คํ์ด์ค ์ฌ๋ฌ ํ์ผ์ ์ ์ธ
ํ๋ก์ ํธ ๊ท๋ชจ ์ปค์ง๋ฉด, ํ์ผ ๋จ์๋ก ๋ชจ๋์ ๋ถํ
tsc
๋ช
๋ น์, ํ์
์คํฌ๋ฆฝํธ ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ๋ค์์คํ์ด์ค๊ฐ ์ฐธ์กฐ ๊ด๊ณ๋ฅผ ๊ณ ๋ คํจ
๊ทธ๋ฌ๋, ๊ฐ๋ณ ํ์ผ์ ์ปดํ์ผ์์๋ ///<reference path="to/path" />
๊ฐ ํ์ํจ
ํ์ผ ์๋จ์ ํ์ํ๋ฉด ๋จ
๊ทธ๋ฌ๋, ์ฌ์ค tsc
๋ช
๋ น์ด๋ก๋ ๊ฐ์ด
1 | ts-node car2.ts # undefined, undefined ์ถ๋ ฅ |
ts-node car2.ts | tsc -out out.js car2.ts |
---|---|
์ปดํ์ผ ํ์๋, ๊ฒฐ๊ณผ๋ฅผ ๋ช
์์ ์ผ๋ก ํ์๋๊ฒ ํ๋ ค๋ฉด, ๋ค์์คํ์ด์ค๋ฅผ ๋ชจ๋๋ก ์ ์ธํ๊ณ import
๋ฅผ ์ ์ธ ํ์
(๋ค์์ฅ์์ ์ค๋ช ๋จ)
๐268p. ๋ค์์คํ์ด์ค ๋ชจ๋
์ฌ์ฉ๋ฒ
1 | // car1.ts |
1 | import * as ns from './car1'; |
๐271p. ๋ค์์คํ์ด์ค ์ด๋ฆ ํ์ฅ
๋ค์์คํ์ด์ค ์ด๋ฆ์ .
์ ํ์ฉ, ์ด๋ฆ ๊ณ์ธต ํ์ฅํ๋๋ฐ ์ฌ์ฉ
์ฌ์ฉ ์์
1 | // ์์ ๋ฐ๋์ด๋ ๋ฌธ์ ๋ ์์ง๋ง, ์์์์ ํ์๋ก ์ ์ธํ๋๊ฒ ๋ง์ |
๊ทธ๋ฌ๋ ์์์ ๊ฐ๋ ์ด ์ ํ ์๋๊ณ , ์๋ก ๋ค๋ฅธ ๋ค์์คํ์ด์ค์ด๋ฏ๋ก, ๋ณ์๋ ๋ฉ์๋ ๊ณต์ X
๐274p. ๋ธ๋ผ์ฐ์ ์์ ๋ค์์คํ์ด์ค ๋ชจ๋ ํธ์ถ
๋ค์์คํ์ด์ค๊ฐ ๊ฒฐ๊ตญ js์๋ ์๋ ๊ฐ๋ ์ผ๋ก, ์์๋๋ก js ์คํฌ๋ฆฝํธ ํธ์ถํด์ ์ฌ์ฉํด์ผํ๋ค๋ ๊ฒ ๊ฐ์
๐276p. ๋ชจ๋ ์ฌ์ฉ๋ฒ
๊ฐ๋ณ export
1 | export interface ICar {} |
1 | import { ICar, Test } from '../to/path'; |
ํจ๊ป export
1 | let ver: string = `1.0`; |
1 | import { ver, display } from '../to/path'; |
๋ชจ๋ export
1 | export let ver: string = `1.0`; |
1 | import * as m from './to/path' |
๋ชจ๋ ์ฌ๋ ธ์ถ
1 | export * from '../to/path'; |
1 | import * as m from './to/path'; |
๋ชจ๋ ํ์ผ์ ๊ฐ์ ธ์์ ๋ค์ export
ํ๋ ์์, ์ต์์์ ๋ชจ๋์์ ๋ง์ด ์ฌ์ฉ๋จ
๐281p. โ ๋ค์์คํ์ด์ค๋ก ๊ฐ์ธ์ ์ฌ๋ ธ์ถ
namepsace ๊ฐ class๋ณด๋ค ์์์ ๊ฐ๋ ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ธ์ ๋ ธ์ถํ๋ฉด ํธํ ๊ฒ ๊ฐ๋ค
1 | // car-info.module.ts <- ๋ชจ๋ ํ์ผ ๋ช ๋ช ๋ฒ |
1 | import { CarInfo } from './car-info.module'; |
๐283p. ๋ํดํธ ๋ฌด๋ฒ
export-equals, import-equals ๋ฌธ
default
์ด์ ์ ์ฌ์ฉ๋ฌ๋ ๋ฐฉ์์ธ ๊ฒ ๊ฐ์๋ฐ, ๋ชฐ๋๋ ๋ถ๋ถ - ๊ฐ๋ ๋ค๋ฅธ ํ๋ก์ ํธ์์ ์ข ์ข ๋ณด์๋๋ฐ ์ด๋ฐ ์๋ฏธ์๊ตฌ๋
1 | export = Chart; |
2
1 | import Validator from './validator'; |
์ฃผ์์ฌํญ
๋ชจ๋ ํ๋๋น default
๋ ํ๋๋ง ์ ์ธ ๊ฐ๋ฅ
๐289 ~ 313p. ๋ชจ๋์์คํ ์๋ต
๋ชจ๋ ์์คํ ์ ๊ฐ ํํธ๋ง๋ค ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์น๊ฐ๋ฐ์๋ผ๋ฉด ES2015๋ชจ๋์, Node.js๊ฐ๋ฐ์๋ผ๋ฉด CommonJs ๋ชจ๋ ํ์์ ๊ธฐ๋ณธ์ผ๋ก ์๊ณ , ๋๋จธ์ง๋ ์ํฉ์ ๋ฐ๋ผ ์์์ผํ ๊ฒ ๊ฐ๋ค
์ฐธ๊ณ ๋งํฌ
์ฑ ์ ์ด๋ก ์ ์ธ ๋ถ๋ถ์ผ๋ก ๋ง์ด ์ค๋ช ๋์ด์์ด, ์ค์ ์์๋ ์ด๋ป๊ฒ ์ฌ์ฉ๋๊ณ , ๋ ์ถ๊ฐ์ ์ธ ๋ด์ฉ์ ์ฐพ์๋ด
- ํ์ ์คํฌ๋ฆฝํธ ์ปดํ์ผ๋ฌ๊ฐ ๋ชจ๋ ํ์ ์ ์ธ์ ์ฐธ์กฐํ๋ ๊ณผ์
- d.ts แแ กแซแแ ณแฏแแ ต - ๊ฐ์ธ์ ์ผ๋ก ๋ช๋ช ๋ถ๋ถ์ด ์๋ชป? ์ดํด๊ฐ ์๋๋ ๋ถ๋ถ ์กด์ฌ
- ํ์ ์คํฌ๋ฆฝํธ ์ ํ ํ๊ธฐ - import, export - global๋ก ์ ์ธํ๋๊ฑด ๋ง๋์ง ๋ชจ๋ฅด๊ฒ ๋ ๋ถ๋ถ
- Chart.js์ ํ์ ์ ์
- ์ ์ ํ์ดํ
- TypeScript - ๋จ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ธ ๋ d.ts ํ์ผ์ด ์๋ ๊ฒฝ์ฐ