这是我参与「第四届青训营 」笔记创作活动的第8天
什么是TypeScript
是一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。
- 类型提供一种描述对象形状的方法。可以帮助提供更好的文档。还可以让TypeScript验证你的代码可以正常工作。
- 在TypeScript中,不是每个地方都需要标注类型,因为类型推断允许您无需编写额外的代码基克尔获得大量功能。
- Typescript的类型推导意味着只有您希望获得更佳的安全性是,才需要在您的代码中写更多的类型注释。
TypeScript vs JavaScript
- TypeScript更适合编写应用程序
- TypeScript跨平台、开源
- 开始于JS,,结束于JS
- 重用JS,直接引入JS流行的库
- 类、接口、模块
- 在Vue、Node、React中都可以使用TypeScript
- 强类型限制(JavaScript是弱类型)
语法
数据类型
- number
- string
- boolean
- null
- undefined
- symbol
泛型
interface IX<T,U>{
key:T;
val:U;
}
let ix : IX<string,number>= {
key:'asd',
val:124
}
函数的定义
function findPerson(age: number): string{
return '找到了'+ age + ' 岁的人! '
}
var age:number = 18
var result:string = findPerson(age)
console.log( result ) // 找到18岁的人
数组赋值法
字面量复制,构造函数复制,元组。
面向对象编程
类的继承
TypeScript 装饰器
- 它是一个表达式
- 该表达式被执行后,返回一个函数
- 函数的入参分别为 target、name 和 descriptor
- 执行该函数后,可能返回 descriptor 对象,用于配置 target 对象
参数装饰器
它接收三个参数:
- target: Object - 被装饰的类
- propertyKey: string | symbol - 方法名
- parameterIndex: number - 方法中参数的索引值
方法装饰器
它接收三个参数:
- target: Object - 被装饰的类
- propertyKey: string | symbol - 方法名
- descriptor: TypePropertyDescript - 属性描述符
属性装饰器
它接收两个参数:
- target: Object - 被装饰的类
- propertyKey: string | symbol - 被装饰类的属性名