npm i -g typescript
typeScript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typeScript中主要为我们提供了以下几种数据类型:
es5的写法(正确写法) 在ts中(错误写法)
var flag = true;
flag = 456; // ts 错误
在ts中为了编写的代码更规范,更有利于维护,增加了类型校验
写ts代码必须指定类型
var flag: boolean = true;
// flag = 123; // 错误
flag = false; // 正确
var num: number =123;
num = 456;
var str: string = 'this is ts';
str = 'hahha'; // right
str = true; // error
// es 定义数组是: var arr = ['1', '2'];
// 第一种定义数组的方式
var arr: number[] = [11, 12, 13]; // right
var arr: number[] = [11, '12']; // error
// 第二种定义数组的方式
var arr: Array<number> = [11, 12, 13];
// 第三种定义数组的方式
var arr: any[] = [123, '12']; // right
let arr: [number, string] = [123, 'this is ts']
元组类型可以给数组的每一项指定类型
随着随着计算机的不断普及,程序不仅只用于数值计算,还更广泛的用于处理非数值的数据。
例如: 性别、月份、星期几、颜色、单位名称、学历、职业等。都不是数值数据。
在其他程序设计语言中,一般用一个数值来代表某一状态,这种处理方式不直观,易读性差。
如果能在程序中用自然语言中有相应含义的单词来代表某一状态,则程序就很容易阅读和理解。
也就说,实现考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表达他的每一个值。
这种方法称为枚举方法,用这种方法定义的类型称枚举类型、
enum 枚举名 {
标识符 [= 整形常数],
标识符 [= 整形常数]
....
}
enum Flag {
test,
success = 3,
error
}
let s: Flag = Flag.success;;
let t: Flag = Flag.test;
let e:Flag = Flag.error
console.log(s); //3 如果表示符没有赋值,它的值就是下标。
console.log(t); // 0
console.log(e);// 4
var oBox: any = document,getElementById('box');
oBox.style.color = 'red';
var num: number;
console.log(num); // 报错 虽然能输出undefined
var num: undefined
console.log(num); // undefined
var num: number | undefined;
num = 123;
console.log(num);
var num: null;
num = 3; // error
一个元素可能是number 可能是null 可能是undefined
var num: number | null | undefined;
num = 1234;
ts中的void表示没有任何类型,
原文:https://www.cnblogs.com/fe-linjin/p/11336600.html