TypeScript의 읽기 전용 속성에 대한 유형 별칭 또는 인터페이스의 모든 속성을 쉽게 만드는 방법은 무엇입니까?

3498 단어 typescript
Originally posted here!
type alias 또는 interface의 모든 속성을 읽기 전용 속성으로 쉽게 만들려면 Readonly 유틸리티 유형을 사용하고 type alias 또는 interface를 각괄호 기호( <> ).

TL;DR




// a simple type
type Person = {
  name: string;
  age: number;
};

// make all the properties in the
// `Person` type to be readonly
type ReadonlyPerson = Readonly<Person>;

// contents of the `ReadonlyPerson` type
/*
{
  readonly name: string;
  readonly age: number;
}
*/


예를 들어, Person라는 유형의 name와 이와 같은 숫자 유형을 갖는 string라는 2개의 속성을 가진 age라는 유형이 있다고 가정해 보겠습니다.

// a simple type
type Person = {
  name: string;
  age: number;
};


이제 Person 유형의 모든 속성을 읽기 전용으로 만들기 위해 Readonly 유틸리티 유형을 사용하고 각괄호 기호( Person )를 사용하여 첫 번째 유형 인수로 <> 인터페이스를 전달할 수 있습니다.

다음과 같이 할 수 있습니다.

// a simple type
type Person = {
  name: string;
  age: number;
};

// make all the properties in the
// `Person` type to be readonly
type ReadonlyPerson = Readonly<Person>;

// contents of the `ReadonlyPerson` type
/*
{
  readonly name: string;
  readonly age: number;
}
*/


이제 ReadonlyPerson 유형 위로 마우스를 가져가면 모든 속성이 이제 우리가 원하는 대로 읽기 전용임을 알 수 있습니다.

codesandbox에 있는 위의 코드를 참조하십시오.

그게 다야 😃!

이 정보가 유용하다고 생각되면 자유롭게 공유하세요 😃.

좋은 웹페이지 즐겨찾기