增强字面量

94 阅读1分钟
  1. 增强字面量(Enhanced Literals)是ES6中引入的一个新特性,它允许开发者在字面量中嵌入表达式。

    //创建一个包含变量值的对象字面量
    var name = 'John';
    var age = 30;
    var person = {name, age};
    

在这个例子中,{name, age}就是一个增强字面量。它会被解析为一个对象字面量,其中nameage的值就是变量nameage的值。

     //增强字面量还可以用于数组和字符串字面量:
     let firstName = 'John';
     let lastName = 'Doe';
     let fullName = [firstName, ' ',  lastName].join(''); // "John Doe"

在这个例子中,[firstName, ' ', lastName]是一个数组字面量,然后使用join('')方法将其转换为一个字符串。

  1. 模板字符串,也称为模板字面量,是 ECMAScript 6(ES6)引入的一种新的字符串表示法。它允许在字符串中嵌入变量和表达式,使用反引号('')包围字符串内容

  • 变量插入

    模板字符串允许在字符串中插入变量值或表达式,使用 ${} 语法。这使得代码更加清晰和可读,不需要繁琐的字符串拼接。

    const name = 'Alice';
    const greeting = `Hello, ${name}!`; // 使用模板字符串插入变量
    console.log(greeting); // 输出:Hello, Alice!
    
  • 多行文本

传统字符串拼接通常需要使用 \n 换行符来构建多行文本,而模板字符串允许直接在字符串中包含换行符,更加方便。

  const multiLineText = `
  This is line 1.
  This is line 2.
  This is line 3.`;
  console.log(multiLineText);
  • 嵌套模板字符串

模板字符串可以嵌套使用,使得构建复杂的字符串变得容易。

const name = 'Bob';
const message = `Hello, ${name}! Your age is ${25 + 5}.`;
console.log(message);