"和"有什么区别?

Pur*_*mar 2 javascript ecmascript-6

嘿伙计们,我想知道这两种单引号'和'之间有什么区别?

我试图执行以下命令`然后它工作

axios.get(`https://api.github.com/users/${this.state.userName}`)
      .then(resp => {
        console.log(resp);
      });
Run Code Online (Sandbox Code Playgroud)

但当我试图使用''运行相同的命令它不起作用

axios.get('https://api.github.com/users/${this.state.userName}')
          .then(resp => {
            console.log(resp);
          });
Run Code Online (Sandbox Code Playgroud)

Sur*_*yan 6

第一个是在ES6中添加的模板文字 - 它首先评估给定的嵌入式表达式,获取结果并用结果替换表达式.在你给表达式(变量,函数调用,...),它创建一个字符串替换结果的部分.${}${expression}

这段代码

var str = 'text';
var template = `Some ${str}`; // `str` is a expression which returns the value

console.log(template);
Run Code Online (Sandbox Code Playgroud)

相当于字符串的连接.

var str = 'text';
var template = 'Some ' + str; // Just concatenate the strings

console.log(template);
Run Code Online (Sandbox Code Playgroud)

模板文字还允许您创建多行字符串

const multiLine = `This is a multi-
line text`;

console.log(multiLine);
Run Code Online (Sandbox Code Playgroud)