美文网首页
TS-1类型声明

TS-1类型声明

作者: RickyWu585 | 来源:发表于2023-03-08 18:19 被阅读0次
  • 描述对象类型:
  1. Object 范围太广
  2. object :Object除去基本类型之外的类型
  3. 索引签名
  4. Record
  5. Class or Constructor
  • 索引签名:
type A = {
[k:string] : number
}
  • Record
type Record<K extends number | string | symbol, T> = {
  [k in K] : T
}

const person: Record<string,number> = {
  name: 'frank',
  age: 12
} 
  • 带this的函数类型声明
type Person = {
  username: string
  age: number
  sayHi: FnWithThis
}

type FnWithThis = (this:Person,name) => void

const sayHi:FnWithThis = function(){
  console.log(this.username)
}

const person:Person = {
  username: 'frank',
  age: 12,
  sayHi: sayHi
}

// 调用必须指定this
person.sayHi()  // 'frank'
or
sayHi.call(person) // 'frank'
  • never:侧重于类型推导,推到不可能出现的情况,就是never
type A = string | number | boolean

let a:A 

if(typeof a === 'string'){
  a.indexOf
}else if(typeof a === "number"){
 a.toFixed
}else if(typeof a === "boolean"){
  a.valueOf
}else{
  a // type is never
}

相关文章

  • 函数类型声明

    Js中有两种常见的定义函数的方式--函数声明和函数表达式 一个函数有输入和输出,要在TypeScript中对其进行...

  • Dart - 类型声明

    声明概述 虽然Dart是一门强类型语言,但是声明变量时既可以用静态类型声明,也可以用var可选类型声明,还有dyn...

  • TypeScript类型声明

    在 TypeScript 中,字面量也是一种类型: 在上面的代码中,Name 类型唯一合法的值就是 ziting ...

  • 5.3 类型和类型声明

    Deno的设计原则之一是没有神奇的解决方案。当tyescript对文件进行类型检查时,它只关心文件的类型,而TSC...

  • javaSE_day02_运算符

    java数据类型: 强类型: 1.先声明类型; 2.赋值的类型 与 声明的类型相符合。 -----------...

  • 2018-08-10

    声明 声明的语法: 格式:声明说明符:声明符; 声明的格式 规则 举例; 储存类型: 变量 函数 形参 等的类型说...

  • MS-特性-PHP7

    标量类型声明,返回值类型声明 declare(strict_types=1); //开启强制类型模式 cla...

  • Optional可选类型

    1、可选类型的声明 在声明常量或者变量时,在类型的后面加问号(?),即表示它是可选类型。声明可选变量格式如下(可选...

  • Foreach语句

    显式类型迭代声明 foreach(Type Identifier in ArrayName) 隐式类型迭代声明 f...

  • PHP 7新特征

    标量类型声明: 增加了对返回类型声明的支持。

网友评论

      本文标题:TS-1类型声明

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