美元符号后跟模板字符串中的方括号
Dollar sign followed by a square bracket in a template string
我在弄乱一些 ES6 代码时遇到了这个
let vendors = ['ms', 'moz', 'webkit', 'o'];
let root = window || global;
let performance = window.performance || {};
if (!performance.now) {
vendors.some(function(vendor) {
performance.now = performance[`$[vendor}Now`];
...
我能猜到下面的代码片段是做什么的,但它是什么样的 library/syntax?这不是我以前见过的东西,也不是纯 ES6 吧?
`$[vendor}Now`
看来这是一个语法错误。正确的应该是:
`${vendor}Now`
这是这里提到的美元表达式:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/template_strings
Template strings are enclosed by the back-tick (`
) (grave accent) character instead of double or single quotes. Template strings can contain place holders. These are indicated by the Dollar sign and curly braces (${expression}).
模板字符串中的方括号是错误的。
更具体地说,如果您有:
var expression = 'test';
console.log(`string text ${expression} string text`); //Correct syntax
以上代码将导出:"string text test string text"
但是下面的代码有一个左方括号和一个右方括号 curly bracket
var expression = 'test';
console.log(`string text $[expression} string text`); //Wrong syntax
将仅导出:"string text $[expression} string text"
我在弄乱一些 ES6 代码时遇到了这个
let vendors = ['ms', 'moz', 'webkit', 'o'];
let root = window || global;
let performance = window.performance || {};
if (!performance.now) {
vendors.some(function(vendor) {
performance.now = performance[`$[vendor}Now`];
...
我能猜到下面的代码片段是做什么的,但它是什么样的 library/syntax?这不是我以前见过的东西,也不是纯 ES6 吧?
`$[vendor}Now`
看来这是一个语法错误。正确的应该是:
`${vendor}Now`
这是这里提到的美元表达式:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/template_strings
Template strings are enclosed by the back-tick (
`
) (grave accent) character instead of double or single quotes. Template strings can contain place holders. These are indicated by the Dollar sign and curly braces (${expression}).
模板字符串中的方括号是错误的。
更具体地说,如果您有:
var expression = 'test';
console.log(`string text ${expression} string text`); //Correct syntax
以上代码将导出:"string text test string text"
但是下面的代码有一个左方括号和一个右方括号 curly bracket
var expression = 'test';
console.log(`string text $[expression} string text`); //Wrong syntax
将仅导出:"string text $[expression} string text"