ES6 предлагает строку шаблонов, такие какOverride для обработки строк шаблона ES6 (квази-литералы)
`Hello ${name}`
В этом случае строитель шаблон по умолчанию называется. Вы также можете использовать свою собственную «метку»:
tag`Hello ${name}`
где tag
функция, которая передается информации о строке шаблона и генерирует результат.
Мой вопрос в том, есть ли способ для переопределить функцию по умолчанию, когда не указан ни один тег?
Другой вопрос: Есть ли способ, чтобы определить, является ли функция тега вызывается системой для построения строки шаблона, по сравнению скажем вызывается непосредственно, кроме изучения первого аргумента для raw
собственности?
Не похоже, что есть: http://wiki.ecmascript.org/doku.php?id=harmony:quasis говорит, что значение по умолчанию является замороженной функцией (без объяснения причин), а спецификация проекта es6 не имеет значения, Кажется, у вас есть место, где вы могли бы зайти. Возможно, стоит попросить список рассылки es-discuss. – Nickolay