小编Kim*_*jun的帖子

打字稿接口:可选但并非未定义

我该如何描述类型

key 是可选的,但如果它存在,则不能取消定义。

第一次,我使用 Partial 使 T 的所有属性都是可选的。

interface A {
  a: number;
}

var data: A = {
  a: 1,
}

var update1: Partial<A> = {

}

var update2: Partial<A> = {
  a: undefined
}

var result1: A = {
  ...data,
  ...update1,
} // { a: 1 }

var result2: A = {
  ...data,
  ...update2,
} // { a: undefined }
Run Code Online (Sandbox Code Playgroud)

这里的问题是 result2 没有在运行时实现接口 A,但 typescript 从不抱怨它。它是错误还是功能?我猜打字稿不能很好地与传播运算符一起工作......

目标是使用打字稿区分这两个变量!


var data: T = {
  a: 1,
  b: 2,
}

var …
Run Code Online (Sandbox Code Playgroud)

typescript

11
推荐指数
2
解决办法
1879
查看次数

标签 统计

typescript ×1