유형 | 자바스크립트 | 타입스크립트 |
---|---|---|
수 타입 | Number | number |
문자열 타입 | String | string |
불리언 타입 | Boolean | boolean |
객체 타입 | Object | object |
let name;
let name = "Hoon";
let
키워드로 변수를 선언할 때는 초기값을 명시하지 않아도 된다. 또한 let
키워드로 선언된 변수는 코드에서 값이 수시로 변경될 수 있음을 암시한다.
const name = "Hoon";
const
키워드로 변수를 선언할 때는 선언과 초기화를 동시에 진행해야하며, const
키워드로 선언된 변수는 변수의 값이 절대 변하지 않음을 암시합니다.
타입스크립트는 자바스크립트의 변수 선언문을 확장해 아래와 같은 형태로 타입을 명시할 수 있다. 이를 타입 주석
이라고 한다.
let n: number = 1;
let b: boolean = false;
let s: string = "s";
let o: object = {};
타입스크립트에서 let
키워드로 선언한 변수의 값은 명시한 타입에 해당하는 값으로만 바꿀 수 있다.
n = "a"; // error
b = 1; // error
o = {name: "Hoon"} // success
타입스크립트은 자바스크립와의 호환성을 위해 타입 주석
부분을 생략할 수 있다. 이 때 타입스크립트 컴파일러는 변수의 초기값 타입으로 변수의 타입을 지정하는데, 이를 타입 추론
이라고 한다.
let n = 1; // n 타입을 number로 추론
let b = false; // b 타입을 boolean으로 추론
let s = "hello"; // s의 타입을 string으로 추론
let o = {}; // o의 타입을 object로 추론
초기값에 의해 타입이 결정되며 각 변수에는 초기값 타입에 해당하는 값만 저장할 수 있다.
타입스크립트에서는 자바스크립트와의 호환을 위해 any
라는 이름의 타입을 제공한다. any
타입의 변수는 타입과 무관하게 어떠한 타입의 값도 저장할 수 있다.
let a : any = 0;
any = 'hello'
any = true;
any = {};
자바스크립트에서 undefined
는 값이지만 타입스크립트에서 undefined
는 값이기도 하며 타입이기도 하다.
let u: undefined = undefined;
u = "Hello"; // 타입 오류 발생
undefined
를 타입으로 지정할 경우 해당 변수에는 undefined
값만 가질 수 있다
타입스크립트에는 변수에 담긴 값을 조합해 문자열을 만들 수 있게하는 템플릿 문자열
이라는 기능이 있다. 기본 문법은 아래와 같다.
`${변수 이름}`
이 기능을 이용하여 변수의 값을 문자열로 치환하여 합칠 수 있다.
let name: string = "Hoon";
let age: number = 25;
console.log(`My name is ${name}, ${age} years old.`)