-
TS 对象 Object 的定义非常明确
如果直接使用 object 类型定义,相当于 {},调用会报错,改为 any 就好。
查看全部 -
可选参数、默认参数只能放到参数列表末尾,否则会报错
查看全部 -
类是一个特殊函数,定义、更新、声明函数,特性封装、继承、多态;
访问修饰符:public private protected
class 中成员变量、成员方法默认都是公共的
public:语法糖,声明公共成员变量及constructor 传参初始化公共成员变量的语法糖
公共成员变量,可以在实例化对象-key方式直接更新、获取
private:私有成员变量,仅在class内部使用,外部无法直接访问;可以在class内部暴露公用成员方法,更新或者取值;
查看全部 -
type assertions类型断言:变量为联合类型或者any时,明确知道当前类型时,可以进行断言
let msg:any
msg = 'this is a string'
const res = (<string>msg).endsWith('s');
const res = (msg as string).endsWith('s');
查看全部 -
any: 定义可以为任何类型,减少复杂类型,快速开发,不会保障类型安全
unknown:定义为未知类型,类型推论,保障类型安全
查看全部 -
枚举类型:枚举类型值默认从0开始,可以简写;也可以指定初始值,每个枚举依次累加;
也可自定义每个枚举项数值;
enum Color {
red, // 0
orange, // 1
yellow // 2
}
enum Color {
red = '红色',
orange = '橙色',
yellow = '黄色'
}
查看全部 -
联合类型:为变量指定多种类型,类型用 | 间隔,此变量可以为联合类型中任何一种类型
let union1: number | string | boolean = 1;
字面量类型: 指定变量类型及取值范围,可以组合联合类型一块使用;
let union2:1 | 'str' | [1,2,3] = '字面量类型'
查看全部 -
元祖:固定长度、类型、类型顺序的数组类型;
push可以突破元祖类型限制
const person1 = [1, 'name'] // --- 不是元祖,是联合类型,仅限制类型;长度及类型顺序无限制
查看全部 -
全局作用域 函数作用域
es6 块状作用域查看全部 -
为什么使用TS
查看全部 -
TypeScript
查看全部 -
TypeScript
查看全部 -
class类
getter setter
查看全部 -
泛型
let lastInArray = <T>(arr:T[]) =>{}
let lastInArray = <T>(arr:Array<T>) =>{}
此时的arr的可以是任意类型的数组且不显示为any
查看全部 -
类型适配
(<string>message)需要圆括号括起来
或者使用 as 断言
查看全部 -
Array 数组类型
tuple 元组类型
查看全部 -
Number数字类型
String字符串类型
boolean布尔类型
查看全部 -
typescript类型:boolean string number array tuple enum null undefined object void never any 以及高级类型 union组合类型 Nullable可空类型 Literal预定义类型
查看全部 -
Class 类
查看全部 -
Generics 泛型
查看全部 -
创建Module模块
把class放到单独文件中,再export类,支持外部文件访问
引入外部文件:import { Point } from "./point"
查看全部 -
访问修饰符:public, private, protected
private:私有属性,外部无法访问
如果需要访问私有属性,需要使用getter, setter
查看全部 -
Interface接口
查看全部 -
Object对象类型
ts对对象类型的定义:键类型对key to type(js是键值对)
查看全部
举报