문자열을 템플릿 문자열로 변환
일반 문자열을 템플릿 문자열로 변환할 수 있으므로 동적 코드 생성 기술이 필요하지 않습니다. eval 또는 new와 같은 함수?
답변:
예, ES6에서는 문자열 프로토타입에 사용자 정의 메서드를 추가할 수 있습니다.
String.prototype.interpolate = function(params) { const names = Object.keys(params); const vals = Object.values(params); return new Function(...names, `return \`${this}\`;`)(...vals); } const template = 'Example text: ${text}'; const result = template.interpolate({ text: 'Foo Boo' }); console.log(result);
이 메서드는 인수로서의 객체. 여기서 키는 템플릿 문자열 변수를 나타내고 값은 이를 대체합니다. 보간된 템플릿 문자열을 반환하는 새로운 함수를 생성하고 제공된 값으로 실행합니다.
위 내용은 'eval' 또는 'new Function' 없이 일반 문자열을 JavaScript에서 템플릿 리터럴로 변환할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!