타입 이동하기
Last updated
var foo = 123;
var bar: typeof foo; // `bar`는 `foo`와 같은 타입 (여기서는 `number`)
bar = 456; // 오케이
bar = '789'; // 오류: 타입 `string`은 타입 `number`에 할당할 수 없음class Foo {
foo: number; // 우리가 타입을 캡쳐하고 싶은 어떤 멤버
}
let bar: Foo['foo']; // `bar`는 `number` 타입이 됨// 순전히 타입 캡쳐를 위한 것
declare let _foo: Foo;
// 전과 동일
let bar: typeof _foo.foo; // `bar`는 `number` 타입이 됨// 매직 문자열의 *타입* 그리고 *값* 둘 다 캡쳐:
const foo = "Hello World";
// 캡쳐된 타입 사용:
let bar: typeof foo;
// bar에는 `Hello World`만 할당 가능
bar = "Hello World"; // 오케이!
bar = "anything else "; // 오류!const colors = {
red: 'reddish',
blue: 'bluish'
}
type Colors = keyof typeof colors;
let color: Colors; // let color: "red" | "blue" 와 동일
color = 'red'; // 오케이
color = 'blue'; // 오케이
color = 'anythingElse'; // 오류: 타입 '"anythingElse"'는 타입 '"red" | "blue"'에 할당할 수 없음