프로그래밍 방식으로 문자열을 템플릿 문자열로 변환
Javascript에서는 역따옴표( ) 또는를 사용하여 문자열 템플릿을 정의할 수 있습니다. 그러나 일부 시나리오에서는 템플릿 문자열과 유사하지만 구문상 문자열이 아닌 상황이 발생할 수 있습니다.
예를 들어 다음과 유사한 문자열이 있을 수 있습니다.
let a = "b:${b}";
그리고 나중에 유효한 템플릿 문자열로 변환하고 싶습니다.
동적 코드에는 eval 또는 new Function과 같은 메서드를 사용한다는 점에 유의하는 것이 중요합니다. 보안상의 이유로 생성을 권장하지 않습니다. 대신에. 다음과 같이 ES6에 구현된 String.prototype.interpolate 메서드를 활용할 수 있습니다.
String.prototype.interpolate = function(params) { const names = Object.keys(params); const vals = Object.values(params); return new Function(...names, `return \`${this}\`;`)(...vals); };
이 메서드를 활용하면 다음과 같은 방식으로 문자열을 변환할 수 있습니다.
let b = 10; console.log(a.interpolate({ b }));
출력은 b:10이 되며 이는 변수 b를 문자열 a로 성공적으로 보간했음을 보여줍니다.
위 내용은 JavaScript에서 프로그래밍 방식으로 문자열을 템플릿 리터럴로 안전하게 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!