看这段代码:

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');

最后的输出:

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

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

TypeScript constructor signature 类型的变量赋值方式相关推荐

  1. TypeScript学习笔记1:变量赋值及书写方式

    TS 和 JS 相对比的优势 TypeScript的安装步骤.运行问题及代码的简单运行 TypeScript学习笔记1:变量赋值及书写方式 TypeScript学习笔记2:数据类型 文章目录 变量赋值 ...

  2. typescript利用接口类型声明变量_TypeScript入门指南(基础篇)

       戳蓝字「前端技术优选」关注我们哦! 作者:慕晨同学 原文地址:https://github.com/USTB-musion/fee-skills/issues/19 写在前面 ts是拥有类型系统 ...

  3. python定义变量并赋值_Python 变量类型及变量赋值

    在 Python 中,变量不一定占用内存变量.变量就像是对某一处内存的引用,可以通过变量访问到其所指向的内存中的值,并且可以让变量指向其他的内存.在 Python 中,变量不需要声明,但是使用变量之前 ...

  4. python变量赋值方式_python变量和变量赋值的几种形式

    动态类型的语言 python是动态类型的语言,不需要声明变量的类型. 实际上,python中的变量仅仅只是用来保存一个数据对象的地址.无论是什么数据对象,在内存中创建好数据对象之后,都只是把它的地址保 ...

  5. python变量类型之间转换_【Python】Python 变量类型(变量赋值,数据类型,数据转换)...

    目录 Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中.因此,变量可以指定不同的数 ...

  6. python变量赋值方式_python中变量的命令规制及变量的赋值方式

    文章结构: 一.python中变量的命名规则 二.变量赋值的三种方式 三.python的垃圾回收机制 一.Python中变量的命令规则 变量名只能包含字母.数字和下划线,且不能以数字开头: 变量名不能 ...

  7. 【Makefile由浅入深完全学习记录4】变量和不同的赋值方式

    今天来学习Makefile中变量的不同的赋值方式!努力的意义就是让贫穷不再限制你的想象!加qq共同学习交流1126137994 1.概念 makefile中支持程序设计中变量的概念 makefile中 ...

  8. katalon:赋值方式

    一.直接赋值 手机号输入框需要输入手机号"10012345678",直接赋值,直接填写手机号 //手机号码:直接赋值 WebUI.setText(findTestObject('a ...

  9. python变量类型之间转换_Python变量赋值类型转换

    原博文 2018-01-22 22:05 − 1.Python定义变量 1 name = cross10 2 print('name=',name) 打印结果: name=cross10 2.Pyth ...

最新文章

  1. 库克踏春而来,小而美的 iPhone 全新配件问世
  2. mysql配置命令_MySQL基本配置命令总结
  3. 【Linux】Linux软件安装和定时任务
  4. [Python] L1-014. 简单题-PAT团体程序设计天梯赛GPLT
  5. rust能捏人不_吃鸡:捏脸系统上线后,玩家们都嗨了
  6. 无论PC还是Mac,都能畅快地使用移动硬盘
  7. jquery_ui_api中文
  8. DirectX Repair
  9. allennlp使用
  10. 【STM32F429的DSP教程】第13章 DSP快速计算函数-三角函数和平方根
  11. [入门] 探索FireMonkey的StyleBook皮肤控件的使用(附示例程序)
  12. mysql安装ecshop_ecshop图文安装过程详解
  13. IDEA如何新建一个source folder
  14. 今天是2012年8月14日
  15. 谷歌SEO专业术语指南
  16. Android修真传之工厂模式
  17. 寓教于乐!一款游戏让你成为 Vim 高手!
  18. mysql 合计 小计_用SQL实现统计报表中的小计与合计的方法详解
  19. Android如何配置init.rc中的开机启动进程(service)【转】
  20. Camera硬件结构组成(三)

热门文章

  1. 数据回显---SpringMVC学习笔记(九)
  2. 分布式锁简单入门以及三种实现方式介绍(滴滴)
  3. LINUX下PHP安装VLD扩展并测试OK
  4. 《Python编程实战:运用设计模式、并发和程序库创建高质量程序》—— 第1章 Python的创建型设计模式...
  5. CGGeometry基础
  6. sys.getsizeof(), 字节之间的换算关系
  7. 华为交换机-端口由trunk改为access
  8. 域控制器与客户机之:域账号不能登录问题排查
  9. ruby:理解Symbol的二篇好文章
  10. 大批量文件处理的7条建议