[Type Script] Generic한테 as const 같은 걸 하는 방법.

3145 단어 TypeScript
다음과 같은 클래스가 있다고 가정합니다.
class X<T> {
    val: T;

    constructor(val: T) {
        this.val = val;
    }
}
이 클래스를 사용하는 코드를 보십시오.
const makeX = <T>(val: T): X<T> => new X(val);

const x = makeX('foo').val;
여기에서 x 유형은 string 입니다.
어떤 경우, 나는 그것을 값 자체의 유형string이 아니라 'foo'으로 설정하고 싶을 때도 있다고 생각한다.
TypeScript에서는 값 자체의 유형을 나타내는 데 as const 을 사용할 수 있습니다.다만 일반인에게는 사용할 수 없다as const.
어떡하지, 닮았어<T extends keyof any>:
const makeX = <T extends keyof any>(val: T): X<T> => new X(val);

const x = makeX('foo').val;
이 경우 x 유형은 'foo' 입니다.기쁘고 축하할 만하다
더 좋은 방법이 있어요!이런 분은 저에게 알려주세요

좋은 웹페이지 즐겨찾기