2016-05-25 20 views
8

izlerken bir HTML5 şu hattı için Bu kurucu gerçekten "kötü" dir?

W056 - Bad constructor.at line 26 col 73 

...
var audioContext = new (window.AudioContext || window.webkitAudioContext)(); 

JSHint docs

her kullanıldığında yeni uyarı verilir açıkla ... web ses öğretici JSHint bu uyarıyı verir rocks bir nesneyle değişmez ve “yeni bir kurucu işlevinin örneklerini oluşturmak için yalnızca yararlıdır ve işlevsiz nesneler veya değişmezlere uygulandığında mantıklı bir anlamı yoktur” demeye devam edin.

Bu bana mantıklı bir kullanım olarak çarpıyor, ancak bu çok basit ve ne yaptığı oldukça açık. Bu yüzden bir ihmal direktifine atılmaya karar verdim/* jshint -W056 */ama bir şeyleri kaçırdığım halde sormam gerektiğini düşündüm.

Yani bir şey mi eksik?

+4

Hayır, hiçbir şey kaçırmazsınız. Ve JSHint yerine ESLint kullanmanız önerilir. – Ginden

+1

@Ginden - hızlı cevap için teşekkürler. Ben aslında ESlint ve homurdanımı ciddi projelerde kullanıyorum ama atomun JSHint kurulumunu, stilin bir sorun olmadığı yerde genel amaçlı dickering için daha rahat bir varsayılan yapılandırması var. – technicalbloke

+2

Kullandığınız şey, * if..else * için bir kestirme yoldur, işlevsiz bir nesne ile * new * kullanımıyla ilgili bir sorun yoktur. BTW, tüm işlevler kurucular değildir. ;-) – RobG

cevap

1

Aldığınız mesaj kodla eşleşmiyor. Yeni bir yapıcı işleviyle kullanılır. JSHint muhtemelen, bunun söylediği karmaşık ifadeden dolayı bunu söyleyemez. Yani mantıklı bir anlamın olmaması yanlış.