JavaScript模板字符串用反引号定义,支持多行书写和${}嵌入表达式,比单/双引号更灵活;可插入变量、运算、函数调用、三元运算及对象属性,但需注意反引号不可替换、避免未声明变量、嵌套需额外反引号。
JavaScript模板字符串是用反引号(`)包裹的字符串,支持多行书写和嵌入表
达式,比传统单引号或双引号字符串更灵活、可读性更强。
用一对反引号定义,内部可直接换行,无需转义;变量或表达式用${}语法插入:
`Hello World`
const name = 'Alice'; console.log(`Hi, ${name}`); // Hi, Alice
const html = `
Title
Content
`;
大括号内不限于变量名,可以是任意合法的JavaScript表达式:
`2 + 3 = ${2 + 3}` // "2 + 3 = 5"
`Length: ${'hello'.length}` // "Length: 5"
`Status: ${isActive ? 'Online' : 'Offline'}`
const user = {name: 'Bob'}; `User: ${user.name}`
模板字符串不是万能的,要注意几个易错点:
`Outer ${`inner ${value}`}`
String.raw`\\n`),不加标签时只是普通模板字符串模板字符串特别适合拼接动态内容:
const list = ['a', 'b']; const html = `${list.map(i => `- ${i}
`).join('')}
`;
const id = 123; fetch(`/api/users/${id}?limit=${limit || 10}`);
console.log(`User ${user.id} logged in at ${new Date().toLocaleTimeString()}`);