타입 레벨과 값 레벨에 대해 설명하고 타입 추론이 둘 사이의 경계를 어떻게 넘나드는지 설명합니다.

타입 수준과 값 수준에 대해 이야기하는 것이 정말 흥미롭습니다. 여러분이 사용하는 용어입니다. 타입스크립트에서 type of 키워드를 예로 들어보겠습니다. 값 수준에서 무언가를 가져와서 타입 수준으로 바꾸거나 가져올 수 있다고 말하는 것이 맞나요?

정확히 맞습니다. 타입의 세계와 값의 세계, 이 두 세계는 대부분 분리되어 있습니다. 이 경계를 실제로 넘을 수는 없지만 경계를 넘을 수 있는 한가지 방법과 한가지 방향이 있습니다.

값 수준에서 타입 수준으로 이동하는 것인데, 이를 타입 추론이라고 합니다. 이것이 바로 타입스크립트가 항상 하는 일입니다. 예를 들어 객체 타입을 선언하면 이름과 나이 프로퍼티라는 두 개의 필드가 있는데, 각각 문자열과 숫자입니다.

Typescript는 타입을 추론할 수 있습니다. 사용자가 만든 이 객체를 값 수준에서 타입 수준으로 끌어올릴 것입니다. 이것이 type of 키워드가 하는 일입니다.