美文网首页
ts学习(6)

ts学习(6)

作者: 哆啦C梦的百宝箱 | 来源:发表于2023-03-28 21:48 被阅读0次
  1. never类型可以做穷尽性检查。nerver类型表示一个不存在的状态,never类型可以分配给每个类型,但是没有任何类型可以分配给never,除了never本身。
type Animal = 'lion' | 'cat'
function checkAnimal(animal:Animal){
  swicth(animal){
    case 'lion':
      return xxx;
    case 'cat':
      return xxx;
    default:
      const other:never = animal;
      return other;
    }
}
  1. 函数的类型描述
    2.1函数类型表达式
fn:(a:string) => void

//例子
type Greetfunction =(s:string)=>void
function greeter(fn:Greetfunction){
  fn('hello world')
}

function printToConsole(s:string):void{
  console.log(s);
}

greeter(printToConsole);

2.2调用签名
在js中函数除了可调用之外,函数还可以有属性。但是函数类型表达式的语法无法声明属性,如果想用属性来描述可调用的东西,可以在对象中,写一个调用签名。

type Describablefunction={
  description:string;
  (someArg:number):boolean
}

function doSomething(fn:Describablefunction){
  console.log(fn.description+'returned'+fn(6));
}

function fn1(n:number):boolean{
  return !!n;
}
doSomething(fn1);

注意:使用类型签名定义函数类型的时候用的是冒号而不是箭头
2.3构造签名

class Ctor{
  s:string;
  contructor(s:string){
    this.s=s;
  }
}
type SomeContructor={
  new (s:string):Ctor
}

function fn(ctor:SomeContructor){
  return new ctor('hello');
}
const f =fn(Ctor);
console.log(f.s);

2.3调用签名和构造签名结合使用

interface CallOrContructor {
    new (s:string):Date;
    (n?:number):string;
}

function fn(date:CallOrContructor){
  const d = new date('2023-03-29');
  const n = date();
}

相关文章

  • jsmpeg系列四 源码ts.js TS格式解析流程

    一、TS HEADER 参考TS科普 2 包头TS流格式学习Ts流解析中难点说明百度文库 最直白明了的TS流分析 ...

  • Ts学习

    Ts学习 https://ts.xcatliu.com/basics/primitive-data-types.h...

  • TS学习笔记(6)-枚举类型

    枚举类型 ========= 知识点 枚举类型的定义方法 枚举类型的使用方法 代码

  • Ts 进阶使用指南

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

  • Javascript 标准

    ES5Es6ES7+TS

  • ts简介和安装使用

    简介 ts是微软开发的一款开源的编程语言 ts是js的超集,遵循最新的es5/es6规范,ts扩展类js语法 ts...

  • 学习小组笔记Day4-Jocelyn

    2020年7月6日学习笔记 R语言基础 一、准备工作 下载R语言: https://mirrors.tuna.ts...

  • ts学习

    强类型语言和弱类型需要定义 强类型类型语言的变量不能赋值不同类型,除非强制类型转换

  • Typescript

    TypeScript(TS)部分 TypeScript学习笔记

  • 编译Typescript文件

    学习ts不需要将ts文件转成js文件再去运行查看结果了强大的ts-node让我们快人一步!!!简单的几步让你的ts...

网友评论

      本文标题:ts学习(6)

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