🟦 [TypeScript] νƒ€μž…μŠ€ν¬λ¦½νŠΈ νƒ€μž…

μ΄μ§€ν™˜Β·2022λ…„ 3μ›” 21일

TypeScript

λͺ©λ‘ 보기
3/3
post-thumbnail

πŸ’‘ λ“€μ–΄κ°€κΈ° μ•žμ„œ

  • TypeScriptλŠ” javascript 기반의 ν™•μž₯ μŠˆνΌμ…‹(Superset)μ–Έμ–΄λ‘œ κΈ°λ³Έ JSμ—μ„œ μ œκ³΅ν•˜λŠ” νƒ€μž…μ— TS νƒ€μž…μ΄ 쑰금 더 μΆ”κ°€λ˜λŠ” 방식이닀.

πŸ“Œ The primitives : κΈ°λ³Έ νƒ€μž…

β†ͺ Any Type

  • Any : Dynamic Type λͺ¨λ“ νƒ€μž… ν—ˆμš©, νƒ€μž…μ— μ œν•œμ΄ μ—†μŒ.
  • Any νƒ€μž…μ€ μ•„λ¬΄λŸ° κΈ°λŠ₯도 μ œκ³΅ν•˜μ§€ λͺ»ν•˜λ―€λ‘œ TSλ₯Ό μ‚¬μš©ν•˜λŠ” μ˜λ―Έκ°€ μ—†μ–΄μ§„λ‹€.
  • 잘λͺ»λœ λ³€μˆ˜μ˜ μ‚¬μš©λ„ μž‘μ•„μ£Όμ§€ λͺ»ν•˜λ©° μ‹€ν–‰ 쀑 μ—λŸ¬κ°€ λ°œμƒν•  수 μžˆλ‹€.
let typeAny: any = "any" + 1;
// 무엇이든 κ°’ 할당이 κ°€λŠ₯ν•˜κ³  μ—λŸ¬λ„ λ‚˜μ§€ μ•ŠλŠ”λ‹€.
typeAny = 2;
typeAny = true;
typeAny = null;

// νƒ€μž… 검사λ₯Ό ν•˜μ§€ μ•ŠκΈ°λ•Œλ¬Έμ— μ—°μ‚°μž μ‚¬μš©λ„ κ°€λŠ₯ν•˜λ‹€.
// λŸ°νƒ€μž„μ— μ—λŸ¬λ₯Ό λ„μ›Œμ€€λ‹€.
typeAny + 1

β†ͺ Unknown Type

  • Unknown : Any와 λ§ˆμ°¬κ°€μ§€λ‘œ λͺ¨λ“  νƒ€μž…μ„ ν—ˆμš©ν•œλ‹€. 단, Anyμ™€λŠ” λ‹€λ₯΄κ²Œ νƒ€μž…μ„ μ—„κ²©ν•˜κ²Œ 검사해 μ—λŸ¬λ₯Ό λ„μ›Œμ€€λ‹€.
  • Unknown은 νƒ€μž…κ²€μ‚¬λ₯Ό μ§„ν–‰ν•΄ μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.
  • Unknown Anyλ³΄λ‹€λŠ” Unknown을 μ‚¬μš©ν•˜λŠ”κ²Œ 더 μ’‹λ‹€!
let typeUnknown: unknown;
// ν•΄λ‹Ή λ³€μˆ˜λŠ” Any와 같이 λͺ¨λ“  νƒ€μž…μ„ 넣을 수 μžˆλ‹€.
typeUnknown = 'string';
typeUnknown = 1

typeUnknown + 1 // Error
// μ΄λŸ°μ‹μœΌλ‘œ νƒ€μž…μ„ κ²€μ¦ν•˜μ—¬ μ‚¬μš©ν•˜μ—¬μ•Ό ν•œλ‹€.
typeof typeUnknown === "number" ? typeUnknown + 1 : false
profile
λˆ„κ΅¬λ‚˜ μ›ν•˜λŠ” μ‚¬λžŒ 되기🀧 μ£Όλ‹ˆμ–΄ λ°±μ—”λ“œ 개발자의 log

0개의 λŒ“κΈ€