| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- // object (数组 对象 函数)
- // Array 数组
- // let a = [];
- let aa:number[] = [1,2,3];
- let bb:string[];
- bb = ['1','2','3'];
- let cc:Array<boolean>;
- cc = [true,false,true];
- // Tuple 元组:固定长度的数组
- let dd:[string,number,boolean];
- dd = ['str',123,true];
- // Object 对象
- let ee:object;
- ee = {};
- ee = function(){};
- ee = [];
- let ff:{
- name:string,
- age:number,
- sex:string,
- address?:string ,// 可选属性
- [propName:string]:any // 任意属性
- }
- ff = {
- name:'张三',
- age:18,
- sex: '男',
- address:'北京',
- eat:'苹果',
- book:'书籍'
- }
- // ff = {
- // name:'张三',
- // age:18,
- // sex: '男',
- // }
- // 函数类型
- function fn4():void {
- console.log('fn4');
- }
- fn4();
- function fn5(a:number,b:string):string {
- // console.log('fn5');
- return a + b;
- }
- fn5(3,'45');
- let fn6:(a:number,b:number)=>number;
- fn6 = function(x,y) {
- return x + y;
- }
- fn6(12,34);
- // 枚举 enum
- enum Sex1 {
- man,woman
- }
- let kk: {
- name:string,
- age:number,
- sex: Sex1
- }
- kk = {
- name:'李四',
- age:20,
- sex: Sex1.man
- }
- console.log(kk.sex === Sex1.man ? '男' : '女');
- // type 声明的内容 更侧重于 类型的重复使用 支持联合类型和交叉类型
- // 联合类型
- // 类型别名
- type myType = string | number | boolean;
- let ww:myType;
- ww = 'hello';
- ww = 123;
- ww = true;
- type myType2 = {
- name:string,
- age:number
- }
- let zz:myType2;
- zz = {
- name:'赵六',
- age:22
- }
- // & 交叉类型
- let oo: {
- name:string
- } & {
- age?:number
- }
- oo = {
- name:'王五',
- age:18
- }
|