TypeScript--学习笔记之二
2020-02-02 14:34
1161 查看
TypeScript的数据类型(11种)
JavaScript含有的类型(6种):
- Number(数字类型)双精度 64 位浮点值。它可以用来表示整数和分数
- Boolean(布尔类型)表示逻辑值:true 和 false
- String(字符串类型)使用单引号(’)或双引号(")来表示字符串类型。反引号(`)来定义多行文本和内嵌表达式
- Array(数组类型)
- Null:表示对象值缺失
- Undefined:用于初始化变量为一个未定义的值
TypeScript多出来的类型(5种):
- Enum(枚举类型)指将变量的值一一列出来,变量的值只限于列举出来的值的范围内
- Tuple(元组类型)表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。
- Any(任何类型)可以赋予任意类型的值
- Never(其他类型(包括null和undefined)的子类型)代表不会出现的值
- Void(没有任何类型)表示定义方法时没有返回值
定义 enum enumName { name1, name2, name3, ... } 使用(下标默认从0开始) enum fruits { apple, orange, banana } 获取枚举变量的下标: let index : number = fruits.orange console.log(index) // 1 设置枚举变量值的下标: enum fruits { apple=2, orange, banana } let index : number = fruits.orange console.log(index) // 3(以前面的下标为起点加1) 通过下标获取枚举变量的值: enum fruits { apple=2, orange, banana } let value : string = fruits[3] console.log(value) // orange 如果取枚举变量不存在的值,会报错: console.log(fruits.peach) // error TS2339: Property 'peach' does not exist on type 'typeof fruits'.元组类型(tuple)
let value : [ string, numer ] value = [ 'Mashy', 9 ] // 正常运行 value = [ 9, 'Mashy' } // 报错 获取元组的值(类似数组取值) console.log(value[1]) // 9Any类型
变量的会动态变化时,需要在编译时跳过编译阶段的类型检查 let x : any = 1 // 数字类型 x = 'My name is Mashy' // 字符串类型 x = [1, 12, 123] // 数组类型 改写现有代码时,任意值允许在编译时可选择地包含或移除类型检查 let x: any = 4 x.ifItExists() // 正确,ifItExists方法在运行时可能存在,但这里并不会检查 x.toFixed() // 正确 定义存储各种类型数据的数组时 let arrayList: any[] = [1, false, 'fine'] arrayList[1] = 100Never
never 类型的变量只能被 never 类型所赋值,在函数中它通常表现为抛出异常或无法执行到终止点(例如无限循环)
let x: never let y: number x = 123 // 运行错误,数字类型不能转为 never 类型 // 运行正确,never 类型可以赋值给 never类型 x = (()=>{ throw new Error('exception')})() // 运行正确,never 类型可以赋值给 数字类型 y = (()=>{ throw new Error('exception')})() // 返回值为 never 的函数可以是抛出异常的情况 function error(message: string): never { throw new Error(message) } // 返回值为 never 的函数可以是无法被执行到的终止点的情况 function loop(): never { while (true) {} }void
有返回值的方法 function hasReturn(): number{ console.log(‘return number!!’) return 88 } console.log(hasReturn()) // 88 没有返回值的方法 function notReturn(): void { console.log("not return") } console.log(notReturn()) // undefined
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 设计模式C++学习笔记之二(Proxy代理模式)
- Java基础学习笔记及心得——数据库系列之二,java连接数据库
- hadoop学习笔记之二:分布式系统中的CAP理论
- Python基础学习笔记之二
- Junit学习笔记之二:hamcrest简介和TestSuite
- ETL学习笔记之二:ETL与BI
- CAFFE源码学习笔记之二-Syncmemory
- ABAP学习笔记之二---变量和表达式
- java 学习笔记之二
- 2010年SQLite学习笔记之二
- S2Container框架学习笔记之二
- 【黑马程序员】简单拍照功能的实现(学习笔记)之二
- FreeRTOS学习及移植笔记之二:在IAR和STM32F103VET上移植FreeRTOS
- 奶爸业余单片机学习之:C语言基础——指针(指针变量)学习笔记之二
- JavaScript 学习笔记之二:编写自己的jQuery扩展分页插件(分享yQuery)
- MOSS学习笔记之二---找回丢失的选项
- excel学习笔记之二
- python 3.0学习笔记之二------python基础小知识
- Tableau学习笔记之二
- mysql5.6从零开始学学习笔记之二(数据备份)