1. 什么是 TypeScript ?
TypeScript 是添加了类型系统的 JavaScript ,适用于任何规模的项目。
TypeScript 是一门静态类型、弱类型的语言。
TypeScript 是完全兼容 JavaScript 的,它不会修改 JavaScript 运行时的特性。
TypeScript 可以编译为 JavaScript ,然后运行在浏览器、 Node.js 等任何能运行 JavaScript 的环境
中。
TypeScript 拥有很多编译选项,类型检查的严格程度由你决定。
TypeScript 可以和 JavaScript 共存,这意味着 JavaScript 项目能够渐进式的迁移到 TypeScript 。
TypeScript 增强了编辑器( IDE )的功能,提供了代码补全、接口提示、跳转到定义、代码重构等
能力。
TypeScript 拥有活跃的社区,大多数常用的第三方库都提供了类型声明。
TypeScript 与标准同步发展,符合最新的 ECMAScript 标准( stage 3 )。
2. ts 与 Js 的区别
TypeScript 是 JavaScript 的超集,扩展了 JavaScript 的语法,因此现有的 JavaScript 代码可与
TypeScript 一起工作无需任何修改, TypeScript 通过类型注解提供编译时的静态类型检查。
TypeScript 可处理已有的 JavaScript 代码,并只对其中的 TypeScript 代码进行编译。
安装ts命令行:npm install typescript
3. 基础数据类型
在js中,分基础数据类型和引用数据类型
基础类型有:string、boolean、number、null、undefined
此处不要使用String、Boolean、Number等,这几个表示的是构造函数,不是基础数据类型
1.布尔值
在Ts中,使用 boolean 定义布尔值类型
2.数字
在Ts中,使用 number 定义布尔值类型
编译结果:
其中 0b1010 和 0o744 是 ES6 中的二进制和八进制表示法 ,它们会被编译为十进制数字。
3.字符串
使用 string 定义字符串类型:
编译结果:
let bool:boolean = true; let decLiteral: number = 6; // 十六进制 let hexLiteral: number = 0xf00d; // ES6 中的二进制表示法 let binaryLiteral: number = 0b1010; // ES6 中的八进制表示法 let octalLiteral: number = 0o744; // NaN let notANumber: number = NaN; // 无穷大 let infinityNumber: number = Infinity;
编译结果:
var decLiteral = 6; var hexLiteral = 0xf00d; // ES6 中的二进制表示法 var binaryLiteral = 10; // ES6 中的八进制表示法 var octalLiteral = 484; var notANumber = NaN; var infinityNumber = Infinity //其中 0b1010 和 0o744 是 ES6 中的二进制和八进制表示法,它们会被编译为十进制数字。
字符串
使用 string 定义字符串类型:
let myName: string = 'Tom'; let myAge: number = 25; // 模板字符串 let sentence: string = `Hello, my name is ${myName}. I'll be ${myAge + 1} years old next month.`;
//编译结果 var myName = 'Tom'; var myAge = 25; // 模板字符串 var sentence = "Hello, my name is " + myName + ".I'll be " + (myAge + 1) + " years old next month.";