55 votes

Ne CoffeeScript autoriser JavaScript style == égalité sémantique?

J'aime que CoffeeScript compile == dans le JavaScript === de l'opérateur. Mais que faire si vous voulez l'original JS == de la sémantique? Sont-ils disponibles? J'ai étudié de près le dossier et ne peut pas trouver quelque chose de cette activation.

Plus généralement, est-il un moyen de l'inclure plaine JS dans mon CoffeeScript code de sorte que le compilateur ne la touche pas?

Je préfère éviter d'éditer le compilé en JavaScript sortie, depuis que je suis en utilisant Crépitant à l'auto-générer dans Visual Studio.

78voto

Jeremy Banks Points 32470

Comme une prolongation possible jusqu'à présent, est-il un moyen de l'inclure des blocs réguliers de JS en CoffeeScript code de sorte qu'il n'est pas compilé?

Oui, voici la documentation. Vous avez besoin d'envelopper le code JavaScript dans les backticks (`). C'est la seule façon pour vous d'utiliser du JavaScript == en CoffeeScript. Par exemple:

CoffeeScript Source [essayer]

if `a == b`
  console.log "#{a} equals #{b}!"

Compilé En JavaScript

if (a == b) {
  console.log("" + a + " equals " + b + "!");
}

Le cas spécifique de l' == null/undefined/void 0 est servi par le suffixe existentielle de l'opérateur ?:

CoffeeScript Source [essayer]

x = 10
console.log x?

Compilé En JavaScript

var x;
x = 10;
console.log(x != null);

CoffeeScript Source [essayer]

# `x` is not defined in this script but may have been defined elsewhere.
console.log x?

Compilé En JavaScript

var x;
console.log(typeof x !== "undefined" && x !== null);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X