typeScript
- TypeScript 并不是一个完全新的语言, 它是 JavaScript 的超集,为 JavaScript 的生态增加了类型机制,并最终将代码编译为纯粹的 JavaScript 代码。
TypeScript 简介
- TypeScript 由 Microsoft(算上 Angular 2 的话加上 Google)开发和维护的一种开源编程语言。 它支持 JavaScript 的所有语法和语义,同时通过作为 ECMAScript 的超集来提供一些额外的功能,如类型检测和更丰富的语法。
使用 TypeScript 的原因
- 1、TypeScript 可以使用 JavaScript 中的所有代码和编码概念,TypeScript 是为了使 JavaScript 的开发变得更加容易而创建的。例如,TypeScript 使用类型和接口等概念来描述正在使用的数据,这使开发人员能够快速检测错误并调试应用程序
- 2、TypeScript 从核心语言方面和类概念的模塑方面对 JavaScript 对象模型进行扩展。
- 3、JavaScript 代码可以在无需任何修改的情况下与 TypeScript 一同工作,同时可以使用编译器将 TypeScript 代码转换为 JavaScript。
- 4、TypeScript 通过类型注解提供编译时的静态类型检查。
- 5、TypeScript 中的数据要求带有明确的类型,JavaScript不要求。
- 6、TypeScript 引入了 JavaScript 中没有的“类”概念。
- 7、TypeScript 中引入了模块的概念,可以把声明、数据、函数和类封装在模块中。
- 8、类型注释是 TypeScript 的内置功能之一,允许文本编辑器和 IDE 可以对我们的代码执行更好的静态分析。 这意味着我们可以通过自动编译工具的帮助,在编写代码时减少错误,从而提高我们的生产力
数据类型
String 类型
- 一个保存字符串的文本,类型声明为 string。可以发现类型声明可大写也可小写,后文同理。
let name: string = 'aaaaaa'
let name2: String = 'aaaaaa'
Boolen 类型
- boolean是 true 或 false 的值,所以
let isBool: boolean = new Boolean(1)
就会编译报错,因为 new Boolean(1) 生成的是一个 Bool 对象。
let isBool1: boolean = false
Number 类型
let number: number = 10
Array 类型
- 数组是 Array 类型。然而,因为数组是一个集合,我们还需要指定在数组中的元素的类型。我们通过 Array<type> or type[] 语法为数组内的元素指定类型
let arr:number[] = [1, 2, 3, 4, 5];
let arr2:Array<number> = [1, 2, 3, 4, 5];
let arr3:string[] = ["1","2"];
let arr4:Array<string> = ["1","2"];
Enums 类型
- 列出所有可用值,一个枚举的默认初始值是0。你可以调整一开始的范围:
enum Role {
Employee = 3, Manager, Admin}
let role: Role = Role.Employee
console.log(role)
Any 类型
- any 是默认的类型,其类型的变量允许任何类型的值:
let notSure:any = 10;
let notSure2:any[] = [1,"2",false];
Void 类型
- JavaScript 没有空值 Void 的概念,在 TypeScirpt 中,可以用 void 表示没有任何返回值的函数:
function alertName(): void {
console.log('My name is muyy')
}
函数
为函数定义类型
- 我么可以给每个参数添加类型之后再为函数本身添加返回值类型。 TypeScript能够根据返回语句自动推断出返回值类型,因此我们通常省略它。下面函数 add, add2, add3 的效果是一样的,其中是 add3 函数是函数完整类型。
function add(x: string, y: string): string{
return "Hello TypeScript";
}
let add2 = function(x: string, y: string): string{
return "Hello TypeScript"