- 1. 6์ฅ ํจ์ ๋ชฉ์ฐจ
- 2. ๐p151. ํจ์ (Js vs Ts ๋น๊ต)
- 3. ๐p156. ๋งค๊ฐ๋ณ์ ์ด๊ธฐ๊ฐ
- 4. ๐p159. ๋๋จธ์ง ๋งค๊ฐ๋ณ์
- 5. ๐p162. ์ ํ ๋งค๊ฐ๋ณ์
- 6. ๐p164. ํจ์ ์ค๋ฒ๋ก๋
- 7. ๐p170. ํ์ดํ ํจ์ ์ ์์
- 8. ๐p171. filter, reduce
- 9. ๐p173. ๊ฐ์ฒด ๋ฆฌํฐ๋ด ์ ์ธ
- 10. ๐p177. type ๋ช ๋ช ๋ฒ
- 11. ๐p179. jquery -> VanillaJS
- 12. ๐ 180. ์ฝ๋ฐฑํจ์์ ๋ค๋ฅธ ์์(ex. Chrome API)
๐ Quick Start Typescript ์ ์ฝ๊ณ , ๊ฐ๋จํ ๋ชฐ๋๋ ๋ถ๋ถ์ด๋ ์ค์ํ๋ค๊ณ ์๊ฐ๋๋ ๋ถ๋ถ์ ์์ฑํ์ต๋๋ค.
6์ฅ ํจ์ ๋ชฉ์ฐจ
- ์ฌ์ฉ๋ฒ (Js vs Ts ๋น๊ต)
- ๋งค๊ฐ๋ณ์
- ์ด๊ธฐ๊ฐ ์ง์
...rest
๋งค๊ฐ๋ณ์- ์ ํ ๋งค๊ฐ๋ณ์ ์ง์
- ์ค๋ฒ๋ก๋
- ์ต๋ช
ํจ์
- ํ์ดํ ํจ์
- ํ์ ์ ์ธ
- ์ฝ๋ฐฑ ํจ์
๐p151. ํจ์ (Js vs Ts ๋น๊ต)
js์ ๊ฒฝ์ฐ
1 | function max(x, y) { |
๊ฒฐ๊ณผ
ts์ ๊ฒฝ์ฐ
1 | function max(x: number, y: number): number { |
๊ฒฐ๊ณผ
๐p156. ๋งค๊ฐ๋ณ์ ์ด๊ธฐ๊ฐ
ES6๋ถํฐ ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์ง์ ๋ฐ์ง ์์๋, ์ด๊ธฐ๊ฐ์ผ๋ก ๊ฐ์ ์ง์ ํด์ค ์ ์๊ฒ๋จ
์ฝ๋๋ ๊ฐ๊ฒฐํด์ง๊ณ complexity๋ ๋ฎ์์ง
ES6 ์ด์
1 | function test(param) { |
ES6 ์ดํ
1 | function test(param = `์ด๊ธฐ๊ฐ`) { |
๐p159. ๋๋จธ์ง ๋งค๊ฐ๋ณ์
ES6๋ถํฐ ์๊ธด ๊ธฐ๋ฅ, ์ ์๋์ง ์์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ๊ธฐ ํธํด์ง
ES6 ์ด์
arguments
๋ ์ ์ฌ์ฉํ์ง ์๋ ๋ฐฉ์์ผ๋ก ์๋ ค์ง (๋ณด์)
1 | function test() { |
ES6 ์ดํ
1 | function test(...args) { |
๋๋จธ์ง ๋งค๊ฐ๋ณ์ ํ์ ์ง์ ๋ฒ
๋๋จธ์ง ๋งค๊ฐ๋ณ์๋ ํ์ ์ง์ ์ด ๊ฐ๋ฅํ ๊ฒ์ ์ฒ์ ์์๋ค
1 | // ์ฒ์ 1๊ฐ ๊ฐ์ ์ง์ ํ๋ฉด, concat()๊ฐ์ด ์๋ฌด๊ฒ๋ ๋ฐ์ง์์์ ๋๋ ์ ํจํ์ง์์ |
๐p162. ์ ํ ๋งค๊ฐ๋ณ์
js์ ๊ฒฝ์ฐ
1 | function sum(a, b) { |
ts
1 | function sum(a: number, b?: number): number { |
๐p164. ํจ์ ์ค๋ฒ๋ก๋
์ ๋ชฐ๋๋ ๋ถ๋ถ
ํจ์๋ช ์ ๊ฐ์ง๋ง, ๋งค๊ฐ๋ณ์์ ๋ฐํ ํ์ ์ด ๋ค๋ฅธ ์ฌ๋ฌ๊ฐ์ ํจ์๋ฅผ ์ ์ธ ๊ฐ๋ฅ, ๋ฐํ์ ๋น์ฉ์ด ๋ณ๋ ์ถ๊ฐ๋์ง ์์
๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ํ์
์ ๊ฐ์ฅ ์๋์ ์ ์ธ(ex. any
๊ฐ ๊ฐ์ฅ ์๋), ์์ผ ์๋ก ๊ตฌ์ฒด์ (์์ ์ค์!)
1 | function add(a: string, b: string); |
๐p170. ํ์ดํ ํจ์ ์ ์์
1 | // bad case |
๐p171. filter, reduce
๐p173. ๊ฐ์ฒด ๋ฆฌํฐ๋ด ์ ์ธ
๊ฐ์ธ์ ์ผ๋ก ๊ฐ์ฒด ์งํฅ์ ์ผ๋ก ์งค ๋ ์ข์ ์ฝ๋ฉ ์คํ์ผ์ด๋ผ๊ณ ์๊ฐ๋๋ ๋ฌธ๋ฒ
1 | let person = { |
์ฃผ์์ฌํญ
function
์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ this.name
์ ์ฌ์ฉํ ์ ์์๋ ๋ถ๋ถ
๋ง์ฝ ํ์ดํ ํจ์๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์ด๋ ๊ฒ ๋ฐ ๊ฒ ์ด๋ค. (ํ์ฌ๋ this๊ฐ์ด window(์ต์์)๋ก ์ก์ ์ผ์ด์ค)
Typescript์์ this
ํ์
์ ์ธ
์ ๋ชฐ๋๋ ๋ถ๋ถ
1 | interface PersonType { |
๐p177. type
๋ช
๋ช
๋ฒ
type
๋ ๋๋ฌธ์๋ก ์์, ์ฑ ์ ์๋ฌธ์๋ก ์์๋์ ์ด์ํด์ ๋ ํผ๋ฐ์ค๋ฅผ ์ฐพ์๋ด๋๋ฌธ์๋ก ์์ํ๋๊ฒ ํ์ค ์ผ์ด์ค์ธ ๊ฒ ๊ฐ์
1 | type calcType = (a: number, b: number) => number; |
๐p179. jquery -> VanillaJS
์โฆ ์ ๊ตณ์ด ์์๋ฅผ Jquery๋ก ๋ค์๋์ง ๋ชฐ๋ผ์ ์์ฑ
Jquery
1 | $(`#myButton`).click(function() { |
js
1 | document.querySelector(`#myButton`).addEventListener(`click`, () => { |
๐ 180. ์ฝ๋ฐฑํจ์์ ๋ค๋ฅธ ์์(ex. Chrome API)
Promise, async/ await ์ผ๋ก ๋ฐ๋๋ ์ถ์ธ์ด์ง๋ง, ์์ง๋ ๋ง์ ๋ถ๋ถ์ callback ํจ์๊ฐ ๋จ์์๋ค.