TypeScript数据类型

1.单一基本数据类型 (以number 示例)

var a:number=123;
//指定a变量的类型是number,以后这个变量只能保存number类型的数据
const b='hello';
var c=222;
console.log(a);// 123
a=c;
console.log(a);// 222
// a=b;  报错,无法存储number以外的数据类型

2.联合类型

// 联合类型 自定义一个新的类型manyType
type manyType = number | boolean | string;
//manyType 可以保存number/boolean/string三种数据类型
let x: manyType;
x = true;
console.log(x);// true

3.类型推论:

没有声明类型的变量被赋值一次后,变量的类型就确定了,之后再次被赋值时,不可改变赋值的类型。

let y=10;
// y='string'; 报错,y现在只能储存number类型
console.log(y);//10

4.数组:有两种声明数组的方法

let arr1:number[];//只能放number的数组
let arr2:Array<string|number>;//可以放string或number的数组

5.元组:表示一个已知元素数量和类型的数组

let tom:[string, number] = ['Tom', 25];
//通过下标赋值
tom[0] = 'ori';
tom[1] = 18;
tom.push('male');
// tom.push(true);//报错,当添加越界的元素时,它的类型会被限制为元组中每个类型的联合类型
console.log(tom); //[ 'ori', 18, 'male' ]
//解构赋值
const [myname, myage]: [string, number] = ["羽毛",456];
console.log(myname, myage);// 羽毛 456

6.枚举 :

是对JS标准数据类型的一个补充。 使用枚举类型可以为一组数值赋予友好的名字。

枚举成员会被赋值为从 0 开始递增的数字,同时也会对枚举值到枚举名进行反向映射,也可以手动的指定成员的数值;

//性别 一般是存储为数字的
enum Gender {Secret, Male, Female};
console.log(Gender.Male); // 1
//一周的每天
enum Days {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
console.log(Days.Sun, Days.Mon, Days.Tue, Days.Sat);//0 1 2 6
console.log(Days["Sun"] === 0); // true
console.log(Days[6] === "Sat"); // true
//商品的状态  可以手动设置初识值  或 每个都设置具体的值
enum orderStatus {Car=55, Order, Payed, Deliver, Receive=10, Comment, Return};
console.log(orderStatus.Car, orderStatus.Payed,orderStatus.Comment);//55 57 11

7.対象:

let obj:object = [1, 2, 3]
console.log(obj);
obj= {id:1, name:'情緒'};
console.log(obj);

8.接口:

interface Person{
    readonly name:string,//只读属性
    age:number,
    car?:string,//可选属性
    //除了可选属性,其他不可缺少,也不能多去添加
}
let p1:Person;
p1={name:"起飞",age:18,car:"奔驰"}
console.log(p1);
let p2:Person;
p2={name:"哈哈",age:25}
// p2={name:"哈哈",car:"奔驰"} 报错
// p2={name:"哈哈",car:"奔驰",zz:555} 报错
console.log(p2);

9.any:

任何类型都是any的子类型,any类型的任何成员都是any类型

interface Dog{
    [asd:number]:any
    //属性名必须为number,属性值为any类型,并且没有数量限制
}
let d1:Dog;
d1={0:"asd",8:123}
console.log(d1);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值