ECMAScript 6 özellikleri Node.js içinde kullanılabilir 0.12


162

Node.js'nin (0.12) yeni ve kararlı bir sürümü, yakın zamanda yükseltilmiş bir Google'ın v8 JavaScript motoru, v3.28.73 ile birlikte geldi .

--harmonyBayrağı kullanmadan Node.js'de şu anda hangi ECMAScript 6 özellikleri bulunmaktadır ?

ES 6 özelliklerini listelediğini iddia eden birkaç siteyi kontrol ettim, ancak hepsi güncel değil - en belirgin şekilde, bu tablo ( Güncelleme: şimdi 0.12 itibariyle şu anki Node.js durumu ile güncellendi ), çünkü özelliklerin birçoğu --harmonybazılarının varsayılan olarak etkin olduğunu belirlerken bayrağa gereksinim duyuyorum (Haritalar, Kümeler, Semboller, birkaç isim). Güncelleme : Düğüme özel tablolar o zamandan beri kullanıma sunuldu

Ayrıca, bu bilgileri tamamen v8 motoru için google'da denemek çok güncel bilgiler verir - mevcut v8 sürümü 4.2. * ' Dır.

Umarım bu soru (ve cevapları), artık ES 6 özelliklerinin Node.js geliştiricileri tarafından kullanılabilecekleri hakkında kapsamlı bir özet haline gelecektir.

ES 6 özellikleri Node.js 0.12'de etkinleştirildi Şu anda şunları biliyorum:

  • Haritalar, Kümeler / Zayıf Haritalar, Zayıf Kümeler
  • Semboller
  • Object.observe
  • sözler
  • Numara
    • .isInteger
    • .isSafeInteger
    • .isNaN
    • .EPSİLON
    • .MIN_SAFE_INTEGER
    • .MAX_SAFE_INTEGER
  • Matematik
    • .clz32
    • .imul
    • .işaret
    • .log10
    • .log2
    • .log1p
    • .expm1
    • .cosh
    • .sinh
    • .tanh
    • .acosh
    • .asinh
    • .atanh
    • .trunc
    • .fround
    • .cbrt
    • .hypot

9
"Umarım bu soru (ve cevapları) artık ES 6 özelliklerinin Node.js geliştiricileri tarafından kullanılabileceği konusunda kapsamlı bir özet haline gelecektir." - Şansı sadece düzensiz bir karışıklık haline gelecektir ... Bu diğer tüm kaynaklar kadar güncel değil !! Siz 1) öz cevap ve 2) diğer cevapları kendinize hazırlamak için zaman ayırın. Bu işi yapmaya hazırsanız, bir blogda yapmak daha uygun olabilir.
Stephen C

2
Ya da sadece io.js'ye (çok daha güncel bir V8 sürümü ile birlikte gelir) geçin ve io.js sayfasındaki ES6'yı izleyin .
Fabrício Matté

2
Küratörlüğünü ES6 uyumluluk tablosu: kangax.github.io/compat-table/es6
Fabrício Matté

2
@JonathanLonowski ilginç, Düğüm 0.12 ile ilgili bir sorun / PR bulamadığım garip. edit: bir sorun açtı .
Fabrício Matté

1
@RobertRossmann - Herkesin bir blogu olabilir. Hedefinden şüphe etmiyorum. Sadece bunun işe yarayacağını sanmıyorum ... birisi (yani >> siz <<) >> çalışmasını sağlamak için >> çaba << koymazsa.
Stephen C

Yanıtlar:


250

Bayraksız özellikler --harmony:

Bayraksız sahip olduğumuz her şeyin bu olduğunu düşünüyorum --harmony.

İle Özellikler --harmonybayrak:

Sanırım hepsi bu kadar. Belki bir şeyi unutursam - daha sonra listeye eklerim.


8
Bu tam olarak almayı umduğum cevap - temiz ve dokümanlar / örneklere bağlantılar ile! --harmonyBayrak altındaki özellikleri listelemek için ekstra puan . :)
Robert Rossmann

2
Dize şablonları var --harmonymı veya yok mu? Arka kene ${varname}dize sözdiziminde olduğu gibi?
Sukima

5
@Sukima Node v0.12, şablon dizelerini , --harmonybayrağını veya onsuz desteklemez. Ancak iojs bayraklara ihtiyaç duymadan onları destekler.
alexpods

1
Düğümler bunu herhangi bir yerde belgelemiş mi? Bu çok kullanışlı.
Justin Hamade

1
@JonRed Belki koşunuz bir sabit yüzünden değil, başka bir nedenden dolayı başarısız oldu. Sadece denedim ve koşum oldukça iyi çalışıyor.
alexpods

4

ES6 özellikleri aşama olarak Düğüm'e damlar. Düğüm, JavaScript motoru olarak Google'ın V8'ini kullanır. Düğümde desteklenen bir özellik, önce V8'de uygulanması ve ardından Düğüm ekibinin onu Düğüm'e eklemesi gerektiği anlamına gelir.

Google'daki ekip, kabaca altı haftada bir yeni bir V8 sürümü yayınlıyor ve ardından onu kullanmak Düğüm ekibine bağlı.

Manuel olarak seçilen dil özellikleri listeleri güzeldir, ancak hızlı bir şekilde modası geçmiş olabilir. Düğüm 0.12 artık akışta değil, ancak düğümün yeni bir sürümü piyasaya sürüldüğünde genellikle manuel olarak seçilen liste kullanılmıyor.

Statik bir listeye dayanmadan, bir Düğüm sürümünün hangi özellikleri desteklediğini kontrol etmenin iki alternatif yolu vardır. Daha fazla okuma ve bunları kullanmayla ilgili daha ayrıntılı örnekler için "Node.js'nin ES 6 dil özelliğini destekleyip desteklemediğini kontrol etme"

# 1 Kolay - uyumluluk tablosu

Bir dil özelliğinin varlığını doğrulamak için küçük testlere dayanan dinamik olarak oluşturulmuş bir liste daha güncel kalır. Böyle popüler bir liste kangax.github.io/compat-table/es6/. Yalnızca Düğüm özellikleriyle ilgileniyoruz, böylece kullanabilirsiniz

http://node.green

kanguru sitesiyle aynı verileri kullanır.

# 2 Sabit - backtrack V8 sürümü

Düğüm V8 motoru kullanır, bu nedenle Düğüme hangi V8 sürümünün dahil edildiğini belirlemek bize hangi ES6 dil özelliklerinin desteklendiğini söyler. Düğümde hangi V8 sürümünün birlikte verildiğini öğrenebilirsiniz node -p process.versions.v8.

$ node -p process.versions.v8
4.6.85.31

Ardından Google'ın V8 proje kaynaklarını kullanarak her sürümde hangi özelliklerin uygulandığını bulabilirsiniz. V8 projesi, ES6 + 'yı işaretli özelliklerin ötesinde bulabileceğiniz bir sorun izleyici tutar uyum etiketi .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.