Open MJingv opened 5 years ago
TypeScript 是静态类型(编译阶段进行类型检查)vs JavaScript是静态类型(运行阶段进行类型检查)
TypeScript&JavaScript 是弱类型(允许隐式类型转换)
TypeScript 编译的时候即使报错了,是否生成编译结果(tsconfig.json noEmitOnError配置)
变量类型用: (eg:name:string)
对象
的类型(I前缀)
变量需与接口内容保持一致
interface Person{
readonly id:number;//只读属性(第一次赋值不报错)
name:string;//必须属性
age?:number;//可选属性
}
type+[]表示
const fibonacci:number[]=[1,1,2,3]
array generic(泛型)表示
const fibonacci:Array<number>=[1,1,2,3]
接口表示
interface NumberArray{
}
const fibonacci:NumberArray=[1,1,2,3]
也可表示类数组
any表示
const list:any[]=['jehol',1221,{id:'2333'}]
function getSum(a:number,b:number):number{
return a+b
}
const getSum = (
a: number,b: number,
c?: number, //可选属性
...items: any[])//剩余参数类型
: number => a + b;
值 as 类型
or <类型>值
as any
兼容处理.d.ts
为后缀let tom: [string, number] = ['Tom', 25];
enum Days {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
基础概念
方法
和属性
new
生成ES6
ES7
TS
深入理解 TypeScript
typescript使用
tsc test.ts
将ts转为jsts基础类型(特别要看的)
enum 枚举
从不会出现的值
。ts变量
访问控制修饰符
ts联合类型(Union Types)
Type1|Type2|Type3
ts接口
接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法
extends
:单继承、多继承