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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程