[ν•œμž…] πŸ“’Day2 Quiz

TKΒ·2023λ…„ 12μ›” 6일
0

Quiz 1.

κ΄€λ ¨ μˆ˜μ—… : (1μ„Ήμ…˜) JS의 단점과 TS의 μž₯점

정적 νƒ€μž…μ‹œμŠ€ν…œκ³Ό 동적 νƒ€μž… μ‹œμŠ€ν…œμ˜ 단점듀은 λ³΄μ™„ν•˜κ³  μž₯점듀은 κ·ΈλŒ€λ‘œ κ°€μ Έμ˜¨ TypeScript의 νƒ€μž… μ‹œμŠ€ν…œμ„ 뭐라고 λΆ€λ₯ΌκΉŒμš”? λ‚˜μ€‘μ— μ„œμΉ­ν•˜κΈ° νŽΈν•˜κ²Œ μ˜λ¬ΈμœΌλ‘œλ„ μ μ–΄λ³΄μ•„μš”!

✏️ 점진적 νƒ€μž… μ‹œμŠ€ν…œ (Gradual Type System)

Quiz 2.

κ΄€λ ¨ μˆ˜μ—… : (1μ„Ήμ…˜) JS의 단점과 TS의 μž₯점

TypeScript의 νƒ€μž… μ‹œμŠ€ν…œμ΄ κ°–λŠ” νŠΉμ§•μ—λŠ” μ–΄λ–€ 점이 μžˆμ„κΉŒμš”?
λ°”λ‘œ λ”± λ– μ˜€λ₯΄λŠ” ν•œκ°€μ§€ νŠΉμ§•λ§Œ μ μ–΄μ£Όμ„Έμš”!
κ°•μ˜ λ‚΄μš©μ— μ—†μ—ˆλ”λΌλ„ λ‹€λ₯Έ λΈ”λ‘œκ·Έ, μ•„ν‹°ν΄μ—μ„œ 찾은 정보λ₯Ό 적어주셔도 μ’‹μ•„μš”!

✏️ 컴파일 전에 였λ₯˜λ₯Ό λ°©μ§€ν•œλ‹€.

πŸ‘‰ λ‹€λ₯Έ λ‹΅λ³€
μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ 경우 인터프리터 μ–Έμ–΄λ‘œ λŸ°νƒ€μž„ λ‹¨κ³„μ—μ„œ 였λ₯˜κ°€ 발견이 λ˜λŠ”λ°μ— λ°˜ν•΄ νƒ€μž…μŠ€ν¬λ¦½νŠΈ(컴파일 μ–Έμ–΄)λŠ” 컴파일 λ‹¨κ³„μ—μ„œ νƒ€μž…μ„ κ²€μ‚¬ν•˜κΈ° λ•Œλ¬Έμ— 사전에 였λ₯˜ 발견이 κ°€λŠ₯ν•˜λ‹€

Quiz 3.

κ΄€λ ¨ μˆ˜μ—… : (1μ„Ήμ…˜) νƒ€μž…μŠ€ν¬λ¦½νŠΈμ˜ λ™μž‘ 원리

TypeScriptλ₯Ό 컴파일 ν•˜λ©΄ κ·Έ 결과둜 무엇이 μƒμ„±λ˜λ‚˜μš”?
(힌트! TypeScriptλŠ” λ‹€λ₯Έ μ–Έμ–΄λ“€κ³ΌλŠ” 달리 컴파일 κ²°κ³Ό ByteCodeκ°€ μƒμ„±λ˜μ§€ μ•Šμ•„μš”)

✏️ js파일

πŸ‘‰ λ‹€λ₯Έ λ‹΅λ³€
ts -> AST(좔상 문법 트리) -> νƒ€μž… 검사(Type Checking) -> js

Quiz 4.

κ΄€λ ¨ μˆ˜μ—… : (1μ„Ήμ…˜) νƒ€μž…μŠ€ν¬λ¦½νŠΈ 컴파일러 μ˜΅μ…˜ μ„€μ •ν•˜κΈ°

νƒ€μž…μŠ€ν¬λ¦½νŠΈλŠ” μ‚¬μš©μž(ν”„λ‘œκ·Έλž˜λ¨Έ)κ°€ 직접 컴파일러 μ˜΅μ…˜μ„ μ„€μ •ν•  수 μžˆλŠ” μžμœ λ‘œμ›€μ„ μ œκ³΅ν•΄μš”
λ”°λΌμ„œ μš°λ¦¬κ°€ tsconfig.json 파일의 λ‚΄μš©μ„ μˆ˜μ •ν•˜λ©΄μ„œ 이런 μ €λŸ° μ˜΅μ…˜μ„ μ„€μ •ν•  수 μžˆλŠ”λ°μš”
이 νŒŒμΌμ—μ„œ νƒ€μž… 검사λ₯Ό 맀우 μ—„κ²©ν•˜κ²Œ ν•˜λ €λ©΄ μ–΄λ–€ μ˜΅μ…˜μ„ μ–΄λ–€ κ°’μœΌλ‘œ μ„€μ •ν•΄μ•Ό ν• κΉŒμš”?

ex) μ˜΅μ…˜μ΄λ¦„ : μ„€μ • κ°’

✏️ "strict": true

Quiz 5.

μ•„λž˜ μ½”λ“œμ²˜λŸΌ number νƒ€μž…μ˜ λ³€μˆ˜μ— null 값을 ν• λ‹Ήν•˜λ €κ³  ν•΄μš”

let numA: number = null; // ❌ 였λ₯˜ λ°œμƒ!
이 μ½”λ“œλŠ” μ—„κ²©ν•œ νƒ€μž… 검사가 ν™œμ„±ν™” λ˜μ–΄ μžˆμ„ λ•Œμ—λŠ” 였λ₯˜λ‘œ νŒλ‹¨λ˜λŠ”λ°μš”
λ§Œμ•½ μœ„ μ½”λ“œλ₯Ό 였λ₯˜κ°€ μ•„λ‹Œ κ²ƒμœΌλ‘œ νŒλ‹¨ν•˜κ²Œ ν•˜λ €λ©΄ μ–΄λ–€ μ˜΅μ…˜μ„ μ–΄λ–€ κ°’μœΌλ‘œ μ„€μ •ν•΄μ•Ό ν• κΉŒμš”?

ex) μ˜΅μ…˜μ΄λ¦„ : μ„€μ • κ°’

✏️ "strictNullChecks": false


문제λ₯Ό λ‹€ ν’€κ³  λ‹€λ₯Έ μˆ˜κ°•μƒλ“€μ˜ 닡변을 λ³΄μ•˜λŠ”λ°
훨씬 λ””ν…ŒμΌν•˜κ²Œ 적어낸 것을 보고 'μ΄λ ‡κ²Œ κ³΅λΆ€ν•΄μ•Όν•˜λŠ”κ΅¬λ‚˜' μ‹Άμ—ˆλ‹€πŸ˜²

profile
μ‰¬μš΄κ²Œ 쒋은 FE개발자😺

0개의 λŒ“κΈ€