Typescript中的数据类型实例总结

 更新时间:2022年3月25日 14:46  点击:545 作者:用户名为空_

是什么

typescript和javascript几乎一样,拥有相同的数据类型,另外在javascript基础上提供了更加实用的类型供开发使用。

在开发阶段,可以为明确的变量定义为某种类型,这样typescript就能在编译阶段进行类型检查,当类型不符合预期结果的时候则会出现错误提示

有哪些

typescript的数据类型主要有如下:

  • 1、boolean(布尔类型)
  • 2、number(数字类型)
  • 3、string(字符串类型)
  • 4、array(数组类型)
  • 5、tuple(元组类型)
  • 6、enum(枚举类型)
  • 7、any(任意类型)
  • 8、null和undefined类型
  • 9、void类型
  • 10、never类型
  • 11、object(对象类型)

boolean

let flag:boolean = true;
flag = 123;    // 错误
flag = false;  // 正确

number

数字类型,和javascript一样,typescript的数值类型都是浮点数,可支持二进制、八进制、十进制和十六进制。

let num:number = 123;
num = '456';   // 错误
num = 456;     // 正确

进制表示:

let decLiteral:number = 6; // 十进制
let hexLiteral:number = 0xfood; // 十六进制
let binaryLiteral:number = 0b1010; // 二进制
let octalLiteral:number = 0o744; // 八进制

string

