|
TS:是JS的超集,即对JS的扩展,主要提供了类型系统和对ES6+的支持,但TS最终会转换为js代码去执行。
特点:
1. 始于JavaScript, 归于JavaScript
2. 强大的类型系统
3. 先进的JavaScript
TypeScriptJavaScript语言面向对象编程语言面向脚本编程是否支持可选参数支持不支持是否支持静态类型支持不支持是否支持接口支持不支持基础类型:
- 1. boolean
- 2. number
- 3. String
- 4. undefined和null(默认情况下null和undefined是所有类型的子类型)
- 5. 数组
- 6. 元组:表示一个已知元素数量和类型的数组,各元素的类型不必相同
- 7. object:表示非原始类型,也就是除number、string、boolean之外的类型
- 8. 枚举:为一组数值赋予友好的名字
- 9. any:不清楚类型的变量指定一个类型
- 10. void
- 11. 联合类型(Union Types) (表示取值可以为多种类型中的一种)
- 12. 类型断言:可以用来手动指定一个值的类型。
- 13. 类型推断:TS会在没有明确的指定类型的时候推测出一个类型,
- a. 定义变量时赋值了,推断为对应的类型。
- b. 定义变量时没有赋值,推断为any类型。
复制代码 类:
- 1. 继承: 类从基类中继承了属性和方法,通过 extends 实现。
- 2. 修饰符: public(默认)、private(不能在声明它的类的外部访问)、protected(子类可以访问)。
- 3. 存取器: TypeScript支持通过getters/setters来截取对对象成员的访问,它能帮助你有效的控制对对象成员的访问。
- 4. 静态属性:静态属性:是类对象的属性;非静态属性:是类的实例对象的属性。
- 5. 抽象类: 不能被实例化,用abstract修饰。
复制代码 接口:
(接口是对象的状态(属性)和行为(方法)的抽象(描述))核心原则之一是对值所具有的结构进行类类检查。- 1. readonly VS const: 判断该用readonly还是const的方法是看要把它作为变量使用还是作为一个属性。作为变量使用的话用const,若作为属性则使用readonly。
- 2.类类型:实现接口
- 一个类可以实现多个接口
- 一个接口可以继承多个接口
- 3. 接口也可以相互继承
- #函数类型
复制代码 泛型:
- 指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定具体类型的一种特性。
复制代码 重载:
- 函数名相同,而形参不同的多个函数。
- 在JS中,由于弱类型的特点和形参与实参可以不匹配,是没有函数重载这一说的,
- 但在TS中,与其它面向对象的语言(如Java)就存在此语法。
复制代码 什么是构造函数,其作用:
- 构造函数是一种特殊的方法,主要用于创建对象时初始化对象,即给对象成员属性赋值。和new关键字一起使用,而TS的构造函数通过关键字constructor实现,并用this关键字来访问当前类中的属性和方法。
复制代码 为什么要用TS:
- 1. TS在编译时就可以暴露问题,而JS则在运行时才可以发现。
- 2. TS作为一种强类型,明确知道数据类型,代码的可读性高,便于理解。
复制代码 什么是泛型:
什么是实例化:
- 一般创建一个类后并不能直接对属性和方法进行访问,必须对类进行实例化,需要创建一个对象。创建对象通过new关键字来实现,通过‘.’来访问属性和方法。
复制代码 什么是方法重写:
- 子类可以直接继承父类的方法,直接使用,但有时子类并不想原封不动的继承父类中的方法,而是需要做一定的修改,就是重写。重写的作用在于子类可以根据需要定义自己的特定行为,即子类能够根据需要实现父类方法。
复制代码 什么是可索引类型接口:
never和void的区别:
- void表示没有任何类型(可以赋值为null和undefined);
- never表示不包含任何值,永远没有值;
- void返回值类型的函数可以正常运行,而never的则无法执行,也无法终止,会抛出异常。
复制代码 来源:https://www.cnblogs.com/hechen-xuan/p/17264877.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|