定义Ts变量
var 是一个函数体的作用域
let 定义变量,限制变量的作用范围。防止变量的重复定义(相同类型)
const 定义及赋值
定义数组有两种方法:
1.let myArr: number[] = [123,456]
2.let myArr: Array = [‘1’,‘2’]
元组类型 tuple
跟数组差不多,但是里面的元素是可以多个类型,编译出来的javaScript也是数组,
元素的个数是固定的,顺序不能变
函数指向返回值的类型
可以让调用的地方知道是什么类型的返回,以便进行处理
默认参数(=),可选参数(?),一般放到参数后面
默认参数可以不指定类型,会自动判断和计算
慎用any类型,可能会自己判断类型
类 class
class(模板) new 对象
数据(data) 行为(action) 行为可能是对数据进行操作
class继承
继承父类的数据和方法,就是属性和方法
调用方法是,先找自己本身对象的方法,如果没有就去找父级的
super代表父级
三个修饰符对成员属性和方法进行修饰
修饰符
public 公共的 任何属性和方法都可以在生成的对象中调用,默认就是public,只是省略了
private 私有的 , 只有在内部对象内才能访问,生成的对象调用不了,
要调用私有方法和属性,可以在class里定义public的方法来调用
继承的对象也是不能够直接用生成的对象来访问
子类继承的时候也可以几层是由的属性和方法,也是要通过class里定义的public的方法来调用
protected收保护的,只有字啊内部class还有子类才能访问,生成的对象访问不了
要调用私有方法和属性,可以在class里定义public的方法来调用
继承的对象也是不能够直接用生成的对象来访问
子类继承的时候也可以几层是由的属性和方法,也是要通过class里定义的public的方法来调用
(这点根其他的语言有些不太一样)
private protecred 在子类的时候
权限范围 public >protected> private
construcror 构造方法
如果申明为protected
或者privote , 当前类不能 new
当父类申明为protected,子类重写constructor 方法后可以 new (子类可以new)
如果父类申明为private,子类不能new和extends
super在constructor 方法中是调用父类的构造方法,必要时,要传入参数
作用
1.但不想被实例化,而指向让子类继承后实例化,申请为protected的时候
2.都不想让子类和父类数理化或继承,可以申请为private
3.一般情况系,申请为public(或者不写)
Static 静态属性和方法
通过类似Person加方法名或属性来调用(比如Person.age)
默认是申明为public
如果是protected或private的话,当前类都不能调用,通过public的静态方法来调用
如果父类是protected或private的话,子类也能继承所有的静态方法和属性
子类还是不能调用protected或private方法和属性,只能通过public来调用
子类定义的方法(public)只有是父类定义为public或protected的才能访问,private的不能访问
枚举类型
它的值是数字序号,从 0 开始
代码可读性强
可能会常用于下拉框等应用