You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript中原始值是否可以直接作为类型使用?

TypeScript 字面量类型相关问题解答

原始值是否可以直接作为类型使用

可以。TypeScript 提供了字面量类型特性,支持直接把布尔、字符串、数字等原始类型的具体值作为类型使用,用来约束取值只能是该固定值。我们经常会把多个字面量类型组合成联合类型,用来限定字段的可选值范围,比如:

type OrderStatus = 'pending' | 'paid' | 'shipped' | 'refunded'

给出的类型定义是否合法

你提供的类型定义完全符合 TypeScript 语法规范,是合法的:

export type Status = {
    completed: false;
}

该定义的含义是:所有属于Status类型的对象,必须包含completed属性,且该属性的取值只能是false,不能赋值为true或其他任意类型的值。

调整方案(仅当业务需求和当前定义不符时需要修改)

如果你的实际需求是让completed属性可以取任意布尔值,那么当前定义不符合业务要求,可以修改为:

export type Status = {
    completed: boolean;
}

如果你需要同时支持多种状态组合,也可以基于字面量联合类型扩展实现可辨识联合,比如:

export type Status = 
  | { completed: false, remainingTime: number }
  | { completed: true, finishTimestamp: number }

内容的提问来源于stack exchange,提问作者Jason M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:09:01