TypeScript类型(二)

对象

 示例:

复制代码
 //#region  js写法
// object表示一个js对象
let a: object;
a = {};
a = function () {
};
 //#endregion
//#region  TypeScript写法
 
// {} 用来指定对象中可以包含哪些属性
// 语法:{属性名:属性值,属性名:属性值}
// 在属性名后边加上?,表示属性是可选的,不常用
let b: {name: string, age?: number};
b = {name: '孙悟空', age: 18};

// [propName: string]: any 表示任意类型的属性  
let c: {name: string, [propName: string]: any};
c = {name: '猪八戒', age: 18, gender: '男'};

let c1:{name:string,[xxx:string]:number};
// 报错,因为自定类型是number,所以不能adress是string
c1={name:"ww",age:12,adress:"qq"}; 

//#endregion
复制代码

  

函数结构的类型声明
/*
*   设置函数结构的类型声明:
*       语法:(形参:类型, 形参:类型 ...) => 返回值
* */
let d: (a: number ,b: number)=>number;// 返回值类型是number,并且参数是number
d = function (n1: number, n2: number): number{
    return 10;
}
数组的类型声明
复制代码
/*
*   数组的类型声明:
*       类型[]
*       Array<类型>
* */
// string[] 表示字符串数组 数组中只有字符串
let e: string[];
e = ['a', 'b', 'c'];

// number[] 表示数值数值
let f: number[];
// 同上,数值数组
let g: Array<number>;
g = [1, 2, 3];
复制代码

 

元组
元组就是固定长度的数组
/*
*   元组,元组就是固定长度的数组
*       语法:[类型, 类型, 类型]
* */
let h: [string, number];
h = ['hello', 123];
枚举
复制代码
/*
* enum 枚举
*
* */
enum Gender{
    Male,
    Female
}

let i: {name: string, gender: Gender};
i = {
    name: '孙悟空',
    gender: Gender.Male // 'male'
}
复制代码
类型的别名
// 比如说
let k=1 | 2 | 3 | 4 | 5;
let l=1 | 2 | 3 | 4 | 5;

 

改进:

// 这样写很重复,所以可以做别名
type myType = 1 | 2 | 3 | 4 | 5;
let k: myType;
let l: myType;
let m: myType;

 

posted @   安静点--  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
历史上的今天:
2021-11-24 jQuery自定义插件
2021-11-24 window.onload与 $(document).ready()区别
点击右上角即可分享
微信分享提示