typescript学习之数据类型
刚到公司,项目居然是用angular写的,太痛苦了,为了项目的需要,开启了ts的学习之路,ts中的数据类型总结如下:
布二类型(boolean)
定义变量:var bool:boolean = true
数字类型 (number)
定义变量:var num:number = 123
字符串类型 (string)
定义变量: var str:string = '123'
数组类型(array)
定义数组一:var arr:number[] = [1,2,3]; 表示数组中的所有数据都是数字类型
定义数组二:var arr:Array<number> = [1,2,3]; 这样也表示定义数组,并且数组中的所有数据都是number
定义数组三:var arr:any[] = [1, 'str', true];// 数组中的数据可以是任何类型
元组类型(tuple)元组类型就是在数组中可以指定数组中的每个元素的类型
var arr:[number, string] = [123, 'this is ts'];
枚举类型 (enum)
我们定义了一个数字枚举, Up使用初始化为 1。 其余的成员会从 1开始自动增长。 换句话说,Direction.Up的值为 1, Down为 2, Left为 3, Right为 4。
enum Color{ bule, red=3, 'orange' }// 定义枚举类型,在前面加一个关键字 enum
var c:Color = Color.red;
console.log(c) // 打印3, 这个意思就是相当于改变了下标
var o:Color = Color.orange;
console.log(o) // 打印了4, 因为下标被改了
enum Color { blue, red, 'orange'}
var c:Color = Color.red
console.log(c) // 打印 1 ,如果没有赋值,就打印下标
enum State { 'undefined' = -1, 'null' = -2 , 'success' = 1}
var e:State = State.null;
console.log(e); // -2
任意类型 (any)
var num:any = 123;
num = 'str';
num = true;
console.log(num) // true 和ES5中没有指定类型的变量有点相似
// 用途:
var box:any = document.getElementById('test');
box.style.color = 'red'
null 、undefined (是never类型的子类型)
var num:number | undefined
console.log(num) // undefined 申明变量未赋值
var num:null:
num = null;
// 一个元素可以设置多个类型
var num:number | null | undefined;
void类型
概念: typescript中的void表示没有任何类型,一般用于定义函数的时候,没有返回值,在ES5中的函数默认返回的时候undefined
function run():void { } // 表示这个函数没有返回任何类型
function run ():number{ return 123 } // 表示该方法必须返回一个数值
never类型
是其他类型(包括null 和 undefined)的子类型, 代表从不会出现的值, 这意味着never的变量只能被never类型所赋值,一般不怎么用
还没有评论,来说两句吧...