이 글은 ES6의 템플릿 문자열 사용법을 소개합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
템플릿 문자열의 출현 이후에는 템플릿 문자열에 대해 작은따옴표가 더 나은지 큰따옴표가 더 나은지에 대한 논쟁은 역사 단계에서 물러날 수 있습니다. `
最好!
单行文本
`string text`
多行文本
`string text line 1 string text line 2`
内嵌表达式
`string text ${expression} string text`
标签语法(不太喜欢)
tag `string text ${expression} string text`
完全不 care 单引号和双引号,当然,转义`
是不可避免的,有所得必有所失去嘛
let single=`string text, '' ""\`` // "string text, '' ""`"
n
也可以走开了let multip=`string text line 1 string text line 2` // "string text line 1 // string text line 2"
所以我们可以这么写代码 " let dom=` 我要换行 我还要换行 ` " 虽然好像没什么卵用
这是模板字符串最大的作用了,有好极大好处呢
更强的阅读性和更不容易错的字符串拼接
let name='jack',age=23 let summary=`my name is ${name}, age is ${age}` console.log(summary) // "my name is jack, age is 23"
对比一下之前的字符串拼接
let name='jack',age=23 let summary='my name is ' + name + ', age is ' + age console.log(summary) // "my name is jack, age is 23"
可以内嵌表达式,表达式也可以很复杂,但是不推荐
let num1 = 1, num2 = 2 `${num1} + ${num2} = ${num1 + num2}` // '1 + 2 = 3'
模板字符串嵌套
let inner=`${`${'1'}`}` // 1
我不太喜欢这个特性
function myTag(strings, personExp, ageExp) { var str0 = strings[0]; // "that " var str1 = strings[1]; // " is a " var str2 = strings[2]; // " " var ageStr; if (ageExp > 99){ ageStr = 'centenarian'; } else { ageStr = 'youngster'; } return str0 + personExp + str1 + ageStr; } var output = myTag`that ${ 'Mike' } is a ${ '22' }`; console.log(output);// that Mike is a youngster
标签函数的第一个参数strings.raw
储存着原始字符串,未经转义
function tag(strings) { console.log(strings.raw[0]); } tag`string text line 1 \n string text line 2`; // "string text line 1 \n string text line 2"
使用String.raw()
也是一样的效果,n
var str = String.raw`Hi\n${2+3}!`; // "Hi\n5!" str.length; // 6 str.split('').join(','); // "H,i,\,n,5,!"여러 줄 텍스트
let name="jack",age=23 let summary=`my name is ${name}, age is ${age}`인라인 표현식🎜
var name = "jack", age = 23; var summary = "my name is " + name + ", age is " + age;🎜태그 구문(별로 좋아하지 않음)🎜rrreee🎜한 줄 텍스트🎜🎜전혀 신경 쓰지 마세요. 작은따옴표와 큰따옴표는 물론, 이스케이프된
`
는 필연적으로 손실됩니다. 🎜rrreee🎜여러 줄 텍스트의 경우 줄 바꿈의 인코딩 변환 문제에 대해 걱정할 필요가 없습니다. >도 없어질 수 있습니다. 🎜rrreeerrreee🎜Expression🎜🎜이것이 템플릿 문자열의 가장 큰 역할입니다. 큰 이점이 있습니다.🎜🎜더욱 강한 가독성과 오류 발생 가능성이 적은 문자열 접합🎜rrreee🎜이전 문자열 접합 비교🎜 rrreee🎜는 표현식을 삽입할 수 있습니다. , 표현식은 매우 복잡할 수 있지만 권장되지 않습니다🎜rrreee🎜템플릿 문자열 중첩🎜rrreee🎜태그 구문🎜🎜이 기능이 마음에 들지 않습니다🎜rrreee🎜원래 문자열🎜🎜tag 함수 첫 번째 매개변수 문자열 .raw
는 이스케이프 없이 원래 문자열을 저장합니다🎜rrreee🎜String.raw()
를 사용하면 동일한 효과가 있으며 n는 두 문자입니다. 🎜rrreee🎜babel escape🎜🎜소스 코드🎜rrreee🎜translated🎜rrreee
위 내용은 ES6의 템플릿 문자열 사용법 소개(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!