TypeScript学习一:数据类型

类型1:布尔值

说明:true或者false

let a: boolean = false;

类型2:数字

说明:ts里面所有的数字都是浮点数,类型为number,十进制、十六进制、二进制、八进制

let b: number = 6;
let c: number = 0xf00d;

类型3:字符串

说明:使用双引号(")或单引号(')表示字符串

let d: string = "xiaoming";
d = "xiaohong";

类型4:模板字符串

说明:定义多行文本和内嵌表达式,字符串被反引号包围(`),以${ exp }嵌入表达式

let nname: string = `Gene`;
let age: number = 37;
let sentence: string = `Hello, my name is ${nname}.
I'll be ${ age + 1 } years old next month.`;
console.log("模板字符串:");
console.log(sentence);

类型5:数组

说明:方式一:在元素类型后面接上[],方式二:使用数组泛型,Array<元素类型>

let list: number[] = [1, 2, 3];
let list2: Array<number> = [1, 2, 3];

类型6:元组Tuple

let x: [string, number];
x = ['hello', 10];
console.log(x[0].substr(1));
// console.log(x[1].substr(1)); //会报错,因为number类型没有substr方法
// x[3] = 'world'; //会报错,ts2.7版本后,元祖长度被固定,访问元祖越界元素会报错

类型7:枚举enum

enum Color {Red = 1, Green = 3, Blue};
let cc: Color = Color.Green;
let colorName: string = Color[3];
console.log(cc); // 输出为3
console.log(colorName); // 输出为Green

类型8:Any

说明:可以是任意类型的值,可以调任意方法

let nos: any = 4;
nos = "maybe a string instead";
nos = false;
// nos.ifItExists();
// nos.toFixed();
let lisa: any[] = [1, true, "free"];
lisa[1] = 100;
console.log(lisa); // 输出为[1, 100, 'free']

类型9:Void

function warnUser(): void {
    console.log("This is my warning message");
}
let unusable: void = undefined;

类型10:Null和Undefined

let u: undefined = undefined;
let n: null = null;

类型11:Never

说明:永不存在的值的类型

function error(message: string): never { // 返回never的函数必须存在无法达到的终点
    throw new Error(message);
}
function fail() { // 推断的返回值类型为never
    return error("Something failed");
}
function infiniteLoop(): never { // 返回never的函数必须存在无法达到的终点
    while (true) {
    }
}

类型12:Object,除number、string、boolean、symbol、null、undefined之外的类型

declare function create(o: object | null): void;
create({prop: 0 });
create(null);
// create(42); // 报错
// create("string"); // 报错
// create(false); // 报错
// create(undefined); // 报错
let shoes: {size: number, color: Color};
shoes = {
    size: 38,
    color: Color.Green
}
// 属性后面加?,表示属性可选
let student: {name: string, age: number, class?: string};
student= {name: '小李', age: 18};
// 属性加中括号,表示可以有任意属性,any表示任意类型
let people: {name: string, [keys: string]: any};
people= {name: '小张', age: 12, idcard: '23451212434'};

类型13:类型断言

let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;
let strLength2: number = (someValue as string).length;
  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值