๐Ÿง‘‍๐Ÿ’ป ์งง์€ํ˜ธํก/JS·TS

[์ดํŽ™ํ‹ฐ๋ธŒ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ] ํƒ€์ž… ์ถ”๋ก ๊ณผ ํƒ€์ž… ๋„“ํžˆ๊ธฐ

ํ•œ๊ทœ์ง„ 2023. 5. 5. 16:39

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ฒฐ๊ตญ ํƒ€์ž…์„ ์œ„ํ•œ ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ๋งˆ๋‹ค ํƒ€์ž…์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์˜ ๋งŽ์€ ํƒ€์ž… ๊ตฌ๋ฌธ์€ ์‚ฌ์‹ค ๋ถˆํ•„์š”ํ•˜๋‹ค.

์ด๋ ‡๊ฒŒ ์•„๋ฌด ์ƒ๊ฐ์—†์ด ๋ช…์‹œํ–ˆ๋˜ ํƒ€์ž…๋“ค์ด ์žˆ๋‹ค. ํ•˜์ˆ˜์˜ ์ฝ”๋“œ. ํƒ€์ž… ์ถ”๋ก ์ด ๋œ๋‹ค๋ฉด ๋ช…์‹œ์  ํƒ€์ž… ๊ตฌ๋ฌธ์€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค. ์˜คํžˆ๋ ค ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง€๊ณ  ๊ฐ€๋…์„ฑ์ด ์•ˆ์ข‹์•„์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—.

ํ•˜์ง€๋งŒ ํƒ€์ž…์ด ์ถ”๋ก ๋  ์ˆ˜ ์žˆ์Œ์—๋„ ํƒ€์ž…์„ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์€ ๋ช‡๊ฐ€์ง€ ์ƒํ™ฉ๋“ค์ด ์žˆ๋‹ค. ๋” ์ •ํ™•ํ•œ ์œ„์น˜์— ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

  • ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด์„ ์ •์˜ํ•  ๋•Œ
  • ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ๋ช…์‹œํ•  ๋•Œ

ํƒ€์ž… ๋„“ํžˆ๊ธฐ

let ์œผ๋กœ ์„ ์–ธํ•˜๋Š” ๊ฒฝ์šฐ. ๊ฐ’์ด ์žฌํ• ๋‹น๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ ์ฒ˜์Œ ์ดˆ๊ธฐํ™”ํ•œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ํ• ๋‹น ๊ฐ€๋Šฅํ•œ ๊ฐ’๋“ค์˜ ์ง‘ํ•ฉ์„ ์œ ์ถ”ํ•ด์•ผ ํ•จ.
์–ด๋Š์ •๋„ ๊ฐ€๋Šฅ์„ฑ์„ ์—ด์–ด์ฃผ๊ธฐ ์œ„ํ•ด์„œ ํƒ€์ž… ๋„“ํžˆ๊ธฐ๋ฅผ ํ•œ๋‹ค.

 

ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ

  • ๋ช…์‹œ์  ํƒ€์ž… ๊ตฌ๋ฌธ
  • ์ถ”๊ฐ€์ ์ธ ๋ฌธ๋งฅ ์ œ๊ณต (ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ. ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํƒ€์ž…์ด ์ง€์ •๋˜์–ด ์žˆ๋‹ค๋ฉด ๊ทธ๊ฑธ๋กœ ๋˜๋‹ˆ๊นŒ) ->26
  • const ๋‹จ์–ธ๋ฌธ ์‚ฌ์šฉ (as const) -> ์ตœ๋Œ€ํ•œ ์ข์€ ํƒ€์ž…์œผ๋กœ ์ถ”๋ก ํ•จ
    • ํƒ€์ดํ•‘์„ํ• ๋•Œ ๋ฆฌํ„ฐ๋Ÿด ํƒ€์ž…์œผ๋กœ ๋ณด๋Š”๊ฑฐ์•ผ
    • ๊ฐ์ฒด์˜ ๊ฒฝ์šฐ์—๋Š” readonly ๋ณ€์ˆ˜๋กœ ์ถ”๋ก 

 

type Language = 'Javascript' | 'Typescript' | 'Python';
function setLanguage(language: Language){/* ... */}

let language = 'Javascript';
setLanguage(language);     // 'string' ํ˜•์‹์˜ ์ธ์ˆ˜๋Š” 
                           // 'Langugae' ํ˜•์‹์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์— ํ• ๋‹น๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค

let ๋ณ€์ˆ˜๋กœ ๋ถ„๋ฆฌํ•˜๋ฉด, ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ํ• ๋‹น ์‹œ์ ์— ํƒ€์ž…์„ ์ถ”๋ก ํ•œ๋‹ค. ํƒ€์ž… ๋„“ํžˆ๊ธฐ๊ฐ€ ์ ์šฉ๋˜์–ด์„œ string ํƒ€์ž…์œผ๋กœ ์ถ”๋ก ํ•˜๊ฒŒ ๋œ๋‹ค. stringํƒ€์ž…์€ Language ํƒ€์ž…์— ํ• ๋‹น ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

๋ช…์‹œ์  ํƒ€์ž… ๊ตฌ๋ฌธ

let language: Language = 'JavaScript'

ํƒ€์ž… ์„ ์–ธ์—์„œ language์˜ ๊ฐ€๋Šฅํ•œ ๊ฐ’์„ ์ œํ•œํ•œ๋‹ค.

 

์ถ”๊ฐ€์ ์ธ ๋ฌธ๋งฅ ์ œ๊ณต

setLanguage('Javascript')

์ธ๋ผ์ธ ํ˜•ํƒœ์—์„œ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ํ•จ์ˆ˜ ์„ ์–ธ์„ ํ†ตํ•ด ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ Language ํƒ€์ž…์ด์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ 'Javascript' ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์€ ํ• ๋‹น ๊ฐ€๋Šฅํ•˜๋‹ค.

 

const ๋ณ€์ˆ˜๋กœ ์„ ์–ธ

const language = 'Javascript

ํƒ€์ž…์ฒด์ปค์—๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๊ฐ’์ด๋ผ๊ณ  ์•Œ๋ ค์ค€๋‹ค. ๋”ฐ๋ผ์„œ ๋” ์ •ํ™•ํ•œ ํƒ€์ž…์ธ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด๋กœ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.

 


 

ํƒ€์ž… ์ขํžˆ๊ธฐ

  • null ๊ฑธ๋Ÿฌ์ฃผ๊ธฐ
  • ํƒ€์ž… ๊ฐ€๋“œ
  • ํƒ€์ž…์— ๋ช…์‹œ์  ํƒœ๊ทธ ์‚ฌ์šฉ