Lihat tutorial CoffeeScript ini: http://jashkenas.github.com/coffee-script/
Saya tidak begitu mengerti untuk apa percikan itu. Konstruksi apa ini? Dari mana asalnya (secara historis)
javascript
coffeescript
interstar
sumber
sumber
arguments
+call
: stackoverflow.com/questions/17380315/…*args
didef foo(*args):
., ...args
dinamai parameter istirahat dan berkembang...args
menjadi panggilan fungsi / array / objek literal dinamai menyebarJawaban:
Istilah "operator percikan" berasal dari Ruby, di mana
*
karakter (kadang-kadang disebut "percikan" —lihat entri File Jargon ) digunakan untuk menunjukkan bahwa entri dalam daftar argumen harus "menyerap" daftar argumen.CoffeeScript mengadopsi lingkar Ruby-gaya yang sangat dini (lihat masalah 16 ), tetapi pada saran Douglas Crockford, sintaks berubah dari
*x
kex...
beberapa minggu kemudian (lihat masalah 45 ). Namun demikian, CoffeeScripters masih mengacu pada sintaks sebagai "splat" atau "splat operator."Mengenai apa yang sebenarnya mereka lakukan, percikan mengiris
arguments
objek sedemikian rupa sehingga argumen yang dicipratkan menjadi larik dari semua argumen "ekstra". Contoh paling sepele adalahDalam hal ini,
args
hanya akan menjadi salinan arrayarguments
. Argumen percikan bisa muncul sebelum, sesudah, atau di antara argumen standar:Dalam dua kasus pertama, jika fungsi menerima 0-1 argumen,
rest
akan menjadi array kosong. Dalam kasus terakhir, fungsi perlu menerima lebih dari 2 argumenrest
agar tidak kosong.Karena JavaScript tidak mengizinkan banyak tanda tangan untuk fungsi dengan nama yang sama (seperti yang dilakukan C dan Java), percikan adalah penghemat waktu yang sangat besar untuk menangani berbagai jumlah argumen.
sumber
params
kata kunci C # .console.log('this:',variable,'should be replaced with', another_variable);
jika Anda tahu python,
args...
kira-kira mirip dengan*args
, karena memungkinkan Anda untuk memperlakukan parameter fungsi sebagai daftarsebagai contoh:
ini juga berfungsi dalam tugas:
sumber
Percikan adalah istilah untuk penggunaan
...
operator untuk var-args (fungsi yang mengambil sejumlah variabel argumen).sumber
Saya pikir itu adalah gula sintaksis untuk objek argumen javascript.
Idenya mungkin datang dari operator percikan
*
Ruby .sumber
(x, rest...) ->
,rest
wont containsx
,arguments
does.