1 TypeScript 核心库的定义文件
TypeScript 核心库的定义文件中定义了所有浏览器环境需要用到的类型,并且是预置在 TypeScript 中的。当你在使用这些常用的变量或方法时, TypeScript 已经在帮你做类型判断了,如:
Math.pow(3, '2'); // Error: 类型“string”的参数不能赋给类型“number”的参数。document.addEventListener('click', (e) => {e.targetCurrent; // ERROR: 类型“MouseEvent”上不存在属性“targetCurrent”。});
1.1 EcmaScript 内置对象
EcmaScript 标准提供了很多内置对象如:String,Number,Math,Date,RegExp 等, TypeScript 核心库的定义文件都为其提供了对应的对象类型声明。
let b: Boolean = new Boolean(1);let n: Number = new Number(1);let d: Date = new Date();let reg: RegExp = new RegExp('^\d$');
1.2 BOM 与 DOM 内置对象
TypeScript 核心库的定义文件也为 BOM 浏览器对模型象和 DOM 文档对象模型提供了对应的类型声明,如 Node, Element, HTMLElement, Event 等
let body: HTMLElement = document.body;document.addEventListener('click', (e: MouseEvent): any => {});
2 在 Node.js 环境中使用 TypeScript
Node.js 环境并非在 JavaScript 或浏览器内置对象中,因此要在 Node.js 环境中使用 TypeScript 需要引用第三方声明库:
npm i -D @types/node
