文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Typescript中数据类型的示例分析

2023-06-29 16:09

关注

这篇文章将为大家详细讲解有关Typescript中数据类型的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

是什么

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

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

有哪些

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

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]; // yestupleArr = [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; // 数值类型或者undefinedconsole.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};

关于“Typescript中数据类型的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