3

Ich werde versuchen, Express-Bibliothek und Node.js Schritt für Schritt zu lernen. Zuerst schaue ich auf die Besonderheiten der Node reqiure(moduleName) Funktion.

nahm ich einen Blick auf the documentation für diese und einige seltsame Code in dem Beispiel Dokumentation:

const circle = require('./circle.js'); 
console.log(`The area of a circle of radius 4 is ${circle.area(4)}`); 

Insbesondere die ${circle.area(4)} Bit.

Von dem, was ich verstehe, ist die $ in JavaScript genau wie jede andere Variable. Wenn wir es auf der clientseitigen Webentwicklung verwenden, wird es als Delegat für die Dokumentfunktion verwendet (glaube ich). Was ist es bei der Verwendung von Knoten zugeordnet?

Und was bedeutet diese Syntax? ${circle.area(4)}

Wenn $ ist nur ein Verweis auf eine Funktion someFunction() wäre es äquivalent nicht auf diese someFunction(){cirle.area(4)}. Ich sehe nicht, wie das eine gültige Syntax sein könnte.

Auch, warum würden sie nicht direkt die circle.area() Funktion direkt anyways sowieso anrufen?

Antwort

12

Dies:

`The area of a circle of radius 4 is ${circle.area(4)}` 

ist ein Beispiel für ES2015 template strings.

Es interpoliert was auch immer circle.area(4) direkt in die Zeichenfolge darstellt. Wenn Sie neugierig auf diese oder andere ES2015-Funktionen sind, empfehle ich Ihnen, sich die Babel anzuschauen und in der REPL herumzuspielen.

Here's a very simple example, um loszulegen.

Diesen ES2015 Code sehen:

const foo = 'some text'; 
console.log(`${foo} is interpolated.`); 

ist transpiled in dem entsprechenden ES5 - eine einfache + Verkettung:

var foo = 'some text'; 
console.log(foo + ' is interpolated.'); 
+0

macht absolut Sinn, danke. Das ist viel einfacher als ich dachte. –

+0

@SpencerRue Sie wetten - verbringen Sie ein wenig Zeit mit Babel/ES2015 und ich habe keine Zweifel, dass Sie alle Arten von neuen und interessanten Features entdecken werden :) –