欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Typescript学习—基础类型

程序员文章站 2022-07-03 21:57:49
...
// 布尔值
let isDone:boolean = false;

// 数字
let decLiteral:number = 6;

// 字符串
let name:string
// name 报错原因: 与DOM中的全局window对象的name冲突
// 解决1: 将运行环境由DOM typings更改成其他运行环境
// 解决2: 将脚本封装到模块module。module有自己的作用域, 不会与全局作用域冲突
// 在Typescript中, 只要文件存在import 或export关键字,都被视为module

// 数组
let list: string[];
let array: Array<number>;

// 元素Tuple
let x: [string, number]

// 枚举
enum Color {Red = 4, Green = 6, Blue = 7}
let c: Color = Color.Green // 6
let g: string = Color[6] // Green

// any 不清楚类型的变量指定一个类型
let notSure: any
notSure = 3;
notSure = '5'

// void 函数没有返回值, 声明变量只能赋值undefined 或null
let unusable: void;

// undefined, null  声明变量只能赋值undefiend | null
let u: undefined = null

let n: null = undefined

// never 函数无法到达终点
function infiniteLoop() :never{
  while (true){}
}

function error(message: string): never{
  throw new Error(message);
}

// Object 表示非原始类型, 也就是除了number, string, boolean, symbol, null, undefined
declare function create(o: object| null): void;
create({})
create(null)
// create(3)

// 关于let, 很多常见的问题都可以通过使用let来解决, 所以尽可能的使用let来代替var


// export {}