文章标题

学习TS——随记

一、基础数据类型

1. Boolean布尔类型

let some: boolean = true;

2. Number数字类型

let some: number = 123;

3. String字符串类型

let some: string = "123";

对于多行文本和嵌入表达式,可用``包起来,用${}嵌入

var Myname = `My name is ${num+1} and how are ${you+1}`

4.Array数组类型

一种是在元素类型后面直接写[ ]
let some: number[] = [1,2,34];
一种是数组泛型
let some: Array<number> = [1,2,34];

5.Tuple元组类型

元组类型允许表示一个已知元素数量类型的数组,各元素类型可以不一致,但是类型与元素要一一对应
let x: [string, number];
x = ['hello', 10]`; // OK`
x = [10, 'hello']; // Error

6.enum枚举类型

对js标准数据类型的补充,可以为一组数值赋予友好的名字。枚举类型中,从0开始编号,也可以手动指定成员的数值,也可以全部都赋值
enum Color {Red=1, Green, Blue}
let c: Color = Color.Green;  //2  单个赋值
enum Color {Red = 1, Green = 2, Blue = 4}
let c: Color = Color.Green; //2  全部赋值

7.Any类型

不确定类型,可能来自于动态内容,比如用户输入或第三方代码库,为了让它通过编译阶段的检测,可以为其使用any类型来标记

比如包含各种数据类型时

let list: any[] = [1,'22',true];
list[1] = 100;  //ok 

8.void类型

某种程度上是与any相反的,表示没有任何类型,而Any可以是任意类型。如当一个函数没有返回值时,通常返回值类型是void,声明一个void类型的变量只能为它赋值undefined和null
 function warnUser(): void {
    alert("This is my warning message");
 }

9.Null 和 Undefined类型

两者各自有自己的类型,分别是undefined和null,默认情况下,这两个是所有类型的子类型

10.Never类型

表示用不存在的值的类型,是任何类型的子类型,也可以赋值给任何类型,但是没有类型是never的子类或者可以赋值给never(除了它本身),即使是any也不能
// 返回never的函数必须存在无法达到的终点
function error(message: string): never {
    throw new Error(message);
}

// 推断的返回值类型为never
function fail() {
    return error("Something failed");
}

二、类型断言

表示你清楚知道某个元素的类型,好比其它语言里的类型转换,但是不进行特殊的数据检查和解构。 它没有运行时的影响,只是在编译阶段起作用。 TypeScript会假设你,已经进行了必须的检查。

    //第一种写法:尖括号
    let some:any = "this is a string";
    let length:number = (<string>some).length;
    //第二种写法:as
    let some:any = "this is a string";
    let length:number = (some as string).length;

*(两种方法皆可,但是如果你在ts里使用JSX时,只能as起作用)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值