2 个回答

其实这么写并不规范。正常调用一个类的构造函数应该加上 new

let person = {
  id: 0,
  name: 'Adam',
  jobs: new Array(), // ok
  degrees: []        // ok
}

JS 内置的一些类型做了特殊处理,你不加 new 它也不会报错。

然后加上 TS 泛型标记:

let person = {
  jobs: new Array<String>(), // ok
  degrees: [] as String[]    // ok
}

String 是字符串对象,string 是基本字符串值。二者有何区别请看下面我贴的第二个文档 “基本字符串和字符串对象的区别” 一小节。

REF: https://developer.mozilla.org...
REF: https://developer.mozilla.org...

Array<T>T[] 等价,都是声明数组类型,推荐后者。

string 是 TypeScript 中的基本类型,但 String 是个类类型。

image.png

看 TypeScript Playground

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题