TypeScript constructor signature 类型的变量赋值方式

简介: TypeScript constructor signature 类型的变量赋值方式

看这段代码:

interface ArrayContaining {

       new (sample: string): any;

}

试图给一个类型为 ArrayContaining 的变量赋值,下列这样赋值行不通:

const a: ArrayContaining = () => 1;

遇到错误消息:


Type ‘() => number’ is not assignable to type ‘ArrayContaining’.

Type ‘() => number’ provides no match for the signature ‘new (sample: string): any’.

正确的做法:

class Jerry{

 constructor(private name:string){

   this.name = name;

   console.log('name: ', this.name);

 }

}

const b: ArrayContaining = Jerry;

const c:Jerry = new b('Tom');

image.png

这里的 Jerry,相当于一个构造器,具有 constructor signature,故可以赋给类型为 ArrayContaing 的 变量 b.


换句话说,TypeScript 的 class 和 constructor 关键字,具有所谓的 constructor signature.


相关文章
|
2月前
|
JavaScript 前端开发 安全
Apollo与TypeScript:强大类型检查在前端开发中的应用
Apollo与TypeScript:强大类型检查在前端开发中的应用
|
3月前
|
JavaScript 前端开发
TypeScript 联合类型
TypeScript 联合类型
34 0
|
3月前
|
JSON JavaScript 安全
解锁TypeScript的潜力:改进标准库类型
解锁TypeScript的潜力:改进标准库类型
|
3月前
|
存储 JavaScript 前端开发
2020你应该知道的TypeScript学习路线【数组类型】
2020你应该知道的TypeScript学习路线【数组类型】
33 0
|
1月前
|
JavaScript 安全
TypeScript 中的高级类型转换技术:映射类型、条件类型和类型推断
TypeScript 中的高级类型转换技术:映射类型、条件类型和类型推断
|
1月前
react+typescript给state和props定义指定类型
react+typescript给state和props定义指定类型
16 1
|
2月前
|
JavaScript 安全 索引
TypeScript泛型和类型体操
泛型和类型体操(Type Gymnastics)是 TypeScript 中高级类型系统的重要组成部分。它们提供了强大的工具和技巧,用于处理复杂的类型操作和转换。
|
2月前
|
JavaScript 安全 容器
Vue3 + setup + TypeScript: 构建现代、类型安全的Vue应用的关键技巧总结
当使用 setup 的时候,组件直接引入就可以了,不需要再自己手动注册
|
3月前
|
JavaScript 前端开发 IDE
【TypeScript】带类型语法的JavaScript
【1月更文挑战第26天】【TypeScript】带类型语法的JavaScript
|
3月前
|
JavaScript
小结:近五十个常用 TypeScript类型工具 的声明、描述、用法示例
小结:近五十个常用 TypeScript类型工具 的声明、描述、用法示例
125 0