首页 > 解决方案 > `const func: (num: number) => string = String;` 在 TypeScript 中是什么意思?

问题描述

我正在阅读关于 TypeScript 的 2ality 博客文章,我遇到了以下代码 -

const func: (num: number) => string = String;

我不明白这种语法的含义。

TypeScript Playground中,它编译为 -

var func = String;

据我了解,func是一个函数,它接受一个参数num并且函数本身返回 astring并且func变量被分配给String所以整个函数的东西变得无用,这意味着上面的东西可以写得很简单 -

const func = String;

我对么?还是我理解 Typescript 错了?

标签: javascripttypescriptfunctionecmascript-6

解决方案


const func: (num: number) => string = String;

这意味着有一个变量func,其类型的(num: number) => string值为 String 类。

现在字符串构造函数接受一个值并返回一个字符串值。


对于那些在string和之间感到困惑的人String

  • string: 指的是字符串值。所以() => string意味着一个函数返回一个字符串。在var a = 'abc'中,a 是一个字符串
  • String: 注意大写S。那是指字符串构造函数,它是一个函数。

以下是 的定义String在此处输入图像描述


推荐阅读