템플릿 문자열
(`) 반 따옴표로 확인 된. 이것은 통상의 문자열로 사용할 수 있고, 또한 현의 복수의 열을 정의하는 데 사용하거나 문자열 변수에 삽입 될 수있다.
// 일반 문자열은 '자바 스크립트'\ N- '에서은 줄입니다 feed.` // 여러 줄 문자열 `하여 자바 스크립트에서 다음은이가 IS legal.`하지 을 console.log를 (문자열 텍스트`라인 . 1 문자열 텍스트 라인 2 '); // 에 포함 된 문자열 변수 = "밥"를하자 이름, 시간 = "오늘" , `헬로 $ {이름}, 시간이 어떻게 당신에게 $ {}이다 `를?
내장 템플릿 문자열 변수는 변수 이름이 기록 될 필요 ${}
로.
내부 중괄호 작동 될 수있는 임의의 자바 스크립트 표현하고, 오브젝트 속성에 대한 참조에 배치 될 수있다.
있도록 X = 1 ; Y는하자 = 2 ; '$ {} X + Y $ {} = {$ X + Y}` // "1 + 2 = 3" '$ {} X + Y * $ {2} = $ {X + Y * 2 }` / / "1 + 4 = 5" 하자 OBJ = {X 1, Y 2 }; `$ {obj.x + obj.y}` // "3"
템플릿 문자열 가운데 함수를 호출 할 수 있습니다.
기능 FN () { 반환 에 "Hello World" ; } `foo는 $ {FN ()} bar` // foo는 안녕하세요 바
심지어 중첩 된 템플릿 문자열.
당신이 필요할 때 실행되는 참조 템플릿 문자열 자체를해야하는 경우, 함수로 기록 될 수 있습니다.
하자 FUNC = (이름) =>`안녕하십니까, $ {이름}! `; FUNC ( '잭') // "안녕하세요 잭!"
라벨 템플릿
기능 템플릿 문자열, 그냥 위. 바로 함수 이름 뒤에, 기능이 템플릿 문자열을 처리하기 위해 호출 될 수 있습니다. 이것은 "라벨 템플릿"기능 (태그 템플릿)라고합니다.
alert`123 ` // 상응하는 (123) 경고
"라벨 템플릿"중요한 응용 프로그램은 악의적 인 내용을 입력하지 못하도록하는 HTML 문자열을 필터링하는 것입니다.
메시지 = 내버려 SaferHTML` <P> $ {보낸} 메시지를 보내 셨습니다 </ P>`.; 작동 SaferHTML (templateData)를 { (S)가하자 templateData가 = [0 ]; 위한 (; 나는 <난에서 arguments.length ++ I = 1하자 {) 하게 ARG = 문자열 (인수 [I]); // 대체에 특수 문자를 탈출. S = + arg.replace (/ 및 / g '및 A; " ) .replace ( / </ g"및 LT; " ) .replace ( /> / g"한다 " ); // 템플릿에 특수 문자를 탈출하지 마십시오. S = + templateData [I]; 에스; }
레이블 템플릿의 다른 응용 프로그램, 다중 언어 변환 (국제화 과정)입니다.