اندازهی قلم متن
تخمین مدت زمان مطالعهی مطلب:
دو دقیقه
اصطلاحات عمومی CoffeeScript
Multiple arguments
همانطوری که در قسمت قبل در تابع Math.max مشاهده کردید، با استفاده از ... آرایه را به عنوان آرگومان چندگانه به تابع max ارسال کردیم. در پشت صحنه CoffeeScript برای اطمینان از ارسال کامل آرایه به تابع max، برای فراخوانی از تابع ()apply استفاده میکند. ما نیز میتوانیم از این ویژگی در جای دیگری استفاده کنیم.
Log = log: -> console?.log(arguments...)
var Log; Log = { log: function() { return typeof console !== "undefined" && console !== null ? console.log.apply(console, arguments) : void 0; } };
Log = logPrefix: "(App)" log: (args...) -> args.unshift(@logPrefix) if @logPrefix console?.log(args...)
var Log, slice = [].slice; Log = { logPrefix: "(App)", log: function() { var args; args = 1 <= arguments.length ? slice.call(arguments, 0) : []; if (this.logPrefix) { args.unshift(this.logPrefix); } return typeof console !== "undefined" && console !== null ? console.log.apply(console, args) : void 0; } };
And/Or
طبق ساختار syntax ایی که در قسمتهای قبل با آن آشنا شدیم، or به جای || و and به جای && استفاده شده و سبب خوانایی بیشتر کد نوشته میشوند؛ در صورتیکه هر دو روش نتایج یکسانی را تولید میکنند.
همچنین به جای استفاده از == از is و برای =! از isnt استفاده میشود.
string = "migrating coconuts" string == string # true string is string # true
hash or= {}
hash || (hash = {});
hash ?= {}
if (typeof hash !== "undefined" && hash !== null) { hash; } else { hash = {}; };