TypeScript
2021/11/14 23:14:22
本文主要是介绍TypeScript,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
TypeScript简介
TypeScript 简称TS,是JavaScript的超集,JavaScript有的TS都可以做到,而JS没有的,TS也有,在语言层面上,对一些语法进行拓展。比如新增了枚举(Enum)这种在一些语言中常见的数据类型,对类(Class)实现了一些ES6标准中没有确定的语法标准等等,适用于任何规模的项目。 TypeScript可以和 JavaScript 共存,这意味着 JavaScript 项目能够渐进式的迁移到 TypeScript。
TS类型系统
Ts相对于JS最大的优势,就是多了强大的类型系统,可以代码捕获运行之前的错误,有利于大型项目的开发,和维护。
//布尔类型 let flag: boolean = true; //数字类型 let num: number = 123; // Array类型 let arr: Array<string> = []; // 第一种写法 跟react的语法有冲突,容易被错误识别 let arr1: string[] = ['a','b','c']; // 第二种写法 推荐使用第种写法 //Null / Undefined 类型 let n: null = null; let u: undefined = undefined; //Object 类型 let obj: object = { msg: 'hello world', num: 18 } //Any 类型 也就是可以赋值任何类型 let isAny: any = 666; isAny = "str"; // ok isAny = false; // ok isAny = []; // ok isAny = null; // ok // Unknown类型 和any类型类似 let value: unknown; value = Math.random; // OK value = new TypeError(); // OK value = Symbol("u"); // OK //Void 类型 //Void 类型和 Any 类型相反,他表示没有任何类型。 //当一个函数没有返回值的时候,就需要使用 Void 类型。 function fn(): void { console.log('666') } // 函数名 + 括号 + ( : void ) ==> 代表函数的返回值 "use strict"; let voidType: void = undefined; let value1: unknown = value; // OK let value2: any = value; // OK //Never 类型 //never 类型表示的是那些永不存在的值的类型。 //never 类型是那些总会爆出异常或根本不会有返回值的函数的返回值类型。 function error(): never { throw new Error('handle error') } function while(): never { while(true) { console.log(1) } } 元组类型 数组一般都是由同一种类型组成; 但有时我们需要在单个变量中存储不同类型的值,这就是元组 let tupleType: [string, number, boolean]; tupleType = ['str', 666, true]; // error tupleType = [true, "str"]; // Type 'true' is not assignable to type 'string'. // Type 'semlinker' is not assignable to type 'number'.
Enum枚举
*枚举 enum 讲一组可能出现的值,
*使用枚举我们可以定义一些带名字的常量。
*使用枚举可以清晰地表达意图或创建一组有区别的用例。
*TypeScript 支持数字的和基于字符串的枚举。
数字枚举
//数字类型 enum Direction { NORTH, // NORTH = 0, SOUTH, // SOUTH = 1 EAST, // EAST = 2 WEST, // WEST = 3 } let dir: Direction = Direction.NORTH; // 枚举之反向映射 let dirName = Direction[0]; // NORTH let dirVal = Direction["NORTH"]; // 0 默认情况NORTH的值是0,其他成员默认递增,如果第一项设置默认值,则从默认值开始递增
字符串枚举
enum Direction { NORTH = "NORTH", SOUTH = "SOUTH", EAST = "EAST", WEST = "WEST", } //给所有的变量添加一个初始的字符串默认值
异结构枚举
enum Enum { A, // 0 B, // 1 C = "C", D = "D", E = 8, F, // 9 } console.log(Enum.A) //输出:0 console.log(Enum[0]) // 输出:A
这篇关于TypeScript的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享