打字稿类型断言

上级

假设我有一个包含许多变量的接口,并且我不想在使用它时初始化所有变量,所以我只是放置了any类型断言。我只想知道这两个是否相同:

例如:

export interface Foo {
  a: string;
  b: number;
  c: Bar[];
  d: string;
  e: Bar;
}

let foo: Foo = {} as any;

let foo: Foo | any = {};

?

巴萨拉特

不,它们不一样。

第一的

以下是更安全的:

let foo: Foo = {} as any;

你不能做

let foo: Foo = {} as any;
foo = {}; // Error  

第二

以下内容会使您面临危险,例如

let foo: Foo | any = {};
foo = {}; // OKAY!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章