この Es6 タグ テンプレートの例を調べた後:
var yo = func`${x} + ${y}\n= ${x + y}`;
one@public-node ~/es6 $ 6to5 tag.js
"use strict";
var _taggedTemplateLiteral = function (strings, raw) {
return Object.freeze(Object.defineProperties(strings, {
raw: {
value: Object.freeze(raw)
}
}));
};
var yo = func(_taggedTemplateLiteral(["", " + ", "\n= ", ""], ["", " + ", "\\n= ", ""]), x, y, x + y);
返されるのはvar yo = func(strings, raw, x, y, x + y);
x
y
文字列リテラルと挿入される値の基本を理解しています。私が理解していないのは...いつ文字列が使用され、いつ生が使用されるのですか? 関数には両方の配列があり、ユーザーは raw をいつ使用し、いつ Cooked(strings) を使用するかを関数に指示する制御を持っていないためです。