Что означает этот код `... ${...}...` в документе 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.');