有学有练才叫学习:学而不思则罔,思而不学则殆:学而不习,纸上谈兵,习而不进,画地为牢!

ts 数据类型 TypeScript基本数据类型(介绍及用法)

javascript 炮渣日记 3周前 (11-10) 15次浏览 已收录 0个评论 扫描二维码

TypeScript基本数据类型

ts 数据类型 TypeScript基本数据类型(介绍及用法)

1、布尔值:boolean,表示逻辑值,true/false值

2、数字:number,双精度 64 位浮点值。它可以用来表示整数和分数。

3、字符串:string,一个字符系列,使用单引号(’)或双引号(”)来表示字符串类型。反引号(`)来定义多行文本和内嵌表达式。

4、数组:和JavaScript一样可以操作数组元素, 有2种方式可以定义数组,1、在元素类型后面接上 [],表示由此类型元素组成的一个数组;2、使用数组泛型,Array<元素类型>。

5、元组:Tuple,允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。

6、枚举:enum,是对JavaScript标准数据类型的一个补充。

7、Any:任意类型,声明为 any 的变量可以赋予任意类型的值。

8、Void:某种程度上,void类型像是与any类型相反,它表示没有任何类型。一般用于标识方法返回值的类型,表示该方法没有返回值。

9、Null:表示对象值缺失。

10、Undefined:用于初始化变量为一个未定义的值。

11、Never:是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。

基本数据类型的代码案例

datatype.ts

//布尔值
let flag:boolean = false;
console.log("flag=",flag);

//数字
let number1:number = 123;
let number2:number = 4.567;
console.log("number1=",number1);
console.log("number2=",number2);

//字符串
let string1:string = "字符串1";
let string2:string = '字符串2';
console.log("string1=",string1);
console.log("string2=",string2);

//数组
let array1:number[] = [1,2,3,4.56];
let array2:string[] = ["hello","world"];
let array3:Array<boolean> = [false,true];
console.log("array1=",array1);
console.log("array2=",array2);
console.log("array3=",array3);

// 元组
let tuple1:[boolean,number,string] = [false,1001,"str"];
let tuple2:[string,Array<number>] = ["数组",[1,2,3,4,5]];
console.log("tuple1=",tuple1);
console.log("tuple2=",tuple2);

// 枚举
enum Color{Red,Blue,Green}
let color1:Color = Color.Red;
let color2:Color = Color.Blue;
let color3:Color = Color.Green;
console.log("enum,color1=",color1,",color2=",color2,",color3=",color3);
enum Status{init=1,create=2,payee=3}
console.log("enum,init=",Status.init,",create=",Status.create,",payee=",Status.payee);
enum Color2 {Red = 1, Green, Blue}
let colorName: string = Color2[2];
// 输出  colorName= Green
console.log("colorName=",colorName);

// Any
let any1: any = 4;
console.log("any1=",any1);
any1 = "更改为字符串";
console.log("any1=",any1);
any1 = false; 
console.log("any1=",any1);

// Void
// void类型像是与any类型相反,它表示没有任何类型。
function voidType1(): void {
    console.log("void 函数返回void类型");
}
voidType1();
// 声明一个void类型,只能为它赋予undefined和null:
let voidType2:void = undefined;
let voidType3:void = null;
console.log("voidType2=",voidType2);
console.log("voidType3=",voidType3);

// null
// 本身的类型用处不是很大
let null1:null = null;
console.log("null1=",null1);
// null1 typeof= object
console.log("null1 typeof=",typeof(null1));

// undefined
// 本身的类型用处不是很大
let undefined1:undefined = undefined;
console.log("undefined1=",undefined1);
// undefined1 typeof= undefined
console.log("undefined1 typeof=",typeof(undefined1));

// never
// 表示永不存在的值的类型
// 返回never的函数必须存在无法达到的终点
function never1(message: string): never {
    throw new Error(message);
}
// 推断的返回值类型为never
function never2() {
    return new Error("error");
}
// 返回never的函数必须存在无法达到的终点
function never3Loop(): never {
    while (true) {
    }
}

// 类型断言
let stringValue1: any = "这是一个字符串";
let stringLength1: number = (<string>stringValue1).length;
console.log("stringValue1=",stringValue1);
console.log("stringLength1=",stringLength1);
// 类型断言,as语法
let stringValue2: any = "这是另外一个字符串";
let stringLength2: number = (stringValue2 as string).length;
console.log("stringValue2=",stringValue2);
console.log("stringLength2=",stringLength2);

代码编译运行

编译:

tsc datatype.ts

运行:

node datatype.js

喜欢 (0)
炮渣日记
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址