前端 TS

  • 类型:

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

    • number

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

      let isDone: boolean = false;
      
    • string

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

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

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

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

      let notSure: unknown = 4;
      notSure = 'hello';
      
    • void

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

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

      let obj: object = {};
      
    • array

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

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

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

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

    • 接口的作用类似于没有实际值的抽象类
    • 可以用于定义对象,方法的参数/返回值,接口(使用extends关键字),类(使用implements关键字)的结构
      //对象
      interface Info {
         name: string
         age: number
         say?: () => 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

相关推荐

  1. 前端 TS

    2024-05-04 10:38:01       32 阅读
  2. 前端TS习题

    2024-05-04 10:38:01       21 阅读
  3. 前端TS语法基础篇

    2024-05-04 10:38:01       28 阅读
  4. 前端+鸿蒙」鸿蒙应用开发-TS函数

    2024-05-04 10:38:01       26 阅读
  5. 2024前端面试准备6-TS基础

    2024-05-04 10:38:01       34 阅读
  6. 前后端AES对称加密 前端TS 后端Go

    2024-05-04 10:38:01       55 阅读
  7. 前端+鸿蒙」鸿蒙应用开发-TS声明和数据类型

    2024-05-04 10:38:01       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-04 10:38:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-04 10:38:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-04 10:38:01       87 阅读
  4. Python语言-面向对象

    2024-05-04 10:38:01       96 阅读

热门阅读

  1. 时间复杂度和空间复杂度

    2024-05-04 10:38:01       36 阅读
  2. C# do...while循环

    2024-05-04 10:38:01       34 阅读
  3. 富格林:了解黑幕套路正规方法预防

    2024-05-04 10:38:01       29 阅读
  4. 算法--回溯法

    2024-05-04 10:38:01       26 阅读
  5. 第十三节:Vben Admin实战-系统管理之菜单管理

    2024-05-04 10:38:01       35 阅读
  6. 动态sql

    动态sql

    2024-05-04 10:38:01      32 阅读
  7. vue2 + antvx6 实现流程图功能

    2024-05-04 10:38:01       26 阅读
  8. 如何判断嵌入式平台OpenCV在使用硬件编解码器?

    2024-05-04 10:38:01       23 阅读
  9. UNIAPP&小程序从入门到精通

    2024-05-04 10:38:01       25 阅读
  10. 15. 三数之和 - 力扣(LeetCode)

    2024-05-04 10:38:01       32 阅读
  11. 等保测评试题(一)

    2024-05-04 10:38:01       26 阅读
  12. 【C语言】/*printf 函数*/

    2024-05-04 10:38:01       31 阅读
  13. 刷题 数组-二分查找C++

    2024-05-04 10:38:01       24 阅读
  14. 4. 迭代查询与递归查询

    2024-05-04 10:38:01       38 阅读
  15. 7-82 快速排序

    2024-05-04 10:38:01       30 阅读