그것은 ES-6에서 Tagged Template이라고 불립니다. 더 많은 정보를 읽을 수 있습니다. 여기 , 재미있게 채팅의 별표 섹션에서 링크를 찾았습니다.
그러나 코드의 관련 부분은 다음과 같습니다 (기본적으로 필터링 된 정렬을 만들 수 있음).
function tag(strings, ...values) {
assert(strings[0] === 'a');
assert(strings[1] === 'b');
assert(values[0] === 42);
return 'whatever';
}
tag `a${ 42 }b`
기본적으로 다른 함수와 마찬가지로 console.log 함수로 "1"에 태그를 지정합니다. 태그 지정 함수는 템플릿 문자열의 구문 분석 된 값과 추가 작업을 수행 할 수있는 값을 개별적으로 허용합니다.
Babel은 위의 코드를 다음으로 변환합니다.
var _taggedTemplateLiteralLoose = function (strings, raw) { strings.raw = raw; return strings; };
console.log(_taggedTemplateLiteralLoose(["1"], ["1"]));
위의 예에서 볼 수 있듯이 babel에 의해 트랜스 파일 된 후 태그 지정 함수 (console.log)는 트랜스 파일 된 다음 es6-> 5 코드의 반환 값을 전달받습니다.
_taggedTemplateLiteralLoose( ["1"], ["1"] );
이 함수의 반환 값은 console.log로 전달되어 배열을 인쇄합니다.