【问题标题】:Can TaggedTempalte have overload signatures with a certain string literal argument?TaggedTempalte 可以具有带有特定字符串文字参数的重载签名吗?
【发布时间】:2020-09-07 01:17:24
【问题描述】:
declare function taggedFn(x: ['strange']): 123;
declare function taggedFn(x: TemplateStringsArray): string;

// OK
var v1: string = taggedFn`ordinary`;

// NG: How can I hit the ['strange'] signature?
var v2: 123 = taggedFn`strange`;
  • 我有一个 TaggedTemplate 函数
  • 我可以控制它的签名
  • 我希望它在正常通话时返回 string
  • 我希望它在参数为 strange 时返回 123 (NG)

基本上可以通过重载来实现普通函数,但是我们如何使用 TaggedTemplate 函数呢?是否可以用某个参数重载它?

Here's a working example.

谢谢。

【问题讨论】:

    标签: typescript typescript-typings


    【解决方案1】:

    目前这是不可能的,TS 问题跟踪器中有一个 open issue 来添加对此的支持。

    【讨论】:

      猜你喜欢
      • 2018-05-22
      • 2016-06-19
      • 1970-01-01
      • 2017-03-25
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 2022-11-22
      • 2021-02-20
      相关资源
      最近更新 更多