四、typscript(类型断言)-CSDN博客文章来源地址https://www.toymoban.com/news/detail-809264.html
5.1 ES 的内置对象(JS 中有很多内置对象,可以直接在 TS 中当做定义好了的类型)
// Boolean、Error、Date、RegExp 等
let b: Boolean = new Boolean(1);
let e: Error = new Error('Error occurred');
let d: Date = new Date();
let r: RegExp = /[a-z]/;
5.2 DOM 和 BOM 的内置对象
// Document、HTMLElement、Event、NodeList 等
let allDiv: NodeList = document.querySelectorAll('div');
document.addEventListener('click', function(e: MouseEvent) {
// Do something
});
5.3 TS 核心库的定义文件
Math.pow(10, '2');
// 编译错误
因为 Math.pow 必须接受两个 number 参数,其类型定义如下:
interface Math {
pow(x: number, y: number): number;
}
例2:
document.addEventListener('click', function(e) {
console.log(e.targetCurrent);
});
// 编译错误
// addEventListener 在 TS 核心库的定义如下
interface Document extends Node, GlobalEventHandlers, NodeSelector, DocumentEvent {
addEventListener(type: string, listener: (ev: MouseEvent) => any, useCapture?: boolean): void;
}
所以 e 被推断成了 MouseEvent,而 MouseEvent 是没有 targetCurrent 属性的,所以报错了(注意:TS 核心库的定义中不包含 Node.js 部分。)
文章来源:https://www.toymoban.com/news/detail-809264.html
到了这里,关于五、typescript(内置对象)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!