typeScript——内置对象

内置对象

JavaScript中有很多内置对象,他们可以直接在typeScript中当做定义好了的类型。
内置对象是根据标准在全局作用域(Global)上存在的对象。这里的标准是指ECMAScript和其他环境(比如DOM)的标准。

ECMAScript的内置对象

ECMAScript标准提供的内置对象有:

Boolean、Error、Date、RegExp等。

我们可以在TypeScript中将变量定义为这些类型

let b: Boolean = new Boolean(1)
let e: Error = new Error('error')
let d: Date = new Date()
let r: RegExp = new RegExp(/[a-z]/,'g')
console.log(b, e, d, r)

DOM和BOM的内置对象

DOM和BOM提供的内置对象有:

Document、HTMLElement、Event、NodeList等。

TypeScript中会经常用到这些类型

let body: HTMLElement = document.body
let allDiv: NodeList = document.querySelectorAll('div')
document.addEventListener('click', function (e: MouseEvent) {
  console.log(e)
})

TypeScript和辛苦的定义文件

TypeScript核心库的定义文件中定义了所有浏览器环境需要用到的类型,并且是预置在TypeScript中的。

当你在使用一些常用的方法的时候,TypeScript实际上已经帮你做了很多类型判断的工作了

Math.pow(10, '2');

// index.ts(1,14): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.

上面的例子中,Math.pow必须接受两个number类型的参数。事实上,Math.pow的类型定义如下

interface Math {
    /**
     * Returns the value of a base expression taken to a specified power.
     * @param x The base value of the expression.
     * @param y The exponent value of the expression.
     */
    pow(x: number, y: number): number;
}

挺TypeScript写NodeJS

nodeJS不是内置对象的一部分,如果想用TypeScript写NodeJS,则需要引入第三方声明文件

npm install @types/node --save-dev
原文地址:https://www.cnblogs.com/dehenliu/p/15561596.html