JavaScript中有很多内置对象,它们可以直接在TypeScript中当作定义好了的类型。
ECMAScript 的内置对象
Boolean, Number, String, RegExp, Date, Error
let b: Boolean = new Boolean(1)
console.log(b)
let n: Number = new Number(true)
console.log(n)
let s: string = new String('xxxxx')
console.log(s)
let d: Date = new Date()
console.log(d)
let r: RegExp = /^1/
console.log(r)
let e: Error = new Error('error!!')
console.log(e)
DOM 和 BOM 的内置对象
Document, HTMLElement, Event, NodeList等
let body: HTMLElement = document.body;
let alDiv: NodeList = document.querySelectorAll('div');
// 读取div 这种需要类型断言 或者 加个判断应该为读不到返回null
let div: HTMLElement = document.querySelector('div') as HTMLDivElement
document.addEventListener('click', function (e: MouseEvent) => {
})
定义Promise
如果我们不指定返回的类型TS是推断不出来返回的是什么类型
指定返回的类型
函数定义返回promise 语法规则:Promise 类型
function promise(): Promise<number> {
return new Promise((resolve, reject) => {
resolve(1)
})
}
promise().then(res => {
console.log(res)
})
当你在使用一些常用的方法的时候,TypeScript 实际上已经帮你做了很多类型判断的工作了
而他们的定义文件,则在ts核心库的定义文件中