TypeScript κΈ°λ³Έ νƒ€μž…

πŸ“„ TS κΈ°λ³Έ νƒ€μž…

νƒ€μž…μ΄λž€ μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ λ‹€λ£¨λŠ” κ°’μ˜ ν˜•νƒœμ— λŒ€ν•œ μ„€λͺ…μž…λ‹ˆλ‹€.
νƒ€μž…μŠ€ν¬λ¦½νŠΈμ—μ„œμ˜ κ°€μž₯ 기본적인 νƒ€μž…μ€ μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ 7가지 κΈ°λ³Έ μ›μ‹œνƒ€μž…κ³Ό λ™μΌν•©λ‹ˆλ‹€.

  • null
  • undefined
  • boolean
  • string
  • number
  • bigint
  • symbol

πŸ“„ νƒ€μž… μ• λ„ˆν…Œμ΄μ…˜ (type annotation)

νƒ€μž… μ• λ„ˆν…Œμ΄μ…˜μ€ λ³€μˆ˜μ— μ΄ˆκΉƒκ°’μ„ ν• λ‹Ήν•˜μ§€ μ•Šκ³ λ„ λ³€μˆ˜μ˜ νƒ€μž…μ„ μ„€μ •ν•  수 μžˆλŠ” λ°©λ²•μž…λ‹ˆλ‹€.
λ³€μˆ˜μ— μ΄ˆκΉƒκ°’μ„ ν• λ‹Ήν•œλ‹€λ©΄, νƒ€μž…μŠ€ν¬λ¦½νŠΈλŠ” μžλ™μœΌλ‘œ νƒ€μž…μ„ μΆ”λ‘ ν•©λ‹ˆλ‹€.

let user = "sujin";

이 μ½”λ“œμ—μ„œ νƒ€μž…μ„ 직접 μ•Œλ €μ£Όμ§€ μ•Šμ•„λ„ νƒ€μž…μŠ€ν¬λ¦½νŠΈλŠ” νƒ€μž… μ‹œμŠ€ν…œμ„ 톡해 userκ°€ stringνƒ€μž…μ΄λΌλŠ” 것을 μΆ”λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
ν•˜μ§€λ§Œ, μ΄ˆκΉƒκ°’μ΄ μ—†λŠ” κ²½μš°μ—λŠ” νƒ€μž…μ„ μΆ”λ‘ ν•  수 μ—†μ–΄ μžλ™μœΌλ‘œ anyνƒ€μž…μœΌλ‘œ κ°„μ£Όν•©λ‹ˆλ‹€.
μ΄λ ‡κ²Œ μ΄ˆκΈ°μ— νƒ€μž…μ„ μœ μΆ”ν•  수 μ—†λŠ” λ³€μˆ˜λ₯Ό μ§„ν™”ν•˜λŠ” any라고 λΆ€λ¦…λ‹ˆλ‹€.

let user; // νƒ€μž…: any
user = "sujin";

user.toUpperCase(); // ok

user = 28; // νƒ€μž…: number둜 진화!
user.toPrecision(1); // ok

user.toUpperCase(); // Error. 'toUpperCase' does not exist on type 'number'.

user의 νƒ€μž…μ΄ any - string - number둜 μ§„ν™”ν–ˆμŠ΅λ‹ˆλ‹€.
λ§ˆμ§€λ§‰μœΌλ‘œ μ§„ν™”λœ νƒ€μž…μ΄ number이기 λ•Œλ¬Έμ— toUpperCaseλ©”μ†Œλ“œλ₯Ό ν˜ΈμΆœν•˜λ©΄ μ—λŸ¬λ₯Ό λ‚΄λ±‰μŠ΅λ‹ˆλ‹€.
μ΄λ ‡κ²Œ νƒ€μž…μ΄ 계속 λ³€ν™”ν•˜λ©΄ ν•΄λ‹Ή λ³€μˆ˜κ°€ μ–΄λ–€ νƒ€μž…μ„ 가지고 μžˆλŠ”μ§€ 확정지을 수 μ—†κ³ , μ—λŸ¬λ₯Ό μœ λ°œν•΄ νƒ€μž…μŠ€ν¬λ¦½νŠΈλ₯Ό μ‚¬μš©ν•˜λŠ” 이유λ₯Ό μ†μƒμΌ€ν•©λ‹ˆλ‹€.

νƒ€μž… μ• λ„ˆν…Œμ΄μ…˜μ€ λ³€μˆ˜μ˜ μ΄ˆκΉƒκ°’μ„ ν• λ‹Ήν•˜μ§€ μ•Šμ•˜μ„ λ•Œ, νƒ€μž…μ„ 확정지을 수 있게 ν•©λ‹ˆλ‹€.

let user: string;
user: "sujin";

πŸ“Œ νƒ€μž… μ• λ„ˆν…Œμ΄μ…˜μ€ νƒ€μž…μŠ€ν¬λ¦½νŠΈμ—λ§Œ μ‘΄μž¬ν•˜λ©° 컴파일 λ˜μ—ˆμ„ λ•Œ μžλ°”μŠ€ν¬λ¦½νŠΈλ‘œ λ³΅μ‚¬λ˜μ§€ μ•Šμ•„ μžλ°”μŠ€ν¬λ¦½νŠΈμ— 아무 영ν–₯을 주지 μ•ŠμŠ΅λ‹ˆλ‹€.

πŸ“Œ νƒ€μž…μ„ μ¦‰μ‹œ μœ μΆ”ν•  수 μžˆλŠ” λ³€μˆ˜μ— νƒ€μž… μ• λ„ˆν…Œμ΄μ…˜μ„ μ„€μ •ν•˜λ©΄ 쀑볡 μ„€μ •μž…λ‹ˆλ‹€.

let user: string = "sujin";

좜처

Leave a comment