Как возможное расширение этого, есть ли способ встроить блоки обычного JS в код CoffeeScript, чтобы он не компилировался?
Да, вотдокументация .Вам нужно обернуть код JavaScript в обратные черты (`
).Это единственный способ напрямую использовать JavaScript ==
в CoffeeScript.Например:
Источник CoffeeScript
[ Попробуйте ] if `a == b`
console.log "#{a} equals #{b}!"
Скомпилированный JavaScript
if (a == b) {
console.log("" + a + " equals " + b + "!");
}
Конкретный случай == null
/ undefined
/void 0
обслуживается постфиксным экзистенциальным оператором ?
:
Источник CoffeeScript
[ попробовать ] x = 10
console.log x?
Скомпилированный JavaScript
var x;
x = 10;
console.log(x != null);
Источник CoffeeScript
[ попробуй ] # `x` is not defined in this script but may have been defined elsewhere.
console.log x?
Скомпилированный JavaScript
var x;
console.log(typeof x !== "undefined" && x !== null);