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 | 29 | 30 | 31 |
Tags
- flex-direction
- typeof
- 속성
- 반복문
- for in
- for of
- 기초
- 논리연산자
- 조건문
- 화살표함수
- 함수
- frontend
- justify-content
- if else
- 함수선언식
- properties
- 프론트엔드
- 비교연산자
- Methods
- 타입
- for
- flex-wrap
- boolean
- flex
- ELSE
- 문자열
- align-content
- 변수
- 함수표현식
- javascript
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 |