ts 数据类型

目录

前言

变量

布尔型

数字型

字符串类型 

undefined 和 null 类型

undefined型

null型

void类型

any类型

unknown类型

never类型

数组类型

元组类型

object类型

枚举类型

数据型枚举

字符型枚举

异构型枚举

多个类型

总结



前言

TypeScript是 JavaScript 的一个超集,支持 ECMAScript 6 标准,由微软公司开发的自由、开源的编程语言扩展了javaScript 得语法,它的设计目标是开发大型应用,全部浏览器兼容。

优点: 它有更多的规则和类型限制,代码具有更高的预测性、可控性,易于维护和调试;对模块、命名空间和面向对象的支持,更容易组织代码开发大型复杂程序。


提示:以下是本篇文章正文内容,下面案例可供参考


变量

let 变量名称:变量类型 = 变量值 (所有类型的首字母必须为小写)

布尔型

 let bool:boolean = true  //他的值只有 true/false

数字型

let num:number = 100

还支持二进制、八进制、和十进制以及十六进制的格式,如以下格式:

let binaryLiteral:number = 0b1010;
let octalLiteral:number = 0o744;
let decLiteral:number = 6;
let hexLiteral:number = 0xf00d;

字符串类型 

又称为文本数据类型,使用双引号(" ")声明: let str:string = "string"  或 使用单引号(" ")声明 let str:string = "string"

还可以使用模板字符串和定义多行文本和内嵌样式:

let name:string = "Tom";
let age:number = 17;
let info:string = `My name is ${name}, I am ${age + 1} years old`   // 我的名字是Tom,我18岁了

undefined 和 null 类型

undefined型

let u:undefined = undefined;

null型

let n:null = null;

这两种类型和 void 相似,在TS语法中,这两种类型的功能并不是很强大,它是所有类型的子类,也就是说你可以将它赋值给任意类型。如果不声明类型,默认为 undefined 型:

let varriate;
console.log(typeof varriate);  //undefined

如果给定类型的话就不能给他赋其他类型的值,否则提示语法错误:

let u:undefined;
u = undefined;  //ok
u = 100;  //提示 语法错误 不能将100 赋值给 undefined 类型

void类型

从某种程度上将,void 类型与any类型相反,他表示没有任何类型。当一个函数没有返回值时,其返回值类型是void:

function fun():void{
	console.log(‘ok’);
}

声明一个 void 类型的变量没有什么大的用处,因为他只能接收undefined 和 null 类型值

let un:void = undefined;
let nu:void = null;

any类型

当一个变量的值源于用户输入、动态内容和第三方插件,在不清楚明确类型时,可以将此变量定义为 any 型;当我们只知道一部分值的类型时,也可定义为 any 型

let notSure:any = 6;
console.log(typeof notSure);  // number
let arr:any[] = [1,true,"hello"];
console.log(arr);  // [1,true,"hello"]
arr[1] = "world";  // 此时第2个元素由数字型变为了字符串型

unknown类型

他是3.0时引入的类型,和 any 类型相似,但是相对any类型比较安全,所以定义时比 any 类型更加的严格。执行操作之前,必须进行某种形式的检查,而这是 any 类型执行操作前所没有的。

let value:unknown;
value = true;           //ok
value = 42;             //ok
value = "Hello World";  //ok

一个变量类型是变化的就用 any ,类型是固定的,但目前还不能确定或不想确定,就用 unknown ,一般需要在用之前断言一下,才能通过语法检查。

let value:unknown; 
let value1: unknown = value;            //ok
let value2: any = value;                //ok
let value3:boolean = value;             //error
let value4:boolean = value as boolean;  //ok

never类型

它是其它类型的子类型,代表从不会出现的值,never 变量只能被 never 类型所赋值,函数中它通常表现为抛出异常或无法执行到终止点(never类型只需理解即可)

数组类型

如下表示声明number 类型数组,成员都是number类型

 第一种,可以在元素类型后面接上 [ ],表示由此类型元素组成的一个数组

let nums:number[] = [1,2,3];
console.log(nums[0]);  // 1

第二种方式是使用数组泛型,Array<元素类型>

let nums:Array<number> = [1,2,3];
console.log(nums[1]);  // 2

元组类型

该类型是指定数组中每一个值具体类型,在赋值时必须遵循定义的顺序和类型,它是一种严格的数组,如以下代码:

let arr:[string,Boolean,number] = ["Hello",true,123];

object类型

表示非原始类型,也就是除number,string,boolean,symbol,null 或 undefined 之外的类型,如以下代码:

function test(obj:object){
	console.log("ok");
}
test( { name:"Tom" } ); 
test ( () => {} );
test ( [1,2] );
test (null);  // Error

(普通对象,函数,数组均是对象类型)

枚举类型

该类型是对JavaScript标准数据类型的一个补充,可以列出多个可选得范围 语法如下:

数据型枚举

可逆

enum num { one, two, three };
console.log(num);  // { "0" : "one" , "1" : "two" , "2" : "three", one : 0, two : 1, three : 2}

字符型枚举

不可逆

enum num { one = "一",  two = "二",  three = "三" };
console.log(num);  // { one : "一",  two : "二",  three : "三"}

异构型枚举

数据型枚举 + 字符串枚举

enum num { one = 1,  two = "二",  three };
console.log(num);  //{ "1" : "one" , "2" : "three" , one : 1 , two : "二" , three : 2 }

多个类型

let a:number|string|undefined
console.log(a)   // undefined 没有赋值就是undefined
a=100
console.log(a)  //100 





总结

以上就是本篇要讲的内容,本文仅仅简单介绍了 TypeScript 基础数据类型的使用,使我们快速便捷的掌握 TypeScript 基础数据类型的应用。

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热乎劲的小仓库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值