๐ก ํ์ ์คํฌ๋ฆฝํธ๋?
ํ์ ์คํฌ๋ฆฝํธ๋ ์์๋ค์ํผ(?) ์ ์ ํ์ ์ ๋ช ์ํด์ค ์ ์๋ ํน์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ณ์, ๋งค๊ฐ๋ณ์ ๋ฐ ํจ์์ ํ์ ์ ๋ช ์์ ์ผ๋ก ์ ์ธํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๊ฐ ์๋ํ ๋ชฉ์ ์ ๋์ฑ ๋ช ํํ๊ฒ ์ ๋ฌํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ํ์ ์คํฌ๋ฆฝํธ์์ ๋ค๋ฃจ๋ 'ํ์ '์ ์ข ๋ฅ์๋ ์ด๋ค๊ฒ๋ค์ด ์์๊น์?
๐ก ํ์ ์ ์ข ๋ฅ
ํ์ ์คํฌ๋ฆฝํธ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํ์ ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ผ๊ณฑ ๊ฐ์ง ๊ธฐ๋ณธ ์์ํ์ ๊ณผ ๋์ผํฉ๋๋ค.
null, undefined, boolean, string, number, bigint, symbol
ํ์ ์คํฌ๋ฆฝํธ๋ ์ด๊น๊ฐ์ ๊ฐ๊ณ ์๋ ๋ณ์์ ํ์ ์ ์ ์ถํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ์๋์ ๊ฐ์ ๋ณ์ ์ ์ธ์๋ ๊ตณ์ด ํ์ ์ ์ง์ ํด์ฃผ์ง ์์๋, ํ์ ์คํฌ๋ฆฝํธ๊ฐ ํ์ ์ string์ผ๋ก ์ถ๋ก ํ๊ณ ์ดํดํฉ๋๋ค.
let singer = "Insoone";
๋ํ ํ์ ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด์ ์ด๋ค ๋ฉค๋ฒ ์์ฑ์ด ์กด์ฌํ๋์ง ์๊ณ ์๊ธฐ ๋๋ฌธ์, ์ด๋ค ๋ณ์๊ฐ 'string' ํ์ ์ ๊ฐ์ก๋ค๋ฉด 'string' ํ์ ์์ ์๋ํ์ง ์๋ ์์ ์ ํ์ฉํ์ง ์์ต๋๋ค.
์๋ฅผ๋ค์ด, ์๋ ์ฝ๋์ ๊ฐ์ด flower ๋ณ์๋ string ํ์ ์ด๊ณ , length ์์ฑ์ ์ฌ์ฉํ ์ ์์ง๋ง push๋ ๋ฐฐ์ด์ ์๋ก์ด ์์๋ฅผ ์ถ๊ฐํ ๋ ์ฌ์ฉ๋๋ฏ๋ก ์๋ฌ๊ฐ ๋จ๊ฒ ๋ฉ๋๋ค.
let flower = 'Rose'
flower.length; //ok
flower.push('!') // Error
๐ก ํ์ ์คํฌ๋ฆฝํธ ์ค๋ฅ
ํ์ ์คํฌ๋ฆฝํธ์ ์ค๋ฅ๋ ํฌ๊ฒ '๊ตฌ๋ฌธ ์ค๋ฅ, ํ์ ์ค๋ฅ' ๋ ๊ฐ์ง๋ก ๋๋ ์ ์์ต๋๋ค.
๊ตฌ๋ฌธ ์ค๋ฅ๋ ์ฝ๋์ ๋ฌธ๋ฒ์ด ์ ๋ชป ๋์๊ฑฐ๋ ์ฝ๋ ๋ธ๋ญ, ์ ์ธ, ํํ์ ๋ฑ ๊ตฌ๋ฌธ์ ์ธ ์ธก๋ฉด์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋ ๋ํ๋ฉ๋๋ค. ๊ตฌ๋ฌธ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ํ์ ์คํฌ๋ฆฝํธ๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ณํ๋๋ ๊ฒ์ ์ฐจ๋จํฉ๋๋ค.
ํ์ ์ค๋ฅ๋ ๋ง ๊ทธ๋๋ก ํ์ ์ด ์ผ์นํ์ง ์์์ ๋ ๋ํ๋๋ฉฐ, ์ด ๋๋ ์ฝ๋๊ฐ ์คํ๋ ์๋ ์์ง๋ง ์๊ธฐ์น ์๊ฒ ์ถฉ๋ํ๊ฑฐ๋ ์ค๋ฅ๊ฐ ๋ ์๋ ์์ต๋๋ค.
๐กํ์ ์ ๋ํ ์ด์ (Annotaion)
Annotate๋ ์ฃผ์์ ๋จ๋ค๋ ์๋ฏธ๋ก, Annotation ๋ํ ์ฃผ์์ด๋ ํ๊ทธ๋ฅผ ํตํด ๋ถ๊ฐ์ ์ ๋ณด๋ฅผ ๋ํ๋ด๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
ํ์ ์คํฌ๋ฆฝํธ์๋ ํ์ ์ ๋ํ ์ด์ ์ด ์กด์ฌํ๋ฉฐ, ํ์ ์ ๋ํ ์ด์ ์ ์ด๊น๊ฐ์ ํ ๋นํ์ง ์๊ณ ๋ ๋ณ์์ ํ์ ์ ์ ์ธํ ์ ์๋๋ก ๋์์ค๋๋ค.
let car: string;
car = "Volvo";
์ ์ฝ๋๊ฐ ํ์ ์ ๋ํ ์ด์ ์ด ์ ์ฉ๋ ์์์ ๋๋ค.
์ถ์ฒ: ๋ฌ๋ ํ์ ์คํฌ๋ฆฝํธ
'TIL > TypeScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ์ ์คํฌ๋ฆฝํธ์ ๊ฐ์ฒด (2) | 2023.12.07 |
---|---|
์ ๋์จ๊ณผ ๋ฆฌํฐ๋ด (Union & Literal) (0) | 2023.12.01 |