ts类型

作者: MenChem | 来源:发表于2022-04-01 16:11 被阅读0次

1、基础类型

  • 常用:string, number, boolean, array, enum, any, void
  • 不常用: tuple、null、undefined、never

2、对象类型

interface和type (type更强大,interface可以进行类型声明)

3、数组类型

interface item {
   name:string;
   age: number;
   sex?:string;
}
const strArr:string[] = ['测试', '数据', '字符串'];
const numArr:number[] = [1,2,3];
const itArr:item[] = [{name: "tom", age: 18}, {name: "rose", age: 20}];

4、元组类型

// 数组 某个位置的值可以是注解中的任何一个
const LOL: (string | number)[] = ["zed", 25, "darts"];

// 元祖 每一项数据类型必须一致
const LOL: [string, string, number] = ["zed", "darts", 25];

5、联合| or 交叉&类型

  • 联合类型:某个变量可能是多个 interface 中的其中一个,用 | 分割
  • 交叉类型:由多个类型组成,用 & 连接
interface Waiter {
  eat: boolean;
  say: () => {};
}

interface Teacher {
  eat: boolean;
  sayHello: () => {};
}

// 联合类型
function lianHe(animal: Waiter | Teacher) {}
// 交叉类型 
// 同名类型会进行合并,同名基础类型属性的合并返回:never
// 同名非基础类型属性可以正常合并
function lianHe(jishi: Waiter & Teacher) {}

6、enum枚举

enum typeEnum {
     GSBB= "公司本部",
     GSWB  = "外部",
     GSYX = "营销部"
}

7、 泛型

  • 简单说就是:泛指的类型,不确定的类型,可以理解为一个占位符(使用T只是习惯,使用任何字母都行)

  • K(Key):表示对象中的键类型;

  • V(Value):表示对象中的值类型;

  • E(Element):表示元素类型。

// T 自定义名称
function myFun<T>(params: T[]) {
  return params;
}
myFun <string> (["123", "456"]);

// 定义多个泛型
function join<T, P>(first: T, second: P) {
  return `${first}${second}`;
}
join <number, string> (1, "2");

8、断言

  • 断言用来手动指定一个值的类型。值 as 类型 or <类型>值( <类型>值这种写法在jsx语法中会冲突)
class Person{
   sayHello(){
       console.log("hello")
   }
}
class Child extends Person{
   sayWorld(){
       console.log("世界")
   }
}
// child.sayHello
let c = new Child();
c.sayHello();//父类
c.sayWorld();

function fn(p: Person){
   p.sayHello();
   (p as Child).sayWorld()
}
fn(c);

相关文章

  • typeScript语法

    ts类型 ts联合类型使用或 ts定义任意类型any ts定义函数返回值的类型 ts中的类定义 interface接口

  • Ts 进阶使用指南

    # Ts 使用指南 ## 6、参数类型和返回类型 ```ts // 参数类型和返回类型 function crea...

  • TS高级类型:Extract 与 Exclude

    Extract 是TS提供的一个TS高级type类型【简称TS高级类型】 Extract 用于类 Extract ...

  • typescript笔记--类型篇

    动态监听ts文件变动,自动编译js 生成ts配置文件 类型约束的基本语法 ts的类型: 1.number类型:数字...

  • TS入门2019-08-13

    ts和js出了类型声明其他的都是一样的。(ts就是比js多了一个类型声明) ts 与 js 相比,其实就是把类型给...

  • 2021-01-28

    一:ts初步了解 基础类型 ts的基础类型中有如下几种:boolean/number/string/object/...

  • ts 类型

    any表示任意类型void则可以看作与any相反,意思是没有类型,通常一个函数如果没有返回值,那么就可以把他的返回...

  • ts类型

    1、基础类型 常用:string, number, boolean, array, enum, any, void...

  • Typescript - 基础(二)

    TS 的基本类型和枚举类型 1、TS 的数据类型和 ES6 的数据类型 共有数据类型: Boolean Numbe...

  • 白话文:几个例子马上看懂typescript基础类型

    TS入门:基础类型

网友评论

      本文标题:ts类型

      本文链接:https://www.haomeiwen.com/subject/cjuajrtx.html