Что означает этот код `... ${...}...` в документе node?
Я пытаюсь научиться Express Library и Node.js один шаг за раз. Сначала я рассматриваю особенности функции Node reqiure(moduleName)
.
Я просмотрел документацию для этого и нашел в файле примера какой-то странный код:
const circle = require('./circle.js');
console.log( `The area of a circle of radius 4 is ${circle.area(4)}`);
Более конкретно бит ${circle.area(4)}
.
Из того, что я понимаю, $
в JavaScript так же, как и любая другая переменная. Когда мы используем его в веб-разработке на стороне клиента, он используется как делегат для функции документа (я думаю). Что назначается при использовании node?
Кроме того, что означает этот синтаксис? ${circle.area(4)}
Если $
- это просто ссылка на некоторую функцию someFunction()
, не будет ли она эквивалентна этому someFunction(){cirle.area(4)}
. Я не вижу, как это может быть синтаксис.
Кроме того, почему бы им просто напрямую не называть функцию circle.area()
напрямую?
Ответы
Ответ 1
Это:
`The area of a circle of radius 4 is ${circle.area(4)}`
является примером строк шаблона ES2015.
Он интерполирует все, что circle.area(4)
представляет непосредственно в строку. Если вам интересно об этом или других функциях ES2015, я рекомендую проверить Babel и играть в REPL.
Вот очень простой пример, чтобы вы начали.
Вы можете увидеть этот код ES2015:
const foo = 'some text';
console.log(`${foo} is interpolated.`);
передается в эквивалент ES5 - простая конкатенация +
:
var foo = 'some text';
console.log(foo + ' is interpolated.');