Typescript之数据类型

2019-08-16  本文已影响0人  iDevOps

本文主要通过和Javascript数据类型对比来学习Typescript的数据类型
在上篇文章中我们介绍过, typescript(简称ts)是一门强类型语言,那在ts中我们怎么指定一个变量的数据类型呢?let 变量名:数据类型, 下面就让我们通过和js数据类型的对比来学习下ts的数据类型吧

布尔类型
// js
let a = true;

// ts
let b:boolean = false;

console.log(a, b);  true false
数值类型
// js
let num1 = 10;

// ts
let num2:number = 11;
字符串
// js
let str1 = 'hello js';

// ts
let st2:string = 'hello ts';
枚举类型

js中没有这种数据类型

// ts
enum Lang{
    Java,
    Php,
    Node
}
console.log(Lang);
console.log(Lang[0]);
console.log(Lang.Java);
console.log(Lang[5]);
输出
{ '0': 'Java', '1': 'Php', '2': 'Node', Java: 0, Php: 1, Node: 2 }
Java
0
undefined
数组

ts中的数组不允许出现其他类型, 这点是跟js不一样的

// ts中定义一个数组
let nums:number[] = [1, 2, 3, 4, 5]; //数值数组只能放数值
// 数组中不能出现其他类型,我们试试放一个其他类型
le nums:number[] = [1, '2', 3, 4, 5]; // 数值数组放到一个字符串
报错: Type 'string' is not assignable to type 'number'.
元组

可以理解为数组,只是它可以保存不同类型的对象

// 定义一个分别为string和number类型的元组
let arr:[string, number] = ['hello', 11];
void

void声明的变量时,变量 只能为赋予 undefined和null ,赋予其它会报错

// ts
let name:void = null;
任意类型

当不确定变量数据类型的时候, 可以使用任意类型,变量可以赋值任意类型的值

// ts
let str:any = null;
str = "aaa";
str = 11;
console.log(str);
联合类型

可以给变量声明多个数据类型, 给变量赋值的时候我们可以赋值其中任意类型

let a:number|string = 11;
a = "bbb";
a=false?100:"ccc";

function hello(str:number|string):void{
    
}
类型推测

在ts中不写类型就会根据变量的值进行自动推测数据类型

//ts 
let a = 1; // 自动推测为数值类型
let b = 'hello'; // 自动推测为布尔类型

今天先介绍到这里, 后续会继续更新更多关于ts数据类型的知识点, 记得关注点赞哦,多谢啦!!!

上一篇下一篇

猜你喜欢

热点阅读