2016-09-19 19 views
5
yapmak daha iyidir

: aynen böyleDışa aktarılan const ok işlevi veya temel işlevi?

export const foo =() => 'bar' 

veya düzenli fonksiyonu dışa: şöyle bir const ok fonksiyonu ihracat

export function baz() { 
    return 'bar'; 
} 

Onlar şöyle derlemek:

exports.baz = baz; 
function baz() { 
    return 'bar'; 
} 
var foo = exports.foo = function foo() { 
    return 'bar'; 
}; 

Bu, const/ok işlev kombinasyonunu kullanarak, fazladan bir ekstra gibi görünen ekstra bir değişken (foo) bildiriyor gibi görünüyor. Basit işlev bildirimi üzerinde tepeler.

+0

ECMAScript 6, ECMAScript 5'e derlenmekte doğru mu? – qxz

+0

Soru, ES6 kodunun Babil ile ES5'e aktarıldığını varsayar, bu doğru olmayabilir. – estus

+0

Evet, açık olmadığı için özür dilerim. ES6, Babil aracılığıyla ES5'e aktarılıyor. – abustamam

cevap

6

Farklılıklar küçüktür. Her ikisi de bir değişken bildirir. Bir işlev bildirimi teorik bir ok fonksiyonu a function expression, not a function declaration olduğunu

  • üzerine yazılabilir ve atama dairesel bağımlılıklar için problemlere yol açabilir ederken

    • A const değişken, senin modülü içinde de sabittir
    • bir ok fonksiyonu olamaz be a constructor or use a dynamic this
    • Bir blok gövdesi kullanıyorsanız, kısa bir gövde ve birkaç karakter uzunsa, ok işlevi birkaç karakter daha kısa olur.
  • +1

    Bu nedenle, mimarlık açısından, işlev bir kurucuya ya da 'bu'ya ihtiyaç duymadığı sürece, bir' const' değişkeni iyi olmalıdır? 2 numaralı noktadan bahsedebilir misiniz, yeniden: dairesel bağımlılıklar? – abustamam

    İlgili konular