【问题标题】:Override default function for handling ES6 template strings (quasi-literals)覆盖处理 ES6 模板字符串的默认函数(准字面量)
【发布时间】:2014-11-22 19:25:06
【问题描述】:

ES6 提供模板字符串,如

`Hello ${name}`

在这种情况下,会调用默认模板构建器。您也可以使用自己的“标签”:

tag`Hello ${name}`

其中tag 是一个函数,它传递有关模板字符串的信息并生成结果。

我的问题是,有没有办法在没有指定标签时覆盖默认函数

另一个问题:除了检查@的第一个参数之外,有没有办法确定系统是否正在调用标记函数来构造模板字符串,而不是直接调用标记函数987654325@房产?

【问题讨论】:

  • 看起来好像没有:wiki.ecmascript.org/doku.php?id=harmony:quasis 说默认是一个冻结函数(没有给出理由),es6 草案规范似乎没有你可以挂钩的地方. 可能值得在 es-discuss 邮件列表中询问。

标签: ecmascript-6 template-strings


【解决方案1】:

没有。它们是具有不同语义含义的不同句法产生。 `stuff` 更类似于字符串文字,而tag`stuff` 更类似于函数调用。

【讨论】:

    猜你喜欢
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多