字符串类型,和javascript一样,可以使用双引号(")或单引号(')表示字符串

let str:string = 'this is ts';
str = 'test';

作为超集,当然也可以使用模板字符串进行包裹,通过${}嵌入变量

let name:string = `Gene`;
let sentence:string = `Hello, my name is ${name}`

array

数组类型,跟javascript一致,通过[]进行包裹,有两种写法:

方式一:元素类型后面接上[]

let arr:string[] = ['12','23'];
arr = ['45','56'];

方式二:使用数组泛型,Array<元素类型>:

let arr:Array<number> = [1,2];
arr = ['45','55'];

tuple

元组类型,允许表示一个已知元素和类型的数组,各元素的类型不必相同

let tupleArr:[number,string,boolean];
tupleArr = [12,'34',true]; // yes
tupleArr = [12,'34']; // no

enum

enum类型是对javascript标准数据类型的一个补充,使用枚举类型可以为一组数值赋予友好的名字

enum Color {Red,Green,Blue}
let c:Color = Color.Green;

any

可以指定任何类型的值,在编程阶段还不清楚类型的变量指定一个类型,不希望类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查,这时候可以使用any类型

使用any类型允许被赋值为任意类型,甚至可以调用其属性、方法

let num:any = 123;
num = 'str';
num = true;

定义存储各种类型数据的数组时,示例代码如下:

let arrayList:any[] = [1,false,'fine'];
arrayList[1] = 100;

null和undefined

在javascript中null表示 “什么都没有”,是一个只有一个值的特殊类型,表示一个空对象引用,而undefined表示一个没有设置值的变量。

默认情况下null和undefined是所有类型的子类型,就是说你可以把null和undefined赋值给number类型的变量

let num:number | undefined; // 数值类型或者undefined
console.log(num); // 正确
num = 123; 
console.log(num); // 正确

但是ts配置了--strictNullChecks标记,null和undefined只能赋值给void和它们各自

void

用于标识方法返回值的类型,表示该方法没有返回值。

function hello():void {
    alert('Hello Runoob')
}

never

never是其他类型(包括null和undefined)的子类型,可以赋值给任何类型,代表从不会出现的值,

但是没有类型是never的子类型,这意味着生命never的变量只能被never类型所赋值。

never类型一般用来指定哪些总是会抛出异常,无限循环

let a:never;
a = 123; // 错误的写法

a = (() => { // 正确的写法
    throw new Errow('错误')
})()

// 返回的never的函数必须存在无法达到的终点
function error(message:string): never {
    thorw new Error(message);
}

object

对象类型,非原始类型,常见的形式通过{}进行包裹

let obj:object;
obj = {name:'Zhang',age:23};

总结

和javascript基本一致,也分成:

  • 1、基本类型
  • 2、引用类型

在基础类型上,typescript增添了void、any、emun等原始类型。

到此这篇关于Typescript数据类型的文章就介绍到这了,更多相关Typescript数据类型内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!

原文出处:https://juejin.cn/post/7078584459385110559

[!--infotagslink--]

相关文章

  • php中浮点型(float)和整型(integer)数据类型详解

    文章分析了关于php中浮点型(float)和整型(integer)数据类型的用法区别以及在那种情况下会出现数据长度不够。 取值只能为True或者False,当其他类型转化为boolean类...2016-11-25
  • c# 数据类型占用的字节数介绍

    本篇文章主要是对c#中数据类型占用的字节数进行了详细的介绍。需要的朋友可以过来参考下,希望对大家有所帮助...2020-06-25
  • 浅谈TypeScript 索引签名的理解

    这篇文章主要给大家分享的是TypeScript 索引签名的理解,索引签名由方括号中的索引名称及其类型组成,后面是冒号和值类型:{ [indexName: KeyType]: ValueType }, KeyType 可以是一个 string、number 或 symbol,而ValueType 可以是任何类型,下面就俩简单了解一下吧...2021-10-15
  • Javascript中的数据类型之旅

    虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number、String、Boolean、Object、Udefined、Null。其中,Object属于复杂数据类型,Object 由无序的键值对组成。其余几种都属于简单数据类型。注意:变量...2015-10-21
  • vue cli4.0项目引入typescript的方法

    这篇文章主要介绍了vue cli4.0项目引入typescript的方法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-17
  • JavaScript实现数据类型的相互转换

    这篇文章主要为大家详细介绍了JavaScript实现数据类型的相互转换,感兴趣的朋友可以参考一下...2016-03-09
  • C#的四种基本数据类型

    本文主要介绍了C#的四种基本数据类型的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • 详解Vue3.0 + TypeScript + Vite初体验

    这篇文章主要介绍了详解Vue3.0 + TypeScript + Vite初体验,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
  • 基于PostgreSQL和mysql数据类型对比兼容

    这篇文章主要介绍了基于PostgreSQL和mysql数据类型对比兼容,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-25
  • 使用TS来编写express服务器的方法步骤

    这篇文章主要介绍了使用TS来编写express服务器的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-30
  • TypeScript魔法堂之枚举的超实用手册

    这篇文章主要介绍了TypeScript魔法堂之枚举的超实用手册,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-29
  • toString.call()通用的判断数据类型方法示例

    这篇文章主要给大家介绍了关于toString.call()通用的判断数据类型方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-08-29
  • 你不知道的 TypeScript 高级类型(小结)

    这篇文章主要介绍了你不知道的 TypeScript 高级类型(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-08-29
  • 如何在Vue项目中应用TypeScript类

    与如何在React项目中应用TypeScript类类似在VUE项目中应用typescript,我们需要引入一个库vue-property-decorator,需要的小伙伴可续看下文具体介绍...2021-09-15
  • C#数据类型及其转换详解

    这篇文章主要介绍了C#数据类型及其转换详解,在C#中,数据类型可以分为几种类型,今天小编通过本文给大家详细介绍,需要的朋友可以参考下...2020-07-10
  • TypeScript中条件类型精读与实践记录

    这篇文章主要给大家介绍了关于TypeScript中条件类型精读与实践的相关资料,,条件类型就是在初始状态并不直接确定具体类型,而是通过一定的类型运算得到最终的变量类型,需要的朋友可以参考下...2021-10-05
  • CocosCreator入门教程之用TS制作第一个游戏

    这篇文章主要介绍了CocosCreator入门教程之用TS制作第一个游戏,对TypeScript感兴趣的同学,一定要看一下...2021-04-16
  • javascript数据类型验证方法

    这篇文章主要为大家分享了一个简单的javascript数据类型验证方法,感兴趣的小伙伴们可以参考一下...2016-01-05
  • webpack搭建脚手架打包TypeScript代码

    本文主要介绍了webpack搭建脚手架打包TypeScript代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-21
  • TypeScript前端上传文件到MinIO示例详解

    这篇文章主要为大家介绍了TypeScript前端上传文件到MinIO示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪...2022-10-12