首页 > 其他分享 >TypeScript 常用类型

TypeScript 常用类型

时间:2022-11-01 23:22:05浏览次数:52  
标签:常用 TypeScript string void number let 类型 name

typescript 常用类型

  1. js 已有类型

    • 原始类型:number \ string \ boolean \ null \ underfined \ symbol

    • 对象类型:object(包括数组、对象、函数等对象)

  2. ts 新增类型

    • 联合类型、自定义类型(类型别名)、接口、元组、字面量类型、枚举、void 、any 等

 

联合类型


let arr: (number | string)[] = [1, 'a', 2]; //联合类型声明

类型别名


// 使用 type 关键字来创建类型别名
// 类型别名,可以是任何合法的变量名称
// 创建类型别名后,直接使用该类型别名作为变量的类型注解 即可
type CustomArray = (number | string)[];
 
let arr1: CustomArray = [1, 2, 'a', 'b'];

函数类型

// 定义 参数 和 返回值 类型
function add(num1: number, num2: number): number {
    return num1 + num2
}
​
// 函数表达式声明函数
const add1 = (num1: number, num2: number): number => {
    return num1 + num2
}
​
const add2: (num1: number, num2: number) => number = (num1, num2) => {
    return num1 + num2
}
​
// 如果函数没有返回值,函数返回值类型为 void
function greet(name: string): void {
    console.log('hello');
}
​
// 可选参数
// 参数名称后面添加 ?
// 必选参数不可以在可选参数之后
function mySlice(start?: number, end?: number): void {
    console.log(start, end);
}

对象类型

// 如果一行代码只指定一个属性类型,可以去掉分号 ;
// 方法的类型也可以使用箭头函数形式
let person: { name: string; age: number; sayHi(): void; greet(name: string): void } = {
    name: '刘老师',
    age: 18,
    sayHi() { },
    greet(name) { },
}
​
let person1: {
    name: string;
    age: number;
    sayHi: () => void
    greet: (name: string) => void
} = {
    name: '刘老师',
    age: 18,
    sayHi() { },
    greet(name) { },
}
​
// 对象可选属性
function myAxios(config: { url: string; method?: string }) { }
​
myAxios({
    url: '',
    // method: 
})

接口类型

// 使用 interface 关键字声明接口, 描述对象的类型,达到复用的目的
interface IPerson {
    name: string
    age: number
    sayHi(): void
}
​
let person2: IPerson = {
    name: '李老师',
    age: 18,
    sayHi() { },
}
​
let person3: IPerson = {
    name: '李老师',
    age: 18,
    sayHi() { },
}
​
// 接口 interface 和 类型别名 type 的区别
// 相同点:都可以给对象指定类型
// 不同点:接口,只能为对象指定类型;类型别名,不仅可以为对象指定类型,实际上可以为任意类型指定别名
type IPerson2 = {
    name: string
    age: number
    sayHi(): void
}
​
let person4: IPerson2 = {
    name: '李老师',
    age: 18,
    sayHi() { },
}
​
// 两个接口有相同的属性或方法,可以将公共的属性或方法抽离出来,通过继承来实现复用
interface Point2D { x: number; y: number }
​
// 使用继承实现复用
interface Point3D extends Point2D {
    z: number
}
​
let p3: Point3D = {
    x: 1,
    y: 2,
    z: 3
}

元组类型

// 是另一种类型的数组,它确切地知道包含多少个元素,以及特定索引对应的类型
let position : [number, number] = [1, 2];

类型推断

// 类型推论的两个场景:1.声明变量并初始化值;2.函数返回值
// 能省略类型注解的地方就省略
let a = 18 //不用写类型注解
 

 

标签:常用,TypeScript,string,void,number,let,类型,name
From: https://www.cnblogs.com/c0lmd0wn/p/16849547.html

相关文章

  • 第二章 变量和简单数据类型
    第二章变量和简单数据类型1.变量1.1变量的命名和使用变量名只能包含字母、数字和下划线(eg.message_1)变量名不能包含空格,只能用下划线来分隔其中的单词(eg.greet......
  • 【Java编程思想读书笔记】第五章(补充):静态初始化与枚举类型+第六章:访问权限控制
    参考书目:《Java编程思想》(第四版)友链:​​【读书笔记】Java重要知识点整理与汇总​​一、静态初始化:结论:静态初始化执行且仅执行一次(当首次生成这个类的一个对象时,或首次访......
  • 【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式事务特别及问题分
    世界上解决一个计算机问题最简单的方法:“恰好”不需要解决它!分布式事务方案设计实际运用理论时进行架构设计时,许多人容易犯“手里有了锤子,看什么都觉得像钉子”的错误,设计方......
  • Linux学习笔记(第十四篇)管理常用网络服务
    ​​Linux学习笔记(第零篇)计算机基础​​Linux学习笔记(第零篇)Linux文件系统及ShellLinux学习笔记(第一篇)零散命令Linux学习笔记(第二篇)目录操作命令Linux学习笔记(第三篇)文件操......
  • Javascript笔记 - 数组常用方法
    数组目录数组1.数组基础2.常用数组方法输出:toString()增删:push()、pop()、shift()、unshift()提取:splice()、concat()、slice()3.数组排序sort()reverse()4.数组迭代......
  • 【笔记】IntelliJ IDEA常用快捷键
    Ctrl+[Enter]:光标不动,在下一行前插入空行Ctrl+Shift+[Enter]:调整此行的缩进(如符号左右加空格)Ctrl+Alt+L:调整所有行的缩进Ctrl+E:显示最近的文件列表Ctrl+E+Shift:显示最近更改......
  • 数据库常用语句
    https://blog.csdn.net/weixin_55972781/article/details/118399532创建表CREATETABLEtable1(materialIdTEXT,resourceTypeTEXT,localPathTEXT,remoteUrlTEX......
  • 最常用的JavaScript数组方法
    数组在我们开发中是最容易见到的,比如我们的全国地理坐标数据,接口返回的json数据中也会有很多数组数组中,我们常用的数组方法有数组遍历,根据索引值获取数组值,以及转换......
  • numpy常用方法
    声明一个张量importnumpyasnpA=np.array([[0,2,4,7],[2,4,6,9],[1,3,7,0]])观察形状、数据结构print(A.shape)print(A.dtype)索引第0行第三个数pr......
  • 深度学习从入门到实战——机器学习常用算法总结
    机器学习笔记​​一级目录​​​​机器学习​​​​定义​​​​分类​​​​学派分类​​​​按照学习方式分类​​​​业务领域分类​​​​学习步骤​​​​学习技巧​​......