[Language/TypeScript]가변적 데이터 νƒ€μž…

2023. 7. 26. 14:29γ†πŸ”€ Language/TypeScript

μ •μ˜: data의 νƒ€μž…μ„ μ •ν™•ν•˜κ²Œ μ§€μ •ν•˜μ§€ λͺ»ν•  λ•Œ 상황에 따라 λ³€ν•˜λ„λ‘ μ§€μ •.

μ’…λ₯˜

  • any: μ–΄λ– ν•œ νƒ€μž…μ΄λ“  할당이 κ°€λŠ₯함. κ·ΈλŸ¬λ‚˜ μ•ˆμ •μ„±μ„ μœ„ν•΄ type을 μ§€μ •ν•˜λŠ” TS의 μ‘΄μž¬μ„±μ— μœ„λ°°λ˜κΈ°μ— 가급적 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것이 μ’‹μŒ
  • unknown: anyλ₯Ό λŒ€μ²΄ν•  수 μžˆλŠ” 쑰금 더 μ•ˆμ •μ„±μ„ 확보할 수 μžˆλŠ” 가변적 데이터 νƒ€μž…
    • Type Assertion(νƒ€μž…λ‹¨μ–Έ)으둜 μž¬ν• λ‹Ή κ°€λŠ₯
let unkonwValue: unknown = 'unknownValue'

let stringValue: string;
stringValue = unknownValue; // Error
stringValue = unknownValue as string; // 'unknownValue'
  • union: unknown은 μž¬ν• λ‹Ή κ³Όμ •μ—μ„œλ§Œ νƒ€μž… μ•ˆμ •μ„±μ„ 일뢀 보μž₯ν•˜λŠ” ν•œκ³„κ°€ 있음. union은 μ²˜μŒλΆ€ν„° data의 νƒ€μž…μ„ λͺ‡κ°œμ€‘ ν•˜λ‚˜λ‘œ 지정함
type StringOrNumber = string | number | boolean