温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Typescript中数据类型的示例分析

发布时间:2022-03-25 13:42:59 来源:亿速云 阅读:129 作者:小新 栏目:开发技术

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

    是什么

    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};

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

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI