Ts 中的基础数据类型

·  阅读 81

typescript基础数据类型

布尔值(Boolean)

最简单的数据类型,只有两个值 true 和 false

let isTs : boolean = false;
复制代码

数字(Number)

与js一样,在ts中所有的数字也都是浮点数

let num : number = 666;
复制代码

字符串(String)

与js一样可以使用单引号或者双引号来表示一个字符串

let str : string = "hello world";
复制代码

也可以使用模板字符串,它使用反引号包裹并且可以通过 ${exp} 来嵌入表达式,并且可以定义多行文本

数组(Array)

在ts中定义一个数组有两种方法

  1. 在元素类型后接 [] ,表示此类型数据组成一个数组
  2. 使用数组泛型 Array<元素类型>
let numList1 : number[] = [1,2,3,4];
let numList2 : Array<number> = [1,2,3,4];
复制代码

元祖(Tuple)

元祖类型用于表示那些已知元素数量与类型的数组,元素数据类型可以互不相同

let x : [ number, boolean ]
x = [ 1, false ]; // ok
x = [ false, 1 ]; // error
复制代码

如果访问越界元素,会使用联合类型替代

x[6] = 3; // ok 3-->number
x[5] = true; // ok true-->boolean
x[4] = "越界元素"; //error 不是数字也不是布尔,无法赋值
复制代码

枚举(Enum)

Enum是对js数据类型的补充,可以为一组数值赋予更加语义化的名字。其中枚举又可以细分为数字枚举与字符串枚举

  1. 数字枚举
enum Color {
  Red,
  Blue,
  // 可以自定义元素编号,通过编号能拿到指定的值
  Green = 4,
  Yellow,
}
let c : Color = Color.Red; // 0
let cName : string = Color[0]; // Red (string)
复制代码

默认编号从0开始依次递增。但可以通过自定义来改变编号例如:Green自定义编号为4,后续的Yellow则为5。

  1. 字符串枚举
enum Direction{
  Up: "up";
  Down: "down";
  Left: "left";
  Right: "right";
}
let dir : string = Direction.Up; // "up"
复制代码

任意值(Any)

当我们不确定一个数据的类型时,不希望类型检查器去检查这个数据的类型时,我们可以使用any,任何类型的数据都能够成功赋值给一个any类型的变量

let notSure : any = undefined;
notSure = "may be a String";
notSure = false;
// 这些都是不会报错的
复制代码

Unknown 类型

  1. unknown 类型与 any 类型类似,所有类型的值都能赋给一个 unknown 类型的变量
  2. unknown 类型数据只能赋值给 any 与自己本身,赋值给其他类型变量时会报错。
  3. unknown类型数据禁止任何的更改
let value : unknown;

value.length; //error
value.foo; //error
value.strim(); //error
value(); //error
复制代码

空值(Void)

void类型表示没有任何类型,最常见的当一个函数没有返回值时,其返回值的类型通常是void

function print (name : string) : void {
  console.log("no return!");
}
复制代码

一般情况我们很少声明一个void类型的变量,因为void类型变量只能被赋予 undefinednull

Undefined 和 Null

undefinednull 在ts中也拥有各自的类型

let un : undefined = undefined;
let nu : null = null; 
复制代码

默认情况下可以将 undefinednull 赋值给任意类型的变量。但如果指定了 ---stricNullChecks 标记,那么 undefinednull 只能赋值给 void 以及它们本身的类型

Never

never 表示的是不可能存在的值的类型。比如 never 类型一般是哪些会报错或抛出异常的函数的返回值类型

function error (message : string) : never {
  throw new Error(message);
}
复制代码
分类:
前端
标签:
分类:
前端
标签: