2
문자열이 template literal인지 테스트 할 수 있습니까? 같은문자열이 JavaScript에서 템플릿 리터럴인지 확인하십시오.
뭔가 :
const x = "foo"
const y = `${x}bar` // "foobar"
isTemplateLiteral(x) // false
isTemplateLiteral(y) // true
문자열이 template literal인지 테스트 할 수 있습니까? 같은문자열이 JavaScript에서 템플릿 리터럴인지 확인하십시오.
뭔가 :
const x = "foo"
const y = `${x}bar` // "foobar"
isTemplateLiteral(x) // false
isTemplateLiteral(y) // true
템플릿 문자 만 구문/자바 스크립트 구조와 언어의 객체가 아닌 새로운 유형입니다. 템플릿 리터럴의 값은 프로세서가 코드 줄을 넘고 반환 값이 문자열 일 때 생성되므로 문자열 리터럴이나 일반 문자열로 값이 생성되었는지 확인할 수 없습니다.
Btw, babel을 사용하고 출력이 유효한 ES5가되도록하려면 문자열 리터럴이 일종의 문자열 연결로 변환됩니다 (var y = x + 'bar'
).
아니요, 불가능합니다. 가장 가까운 함수는이 코드를 함수로 래핑 한 다음 소스를 구문 분석하는 것입니다 (toString()을 통해 사용할 수 있음). 아직도, 그것은 XY 문제로 심하게 냄새가 난다. – raina77ow
'x'와'y'가 항상 문자열이기 때문에 문자열이 템플릿 리터럴로부터 형성되었는지 물어 보는 것이 더 낫습니다. – Andy