๊ธฐ์กด JS์ ์ ํ์ ์ผ๋ก ์ ์ ํ์ ์ ์ธ(Optional Static Type Notation)์ ํ ์ ์๋ ํ๊ธฐ๋ฒ์ด ์ถ๊ฐ๋์๋ค.
์ ํ์ ์ ์ ํ์ ์ ์ธ ํ๊ธฐ๋ฒ (Optional Static Type Notation)
-> TS๋ฅผ ์ด์ฉํ๋ฉด ๋ณ์์ ์ ์ ์ผ๋ก ๋ฏธ๋ฆฌ ํ์ ์ ์ธํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค
Number
String
Boolean
Null
Undefined
void
any
Never
Unknown
let ๋ณ์๋ช : ๋ณ์ํ = ๋ณ์๊ฐ;
let myString: string = "hello";
myString = 100; // error
myString = "bye"; // complete
TypeScript์์ ๋ช ์์ ์ธ ํ์ ํ๊ธฐ๊ฐ ์์ ๋ ํ์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ฒ์ด๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ์๋์ผ๋ก ํ์ ์ ๊ฒฐ์ ํด์ฃผ๋ ๊ฒ์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
let food = "chicken";
food = 100; // error
food = "pizza"; // complete
any Type์ ์ด๋ ํ ํ์ ๋ ํ์ฉํ๋ ํ์ ์ด๋ค.
let thing: any = "hi";
thing = 1; // complete
thig = false; // complete
thing(); // complete
const movies = ["Arrival", "The Thing", "Aliens", "Amadeus"];
let foundMovie; // 2. ์ด๋ฏธ ์๋ฌต์ ์ผ๋ก Any Type์ผ๋ก ์ค์ ๋์ด
for(let movie of movies){
if(movie === "Amadeus"){
foundMovie = "Amadeus" // 1. foundMovie ๋ณ์๊ฐ String Type์ผ๋ก ์ถ๋ก ํ ๊ฑฐ๋ผ ์์๋์ง๋ง
}
}
foundMoive(); // compile
foundMovie = 1; // compile
// 3. ์ปดํ์ผ์ด๋๋ฉฐ ์คํํ๊ฒ ๋๋ฉด ์ค๋ฅ๋ฅผ ๋ฐ์ํ๊ฒ ๋๋ค.
// TypScript์ ํต์ฌ ๊ธฐ๋ฅ์ธ ํ์
์ ๊ดํ ๊ธฐ๋ฅ์ ๋์น๊ฒ ๋๋ค.
const movies = ["Arrival", "The Thing", "Aliens", "Amadeus"];
let foundMovie: string; // string ype์ผ๋ก ์ค์
for(let movie of movies){
if(movie === "Amadeus"){
foundMovie = "Amadeus"
}
}
foundMoive(); // error
foundMovie = 1; // error