5

この 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) を使用するかを関数に指示する制御を持っていないためです。

4

1 に答える 1