05 # 基本类型

简介: 05 # 基本类型

类型注解

作用:相当于强类型语言中的类型声明


语法: (变量/函数): type

原始类型:

let bool: boolean = true;
let num: number = 313;
let str: string = 'kaimo';


数组:

let arr: number[] = [1, 2, 3];
let arr2: Array<number | string> = [1, 2, 3, '4'];


元组:是一种特殊的数组,它限定了数组元素的类型和个数

let tuple: [number, string] = [1, '2'];


元组越界访问,tuple[2] 会提示报错,开发中不建议这样使用

tuple.push(2)
console.log(tuple); // [1, '2', 2]
tuple[2]


函数

let add = (a: number, b: number) =>  a + b;
// 定义函数类型
let compute: (x: number, y: number) => number;
compute = (a, b) => a + b;


对象

// 下面这种事不容许的
let obj: object = { name: 'kaimo', age: 18 };
obj.age = 313; // 报错 `类型“object”上不存在属性“age”。`
// 需要制定成员类型
let obj1: { name: string, age: number } = { name: 'kaimo', age: 18 };
obj1.age = 313; 


Symbol 具有唯一的值

let s1: symbol = Symbol();
let s2 = Symbol();
console.log(s1 === s2);


undefined、null

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


num 不能赋值为 undefined 和 null,需要开启 tsconfig.json 配置

"strictNullChecks": false


void 没有任何返回值的类型

let noReturn = () => {};


any 任意类型,不指定类型,可以任意的给其赋值

let x;
x = 1;
x = [];
x = () => {};


never 永远不会有返回值的类型

  • 函数中,抛出错误
  • 死循环
let error = (msg: string) => {
    throw new Error(msg)
};
let infiniteLoop = () => {
    while (true) {}
}


目录
相关文章
|
4月前
|
JavaScript 前端开发
值类型(基本类型)
【8月更文挑战第26天】
34 4
|
存储 Java
包装类和基本数据类型
包装类和基本数据类型
|
7月前
|
存储 编译器 程序员
C++基本数据类型
C++基本数据类型
|
缓存 Java
基本数据类型包装类
基本数据类型包装类
67 0
|
存储 Java
基本数据类型和引用数据类型的区别
基本数据类型和引用数据类型的区别
111 0
|
存储 编译器 程序员
【C++Primer】第2章:变量和基本类型
【C++Primer】第2章:变量和基本类型
110 0
【C++Primer】第2章:变量和基本类型
|
C# 图形学
unityShder的基本类型
unityShder的基本类型
|
存储 安全 索引
1 变量和基本数据类型
1 变量和基本数据类型
95 0
|
存储 编译器 C++
【C++】基本数据类型和变量
有关C++数据类型的记录
145 0
【C++】基本数据类型和变量