乐趣区

关于前端:TypeScript入门级1

1.typeScript 装置步骤

  • a. 用 tsc –init 初始化配置
  • b. 编辑 tsconfig.json 配置 TypeScript 选项

2.typeScript 根本类型

  • boolean 布尔类型
  • Number 数字
  • String 字符串
  • void 空值
  • null
  • undefined
  • symbol

在应用 symbol 时,必须增加 ES6 编译辅助库 "lib": ["es6"]

  • BigInt

BigInt (能够存储和操作大整数) 在应用时,须要增加 ESNext 的编译辅助库 "lib": ["ESNext"]

3.typeScript 中的其余常见类型

  • any 任意类型
  • unknown typeScript3.0 引入的类型,any 类的平安类型

nknown 和 any 的次要区别是  unknown 类型会更加严格: 在对 unknown 类型的值执行大多数操作之前, 咱们必须进行某种模式的查看, 而在对 any 类型的值执行操作之前, 咱们不用进行任何查看

let value: any; 
value.foo.bar; // OK

let value: unknown; 
value.foo.bar; // ERROR
  • never
never 类型示意的是那些永不存在的值的类型,never 类型是任何类型的子类型,也能够赋值给任何类型;然而,没有类型是 never 的子类型或能够赋值给 never 类型(除了 never 自身之外)注:即便 any 也不能够赋值给 never。
// 抛出异样的函数永远不会有返回值 
function error(message: string): never {throw new Error(message); 
} 

// 空数组,而且永远是空的 
const empty: never[] = []
  • Array(数组)

数组有两种类型定义形式,一种是应用泛型:
const list: Array<number> = [1, 2, 3]

另一种应用更加宽泛那就是在元素类型前面接上 
[]: const list: number[] = [1, 2, 3]

  • 元组(Tuple)

元组类型与数组类型十分类似,示意一个已知元素数量和类型的数组,各元素的类型不用雷同

let x: [string, number]; 

x = ['hello', 10, false] // Error 

x = ['hello'] // Error 

x = [10, 'hello'] // Error 

x = ['hello', 10] // ok 

interface Tuple extends Array<string | number> { 
    0: string; 
    1: number; 
    length: 2; 
} 
const tuple: [string, number] = ['a', 1]; tuple.push(2); // ok 

console.log(tuple); // ["a", 1, 2] -> 失常打印进去 

console.log(tuple[2]); // Tuple type '[string, number]' of length '2' has no element at index '2'
  • Object

object 示意非原始类型,也就是除 number,string,boolean,symbol,null 或 undefined 之外的类型。

退出移动版