【TypeScript】基础类型

说明

TypeScript 支持与 JavaScript 几乎相同的数据类型,此外还提供了实用的枚举类型

布尔值

let msg: boolean = true;

数字

TypeScript 里的所有数字都是浮点数。 这些浮点数的类型是 number

let n1: number = 12; // 十进制
let n2: number = 0b1010; // 二进制 
let n3: number = 0o12; // 八进制
let n4: number = 0xa; // 十六进制

字符串

单引号 双引号 都可以

 let s: string =  'xxx';

undefined 和 null

它们的本身的类型用处不是很大

let und : undefined =  undefined; 
let nu: null = null;

数组

TypeScript 像 JavaScript 一样可以操作数组元素。 有两种方式可以定义数组。

第一种,let 变量名: 类型[] = [];

let arr : number[] = [1,2,3,4];

第二种 泛型定义Array<类型>

let arr : Array<number> = [1,2,3,4];

元组

元组类型允许表示一个已知元素数量类型数组

let tu: [number, string, boolean] = [1,'咪咪', true];

枚举

enum 类型是对 JavaScript 标准数据类型的一个补充

enum Color {
        Red, // 0
        Green = 10,
        Blue // 11
    }
let color: Color = Color.Blue;
console.log(Color) // 0

any

不知定义什么类型比较合适时使用

let a: any;
a = 12;
a = '12';

let b: any = 12;
b = 'a';
console.log(a, b) // '12' 'a'

object

所有对象基类

let o: object = { 'a': 12 };
let oo: object = new String('oo');

联合类型

表示取值多种类型中一种

function fun(s: number | string): number | string {
        return s
    }

类型断言

当使用 联合类型 时,编译器可能不知道,现在我们处理的时候什么类型,而出现报错,因此就需要告诉编译 现在处理的 是什么

/*
    两种定义方式:
        第一种:(<类型>变量)
        第二种:(变量 as 类型)

    */

function fun(s: number | string): number {
    // 返回参数的长度
    if ((<string>s).length) {
        return (<string>s).length;
    } else {
        return (s as number).toString().length;
    }
}

类型推断

当不定义类型是,TypeScript 会自动推断类型,如果只是定义不初始化变量,则类型为 any

let n = 123; // 推断类型为 number
// n = 'a'; // 报错

let m; // 推断类型为 any
m = 12;
m = 'a';
发表评论 / Comment

用心评论~