TS基础类型

目录

一 布尔值(Boolean)

最基本的数据类型,只有简单的true/false两个值,在JS和TS里叫做 Boolean。

二 数字(number)

和JS一样,TS里的所有数字都是浮点数,类型是 number。

三 字符串(string)

 使用 string表示文本数据类型。 和JS一样,可以使用双引号( ")、单引号(')和反引号(`)表示字符串

四 元组(Tuple)

元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。 比如,你可以定义一对值分别为 string和number类型的元组。

五 枚举(enum)

开发的时候以不同的条件执行不同的分支语句;  不同的条件 的代码表现  往往是数字或者字符串

六  数组

TS像JS一样可以操作数组元素。 有两种方式可以定义数组。

七 联合类型和类型别名

八 对象(Object)


一 布尔值(Boolean)

最基本的数据类型,只有简单的true/false两个值,在JS和TS里叫做 Boolean。

let isLogin: boolean = false;
// 编译通过
// 后面约定,未强调编译错误的代码片段,默认为编译通过

let isLogin2: boolean = new Boolean(1);
//编译报错
//使用构造函数 Boolean 创造的对象不是布尔值

二 数字(number)

和JS一样,TS里的所有数字都是浮点数,类型是 number。

let n1: number = 6;
let n2: number = 0xf00d;// ES6 中的十六进制表示法,会被编译为十进制数字
let n3: number = 0b1010;// ES6 中的二进制表示法,会被编译为十进制数字
let n4: number = 0o744;// ES6 中的八进制表示法,会被编译为十进制数字
let n5: number = NaN;
let n6: number = Infinity;

三 字符串(string)

 使用 string表示文本数据类型。 和JS一样,可以使用双引号( ")、单引号(')和反引号(`)表示字符串

let myName: string = 'karen';
let myAge: number = 25;

// 模板字符串
let str: string = `Hello, my name is ${myName}.
I'll be ${myAge + 1} years old next month.`;

四 元组(Tuple)

元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。 比如,你可以定义一对值分别为 stringnumber类型的元组。

//1.默认值
let tom: [string, number] = ['Tom', 25];
//2.通过下标赋值
let tom: [string, number] = ['', 0];
tom[0] = 'Tom';
tom[1] = 25;
//通过下标获取元组的元素并进行对应的操作
tom[0].slice(1);
tom[1].toFixed(2);
//3.越界操作
let tom: [string, number];
tom = ['Tom', 25];
tom.push('male');
tom.push(true);//报错,当添加越界的元素时,它的类型会被限制为元组中每个类型的联合类型

//解构赋值
const lilei: [string, number] = ["Lilei", 23];
console.log(lilei);
const [myname, myage]: [string, number] = lilei;
console.log(myname, myage);
// 解构赋值
let arr:[number,string]=[100,'hello']//不是解构
let [A,B]:[number,string]=[100,'hello']//是解构 ---->解构的隐式代码 let A=x[0]  let B=x[1]

let obj1:[number,string]=[100,"hello"]
let [x,y]:[number,boolean]=[100,true]
console.log(x,y)

五 枚举(enum)

开发的时候以不同的条件执行不同的分支语句;  不同的条件 的代码表现  往往是数字或者字符串

// 枚举
enum netWork{net2G,net3G,net4G,net5G,net6G}
function fn(x:number){
if(x==0){1
   console.log("做2g的网络请求")
}
else if(x==1){
    console.log("做3g的网络请求")
}
else if(x==2){
    console.log("做4g的网络请求")
}
else if(x==3){
    console.log("做5g的网络请求")
}
else if(x==4){
    console.log("做6g的网络请求")
}
}
fn(netWork.net6G)//net6G-->可以需求改变
  • 六  数组

TS像JS一样可以操作数组元素。 有两种方式可以定义数组。

   第一种:可以在元素类型后面接上【】

let arr:number[]
arr=[100,200,300]
console.log(arr);//[100,200,300]

let arr1:string[]
arr1=['Chinese','English']
console.log(arr1);//['Chinese','English']

   第二种:Array<元素类型>

let arr2:Array<string|number>
arr2=[1,2,3,'hello']
console.log(arr2);//[ 1, 2, 3, 'hello' ]

七 联合类型和类型别名

type Mytype=number|string|boolean
let color:Mytype
color=100//打印100
color='color'//打印color
color=true//打印true

八 对象(Object)

let p1:object;//非基础类型,引用类型
p1={name:"karen",age:23}  //{name:"karen",age:23}
p1=[10,20,320]//数组也是特殊的对象 -->打印[10,20,320]
p1={name:'jack',age:18,color:"red"} //{name:'jack',age:18,color:"red"}
// p1="hello" //报错
console.log(p1)

let p2:Object;
p2=[10,20]
console.log(p2);//[10,20]

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值