ts优缺点
优点:
支持面向对象的编程特性,比如类、接口、继承、泛型等等。
编译时提供错误检查功能。它将编译代码,如果发现任何错误,在运行脚本之前突出显示这些错误。
- 它提供了可选静态类型的优点。在这里,Typescript提供了可以添加到变量、函数、属性等的类型。
- TypeScript支持强类型或静态类型
缺点:
- TypeScript需要很长时间来编译代码。
- TypeScript不支持抽象类。
tsc --init执行时提示“无法将tsc项识别为cmdlet....”问题解决
本项目安装ts,在使用npx tsc --init
是否可以将多个.ts文件合并成一个.js文件?如果是,那么如何做?
$ tsc --outFile comman.js file1.ts file2.ts file3.ts
上面的命令将编译所有这三个.ts文件和结果将存储在一个comman.js文件中.
$ tsc --outFile file1.ts file2.ts file3.ts
file2.ts和file3.ts将被编译,并将输出放在file1.ts中,现在是file1.ts包含JavaScript代码。
TypeScript是如何在函数中支持可选参数的
可以通过使用问号符号('?')来使用可选参数
function Demo(arg1: number, arg2? :number) {
}因此,arg1总是必需的,而arg2是一个可选参数
TS的“接口”和“type”语句有什么区别?
// 接口
interface X {
a: number
b: string
}
// type
type X = {
a: number
b: string
};
接口:
- 接口声明总是引入指定的对象类型。
- 接口可以在extends或implements子句中命名。
- 接口创建一个到处使用的新名称。
- 一个接口可以有多个合并声明。
type:
- 类型别名声明可以为任何类型(包括基元类型、联合类型和交集类型)引入名称。
- 对象类型文字的类型别名不能在“扩展”或“实现”子句中命名。
- 类型别名不创建新名称。
- 对象类型字面量的类型别名不能有多个合并声明。
什么是TS接口?说说它有哪些特性
TS的核心原则之一就是对值所具有的结构进行类型检查。
特点:
1:定义对象、数组、函数、类等。
2:接口可以相互继承
3:接口可以继承类
4:可选属性与额外检查
// 定义对象
interface Cat {
color:string
}
let oneCat:Cat = {
color:"orange"
}
// 定义数组
interface Grade {
[index:number]:string;
}
let grade:Grade = ["one","two"]
//定义函数
interface Greet {
(name:string):void
}
let greet:Greet = function (){
console.log("hello")
}
// 定义类
interface Constructor {
(n:string,a:number):Person
}
interface Person {
name:string;
age:number;
}
class People implements Person {
name:string;
age:number;
constructor(name:string,age:number){
this.name = name;
this.age = age
}
}
// 接口相互继承
interface Shape {
color:string
}
interface Sqaure extend Shape {
sideLength:number
}
let square:Sqaure = {
color:"red",
sideLength:11
}
什么是Rest参数?
rest参数用于向函数传递零个或多个值。它是通过在参数前加上三个点字符(‘…’)来声明的。它允许函数在不使用arguments对象的情况下拥有可变数量的参数。当我们有不确定数量的参数时,这是非常有用的。
rest参数要遵循的规则:
- 一个函数中只允许有一个rest参数。
- 它必须是数组类型。
- 它必须是参数列表中的最后一个参数。
TypeScript中的方法重写是什么
如果子类(子类)具有与父类中声明的相同的方法,则称为方法覆盖。换句话说,在派生类或子类中重新定义基类方法。
方法重写的规则
- 该方法必须具有与父类相同的名称
- 该方法必须具有与父类相同的参数。
- 必须有一个IS-A关系(继承)。
如何调用基类中的构造函数
super()
如何实现类的继承
extends
Typescript的装饰器是什么
装饰器是一种特殊类型的声明,它能被附加在类、方法、属性、访问符、参数上。
装饰器使用@expression这种方式,expression求值后必须为一个函数,它在运行时调用,被装饰器声明的信息作为参数传入。
什么是Mixins
一种通过重用组件构建类的方法。
不通过类的直接继承来实现,而是将基类作为接口来实现。对于基类实例化部分在子类中实现,基类中原型的部分在子类中进行声明占位,然后通过一个Minxin函数将基类上的原型属性拷贝到子类上。