import { stringify } from 'devalue';
export default defineEventHandler(async (event) => {
const data = {
createAt: new Date()
}
const dataToJSON = {
...data,
toJSON() {
return this;
}
}
return stringify(data) as unknown as typeof dataToJSON;
});
as unkonwn as typeof dataJSON 이라는 표현이 있습니다.
TypeScript에서 type assertion을 사용하여 as unknown as typeof data로 data의 타입을 강제로 지정하는 것입니다. 이를 단계별로 설명하겠습니다.
- as unknown: 먼저, 어떤 타입이든 unknown 타입으로 변환합니다. unknown 타입은 모든 값이 할당될 수 있는 타입입니다. 이는 타입 안전성을 높이기 위해 사용됩니다.
- as typeof data: 그 다음, unknown 타입을 data의 타입으로 다시 변환합니다. typeof data는 data 변수의 타입을 가져옵니다.
이러한 이중 타입 선언은 타입스크립트의 타입 시스템을 우회하여 강제로 타입을 지정할때 사용됩니다. 일반적으로 타입을 정확히 추론할수 없거나, 개발자가 타입을 더 명확하게 지정하고자 할때 사용됩니다.
'코드 > Typescript' 카테고리의 다른 글
[Typescript] unknown은 any 의 counterpart (0) | 2025.02.03 |
---|