let
let 키워드를 사용하면 변수가 되고, let 으로 선언된 값은 변경할 수 있다.
let num: number = 5;
console.log(num); // 출력: 5
num = 10;
console.log(num); // 출력: 10
const
const로 값을 선언하면 변수가 아닌 상수가 된다. 상수는 값을 변경할 수 없고 재할당 할 수 없다. 그러나 배열로서 추가 삭제는 가능
const num: number = 5;
console.log(num); // 출력: 5
num = 10; // 에러: 'num'은 const로 선언되었으므로 다시 할당될 수 없어요!
const nums: number[] = [];
console.log(nums); // 출력: []
nums.push(1); // 할당은 되지 않아도 배열에 데이터를 추가/삭제하는 것은 문제가 안됩니다!
nums.push(2); // 은근히 헷갈릴 수 있지만 = 연산자 기준으로만 생각하면 매우 쉬워요!
console.log(nums); // 출력: [1, 2]
nums = []; // 에러: 'nums'는 const로 선언되었으므로 다시 할당될 수 없어요!
readonly
앞의 두 키워드는 JavaScript에서 많이 사용되는 키워드지만, readonly는 TypeScript에서 등장한 키워드이다. readonly는 TypeScript에서 객체의 속성을 불변으로 만드는 데 사용되며 즉, 클래스의 속성이나 인터페이스의 속성을 변경할 수 없게 만들 수 있다.
class Person { // 클래스는 다른 강의에서 자세히 설명해드릴게요!
readonly name: string;
readonly age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
}
const person = new Person('Spartan', 30);
console.log(person.name); // 출력: 'Spartan'
console.log(person.age); // 출력: 30
person.name = 'Jane'; // 에러: 'name'은 readonly 속성이므로 다시 할당할 수 없어요!
person.age = 25; // 에러: 'age'은 readonly 속성이므로 다시 할당할 수 없어요!
readonly 를 const 로 치환하면
- 클래스의 속성에 const 키워드를 사용할 수 없다고 편집기가 에러가 생긴다.
- const 키워드는 일반 변수를 상수화 할 때 사용하는 것
'TypeScript' 카테고리의 다른 글
[TypeScript] enum 과 object literal 비교 (0) | 2023.07.26 |
---|---|
[TypeScript] Any, unknown, union (0) | 2023.07.25 |
[TypeScript] 기본 타입 익히기 (0) | 2023.07.25 |
[TypeScript] JavaScript 라이브러리를 TypeScript 에서 사용하기 (0) | 2023.07.25 |
[TypeScript] .d.ts 파일 (0) | 2023.07.25 |