ES6을 사용하여 문자열을 템플릿 문자열로 변환
JavaScript에서 템플릿 문자열을 사용하면 표현식과 변수를 문자열에 직접 포함할 수 있습니다. 간결하고 읽기 쉬운 구문. 그러나 기존의 비템플릿 문자열에서 템플릿 문자열을 생성하려면 어떻게 해야 할까요? 이 질문은 eval 또는 new Function과 같은 동적 코드 생성 기술을 사용하지 않고도 이러한 변환을 수행할 수 있는 가능성을 탐구합니다.
제공된 솔루션은 사용자 지정 보간 기능과 함께 ES6의 문자열 보간 기능을 활용합니다. 이 함수는 템플릿 매개변수가 포함된 객체를 취하고 JavaScript 템플릿 리터럴을 사용하여 템플릿 문자열을 동적으로 생성합니다.
솔루션 작동 방식은 다음과 같습니다.
String.prototype.interpolate = function(params) { const names = Object.keys(params); const vals = Object.values(params); return new Function(...names, `return \`${this}\`;`)(...vals); }
보간 함수는 사용자 정의로 추가됩니다. String 객체에 대한 프로토타입 메소드입니다. 템플릿 매개변수를 나타내는 키-값 쌍의 개체를 허용합니다.
const template = 'Example text: ${text}'; const result = template.interpolate({ text: 'Foo Boo' });
여기서 템플릿 문자열에 보간 기능을 적용하여 매개변수 텍스트가 'Foo Boo'로 설정된 개체를 전달합니다. 이 함수는 매개변수 값에 대한 자리 표시자와 함께 JavaScript 템플릿 리터럴을 활용하여 템플릿 문자열을 생성합니다.
console.log(result);
마지막으로 결과를 콘솔에 기록하면 다음과 같이 출력됩니다.
Example text: Foo Boo
이 솔루션을 사용하면 일반 문자열을 템플릿 문자열로 동적으로 변환할 수 있으므로 JavaScript에서 템플릿 문자열이 제공하는 표현력과 가독성을 활용할 수 있습니다. 코드입니다.
위 내용은 `eval` 또는 `new Function`을 사용하지 않고 ES6 JavaScript에서 일반 문자열을 템플릿 리터럴로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!