码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • LayaBox---TypeScript---基础数据类型


    目录

    一:TypeScript 基础类型

    1.布尔值 boolean : true/false

    2.数字 number--> ts里所有数字都是浮点数,这些浮点数的类型是 number

    3.字符串 string-->文本数据类型,可以使用双引号“aaa” 或单引号‘aaa’表示

    4.数组-->有2种定义方式:

    5.元组--->允许表示一个已知元素数量和类型的数组。

    6.enum枚举--> 像C#等语言一样,枚举类型可以为一组数值赋予友好的名字。

    7.Any--->当你为不确定类型的变量指定一个类型时,可以使用any类型来标记这些变量。

    ----------------------------------------------其他-------------------------------------

    1.Void类型

    2.Never类型--> 表示的是那些永不存在的值的类型。

    3.Object类型--->表示非原始类型,也就是除number,string,boolean,symbol,null 或 undefined之外的类型。

    4.类型断言-----相当于其他语言的 强制类型转换


    一:TypeScript 基础类型

    最简单的数据单元:数字,字符串,结构体,布尔值等

    1.布尔值 boolean : true/false

    布尔值-->   let isDone: boolean = false;

    2.数字 number--> ts里所有数字都是浮点数,这些浮点数的类型是 number

    1. let decLiteral: number = 6; //十进制
    2. let hexLiteral: number = 0xf00d; //十六进制
    3. let binaryLiteral: number = 0b1010; //二进制
    4. let octalLiteral : number = 0o744; //八进制

    3.字符串 string-->文本数据类型,可以使用双引号“aaa” 或单引号‘aaa’表示

    1. let name: string = "bob";
    2. name = "smith";

    也可以使用模版字符串,它可以定义多行文本和内嵌表达式。并以${ } 这种形式嵌入表达式

    1. let name: string = 'Gene';
    2. let age: number = 34;
    3. let sentence: string = ‘Hello,my name is ${ name }.
    4. I'll be ${ age + 1} years old next month.';
    5. 与下面定义sentence的方式效果相同:
    6. let scentence: string = "Hello, my name is" + name +".\n\n"+
    7. "I'll be" + (age +1)+ " years old next month.";

    4.数组-->有2种定义方式:

    1. 第一种:在元素类型后面接[]
    2. let list: number[] = [1,2,3];
    3. 第二种:使用数组泛型,Array<元素类型>
    4. let list: Array<number> = [1,2,3];

    5.元组--->允许表示一个已知元素数量和类型的数组。

    1. let x: [string , number];
    2. x = ['hello' , 10];
    3. 当访问一个已知索引的元素,会得到正确的类型:
    4. console.log(x[0].substr(1)); //ok
    5. console.log(x[1].substr(1)); //error, 'number' does not have 'substr'

    6.enum枚举--> 像C#等语言一样,枚举类型可以为一组数值赋予友好的名字。

    1. 1.默认从0开始元素编号
    2. enum Color
    3. {
    4. Red,
    5. Green,
    6. Blue
    7. }
    8. let c: color = Color.Red;
    9. --------------------------------------------------------------
    10. 2.也可以手动指定成员的数值,如从1开始编号:
    11. enum Color
    12. {
    13. Red = 1,
    14. Green,
    15. Blue
    16. }
    17. let c: color = Color.Red;
    18. --------------------------------------------------------------
    19. 3.或者全部手动编号:
    20. enum Color
    21. {
    22. Red = 1,
    23. Green = 2,
    24. Blue = 4
    25. }
    26. let c: color = Color.Red;
    27. ----------------------------------------------------------------
    28. 枚举类型提供了一个便利,可以由枚举值得到它的名字。
    29. enum Color
    30. {
    31. Red = 1,
    32. Green,
    33. Blue
    34. }
    35. let colorName: string = Color[2];
    36. console.log(colorName); //显示‘green’ 因为上面代码里它的值是2

    7.Any--->当你为不确定类型的变量指定一个类型时,可以使用any类型来标记这些变量。

    类型检查器不会对这些值进行检查,而是直接通过编译阶段的检查。

    1. let notSure: any = 4;
    2. notSure = "maybe a string instead";
    3. notSure = false;
    4. //当你只知道一部分数据的类型时,any类型也是有用的,比如,你有一个数组,它包含了不同类型的数据
    5. let list: any[] = [1, true, "free"];
    6. list[1] = 100;

    ----------------------------------------------其他-------------------------------------

    1.Void类型

    1. //当一个函数没有返回值时,使用void类型
    2. function warnUser(): void
    3. {
    4. console.log("This is my warning message");
    5. }
    6. //声明一个void类型的变量没什么用,因为你只能为它赋予 undefined 和 null
    7. let unusable: void = undefined;
    8. 默认情况下 null 和 undefined 是所有类型的子类型,然而,当你指定了 --stricNullChecks标记,
    9. null和undefined 只能赋值给void 和他们各自。

    2.Never类型--> 表示的是那些永不存在的值的类型。

    例如:never类型是哪些总是会抛出异常或根本就不会有返回值的函数表达式或箭头表达式的返回值类型。

    1. never 类型是任何类型的子类型,可以赋值给任何类型;然而没有任何类型是never的子类型,或可以赋值给never类型(除了never本身之外)。即使any也不可以赋值给never。
    2. //返回never的函数必须存在无法达到的终点
    3. function error(message: string): never
    4. {
    5. throw new Error( message );
    6. }
    7. //推断的返回值类型为never
    8. function fail()
    9. {
    10. return error("something failed");
    11. }
    12. //返回never的函数必须存在无法达到的终点
    13. function infiniteLoop(): never
    14. {
    15. while(true)
    16. {
    17. }
    18. }

    3.Object类型--->表示非原始类型,也就是除number,string,boolean,symbol,null 或 undefined之外的类型。

    1. 使用object类型,就可以更好的表示像 Object.create这样的API.
    2. 例如:
    3. declare function create(o: object | null): void;
    4. create({prop: 0}); //ok
    5. create(null); //ok
    6. create(42); //error
    7. create("string"); //error
    8. create(false); //error
    9. create(undefined); //error

    4.类型断言-----相当于其他语言的 强制类型转换

    1. 类型断言 有2种表现形式
    2. let someValue: any = "this is a string";
    3. 1.‘尖括号’语法
    4. let strLength: number = (<string>someValue).length;
    5. 2.as语法
    6. let strLength: number = (someValue as string).length;

  • 相关阅读:
    一文了解SpringBoot的单元测试
    【CSS】网格布局
    多线程【初阶-上篇】
    网络中的一些概念
    mybatis基础02
    Python中文分词及词频统计
    代码随想录算法训练营第五十八天|739. 每日温度、496.下一个更大元素 I
    Js逆向教程-16极验滑块 找到w加密位置
    c++ Mixin实现的一种方法
    lambdaQueryWrapper常用方法
  • 原文地址:https://blog.csdn.net/lalate/article/details/126028148
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号