Javascript Es6 Tagged Templates - Когда используется raw? Когда готовится используется?

После изучения этого примера шаблона тега 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 (строки).

Ответы на вопрос(1)

Ваш ответ на вопрос