Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 프론트엔드
- 논리연산자
- 함수표현식
- flex-direction
- 타입
- 조건문
- 기초
- 비교연산자
- 반복문
- flex
- properties
- 함수선언식
- frontend
- align-content
- for
- ELSE
- boolean
- javascript
- if else
- Methods
- typeof
- 함수
- for of
- flex-wrap
- 문자열
- 변수
- justify-content
- for in
- 속성
- 화살표함수
Archives
- Today
- Total
하얀 코딩
[TypeScript - 10] readonly 본문
타입스크립트에서 readonly 키워드는 읽기 전용 속성(Readonly Property)을 정의하는 데 사용됩니다.
읽기 전용 속성은 값의 할당 후에 변경되지 않도록 제한하는 역할을 합니다.
즉, 해당 속성은 초기화 시에만 값을 할당할 수 있고, 이후에는 수정할 수 없습니다.
readonly는 객체의 불변성을 유지하고 실수로 속성을 수정하는 것을 방지하기 위해 사용됩니다.
1. interface에서 readonly
interface Person {
readonly name: string;
age: number;
}
let person: Person = { name: "John", age: 25 };
person.name = "Alice"; // Error: 'name'은 읽기 전용입니다.
person.age = 30; // 유효한 할당
위의 예제에서 Person 인터페이스의 name 속성은 readonly로 정의되었습니다.
따라서 person 객체를 생성할 때 name 속성에 값을 할당할 수 있지만, 이후에는 name 속성의 값을 변경할 수 없습니다.
2. class에서 readonly
class Car {
readonly brand: string;
constructor(brand: string) {
this.brand = brand;
}
}
let car = new Car("BMW");
car.brand = "Audi"; // Error: 'brand'은 읽기 전용입니다.
위의 예제에서 Car 클래스의 brand 속성은 readonly로 정의되었습니다.
brand 속성은 생성자에서 초기값을 받고, 이후에는 수정할 수 없습니다.
'TypeScript' 카테고리의 다른 글
[TypeScript - 11] Generics (0) | 2023.06.06 |
---|---|
[TypeScript - 9] 타입 단언(Type Assertion) (0) | 2023.06.06 |
[TypeScript - 8] 타입 가드(Type Guard) (0) | 2023.06.06 |
[TypeScript - 7] Union( | ) / Intersection( & ) (0) | 2023.06.06 |
[TypeScript - 6] Object types (객체 타입) - type, interface (0) | 2023.06.06 |