前端 TS

news/2024/11/14 15:06:07/
  • 类型:

    类型例子描述
    number1, -33, 2.5任意数字
    string‘hi’, “hi”, hi任意字符串
    booleantrue、false布尔值true或false
    字面量其本身限制变量的值就是该字面量的值
    any*任意类型
    unknown*类型安全的any
    void空值(undefined)没有值(或undefined)
    never没有值不能是任何值,只能抛出异常
    object{name:‘孙悟空’}任意的JS对象
    array[1,2,3]任意JS数组
    tuple[4,5]元素,TS新增类型,固定长度数组
    enumenum{A, B}枚举,TS中新增类型
  • 用法

    • number

      typescript">let decimal: number = 6;
      let hex: number = 0xf00d;
      let big: bigint = 100n;
      
    • boolean

      typescript">let isDone: boolean = false;
      
    • string

      typescript">let color: string = "blue";
      color = 'red';
      
    • 字面量

    • 也可以使用字面量去指定变量的类型,通过字面量可以确定变量的取值范围

      typescript">let color: 'red' | 'blue' | 'black';
      let num: 1 | 2 | 3 | 4 | 5;
      
    • any

      typescript">let d: any = 4;
      d = 'hello';
      d = true;
      
    • unknown

      typescript">let notSure: unknown = 4;
      notSure = 'hello';
      
    • void

      typescript">let unusable: void = undefined;
      function fn(): void{}
      function fn(): void {return undefined
      }
      
    • never

      typescript">function error(message: string): never {throw new Error(message);
      }
      
    • object(没啥用)

      typescript">let obj: object = {};
      
    • array

      typescript">let list: number[] = [1, 2, 3];
      let list: Array<number> = [1, 2, 3];
      
    • tuple

      typescript">let x: [string, number];
      x = ["hello", 10]; 
      
    • enum

      typescript">enum Color {Red,   // 0Green, // 1Blue,  // 2
      }
      let c: Color = Color.Green;enum Color {Red = 1,  // 1Green,    // 2Blue,     // 3
      }
      let c: Color = Color.Green;enum Color {Red = 1,    // 1Green = 2,  // 2Blue = 4,   // 4
      }
      let c: Color = Color.Green;
      
  • 断言

          //写法1let someValue: unknown = "this is a string";let strLength: number = (someValue as string).length;//写法2let someValue: unknown = "this is a string";let strLength: number = (<string>someValue).length;```
    
  • 接口

    • 接口的作用类似于没有实际值的抽象类
    • 可以用于定义对象,方法的参数/返回值,接口(使用extends关键字),类(使用implements关键字)的结构
      //对象
      interface Info {name: stringage: numbersay?: () => void
      }const user: Info = {name: '张三',age: 18,say: () => {console.log(`我叫${this.name}`)}
      }
      //方法的参数和返回值
      interface sum {(a: number, b: number): number
      }const add: sum = (a, b) => {return a + b;
      }
      sum(1, 2)
      // 接口
      interface Person{name: string;say():void;
      }
      interface man extends Person{eat():void;
      }
      // 类
      interface Person{name: string;say():void;
      }
      interface Student{hello():void;
      }
      // 同时执行多个接口,用`,`隔开
      class Student implements Person,Student{constructor(public name: string) {}say() {console.log(`我叫${this.name}`);}hello() {console.log(`我是一个学生`);}
      }
      
  • Class (链接: link)

  • 泛型(链接:link)


http://www.ppmy.cn/news/1451894.html

相关文章

python学习笔记----面向对象(十)

一、什么是类 类是一个抽象的模板&#xff0c;用于创建具体的实例。可以将类理解为一个蓝图&#xff0c;它定义了一系列对象共有的属性&#xff08;数据&#xff09;和方法&#xff08;函数&#xff09;。类是对一组具有相同属性和功能的对象的抽象。例如&#xff0c;你可以定…

项目管理【环境】过程

系列文章目录 【引论一】项目管理的意义 【引论二】项目管理的逻辑 【环境】概述 【环境】原则 【环境】过程 一、规划和管理项目的合规性 1.1 规划和管理项目的合规性 1.2 确认合规要求 1.3 审计&#xff1a;衡量合规的程度 二、项目管理计划和项目文件 2.1 项目管理计划和…

kyuubi、sparksql部署实战与连接

一、下载spark和kyuubi的软件包 spark官网下载 https://spark.apache.org/downloads.html kyuubi官网下载 https://www.apache.org/dyn/closer.lua/kyuubi/kyuubi-1.9.0/apache-kyuubi-1.9.0-bin.tgz 二、部署spark 1、spark配置spark-env.sh YARN_CONF_DIR/opt/cloudera…

【23-Scikit-learn最佳实践:项目案例分析与总结】

文章目录 前言项目案例分析背景数据准备数据预处理探索性数据分析(EDA)特征选择模型构建与评估处理不平衡数据集最终模型评估与部署Scikit-learn最佳实践总结前言 经过一系列深入浅出的探讨,我们已经通过了解Scikit-learn与Python的亲密关系,掌握了如何安装和使用Scikit-le…

好用的电子文档管理系统应具备哪些功能?

文档是我们工作生活的基本组成部分&#xff0c;但你可能没有注意到花了多少时间处理它们。 良好的电子文档管理可以节省时间并简化整个组织的流程&#xff0c;来进一步了解下吧&#xff01; 文档管理软件的用例 电子文档管理系统,8Manage EDMS,高亚科技 文档管理不仅仅是组…

Android by viewModels()

在Android中&#xff0c;您可以使用ViewModel来管理UI相关的数据&#xff0c;而不会在配置更改&#xff08;如旋转屏幕&#xff09;后丢失数据。by viewModels()是一个Kotlin扩展函数&#xff0c;它允许您以类型安全的方式从Fragment或Activity中获取ViewModel实例。 以下是如…

深入理解人工智能:从基础到前沿技术

摘要&#xff1a; 人工智能&#xff08;AI&#xff09;是计算机科学的一个分支&#xff0c;它试图理解和构建智能实体。近年来&#xff0c;随着计算能力的提升和大数据的普及&#xff0c;AI技术取得了显著的进步&#xff0c;广泛应用于语音识别、图像处理、自然语言处理等领域…

汇编语言——比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示MATCH, 不相同则显示NO MATCH

CMPS 串比较指令&#xff1a; CMPS SRC, DST CMPSB &#xff08;字节&#xff09; CMPSW &#xff08;字&#xff09; 执行操作&#xff1a; ((SI)) - ((DI)) 根据比较结果置条件标志位&#xff1a;相等 ZF1&#xff1b;不等 ZF0 字节操作&#xff1a;(SI)←(SI)1, (DI)←(DI…