TypeScript的数据类型
TypeScript是JavaScript的一个超级。
number类型
数字类型是我们开发中经常使用的类型,TypeScript和JavaScript一样,不区分整数类型(int)和浮点型(double),统一为number类型。
let num = 100;
num = 20;
num = 6.66
学习过ES6应该知道,ES6新增了二进制和八进制的表示方法,而TypeScript也是支持二进制、八进制、十六进制的表示。
num = 100; // 十进制
num = 0b110; // 二进制
num = 0o555; // 八进制
num = 0xf23; // 十六进制
boolean类型
boolean类型只有两个取值:true和false。
let flag: boolean = true;
flag = false;
flag = 20 > 30;
string类型
string类型是字符串类型,可以使用单引号或者双引号表示。同时也支持ES6的模板字符串来拼接变量和字符串。
Array类型
数组类型的定义有两种方式:
Array事实上是一种泛型的写法。
const names: string[] = ["abc", "cba", "nba"]
const names2: Array<string> = ["abc", "cba", "nba"]
names.push("haha")
names2.push("xixi")
如果添加其他类型到数组中,那么会报错。
Object类型
object对象类型可以用于描述一个对象。
const myInfo: object = {
name: "haha",
age: 18,
height: 1.88
}
但是从myInfo中我们不能获取数据,也不能设置数据。
myInfo["name"] = "xixi"
console.log(myInfo["age"])
Symbol类型
在ES5中,如果我们是不可以在对象中添加相同的属性名称的,比如下面的做法:
通常我们的做法是定义两个不同的属性名字:比如identity1和identity2。但是我们也可以通过symbol来定义相同的名称,因为Symbol函数返回的是不同的值。
const s1: symbol = Symbol("title")
const s2: symbol = Symbol("title")
const person = {
[s1]: "程序员",
[s2]: "老师"
}
null和undefined类型
在 JavaScript 中,undefined 和 null 是两个基本数据类型。在TypeScript中,它们各自的类型也是undefined和null,也就意味着它们既是实际的值,也是自己的类型。
let n: null = null;
let u: undefined = undefined