TypeScript笔记 —— 数据类型

84 阅读2分钟

TypeScript的数据类型

TypeScript是JavaScript的一个超级。

image.png

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")

如果添加其他类型到数组中,那么会报错。

image.png

Object类型

object对象类型可以用于描述一个对象。

const myInfo: object = {
    name: "haha",
    age: 18,
    height: 1.88
}

但是从myInfo中我们不能获取数据,也不能设置数据。

myInfo["name"] = "xixi"
console.log(myInfo["age"])

image.png

image.png

Symbol类型

在ES5中,如果我们是不可以在对象中添加相同的属性名称的,比如下面的做法:

image.png 通常我们的做法是定义两个不同的属性名字:比如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