2016-05-25 2 views
8

次ながらHTML5は、次の行のために このコンストラクタは本当に「悪い」ですか?

W056 - Bad constructor.at line 26 col 73 

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

JSHintのドキュメント

が使用されるたびに新しい警告が発行された説明...ウェブオーディオのチュートリアルがJSHintは、この警告を与える岩オブジェクトリテラルを使用して、新しい "がコンストラクタ関数のインスタンスを作成するためにのみ有用であり、非関数オブジェクトやリテラルに適用された場合には意味をなさないと言っています。

これは私にとっては妥当な使用ですが、それは簡潔であり、それが何をしているのかははっきりしています。だから私は無視する命令を投げ入れることを心がけています。*/* jshint -W056 * /私は何かが欠けている場合に備えて尋ねると思いました。

だから私は何か不足していますか?

+4

いいえ、あなたは何も見逃せません。 JSHintではなくESLintを使用することをお勧めします。 – Ginden

+1

@Ginden - すばやい返信をいただきありがとうございます。私は実際にはESLintを使用して深刻なプロジェクトでは嫌な思いをしますが、JSHintの設定では、スタイルが問題ではないという一般的な問題のために、よりリラックスしたデフォルト設定を使用しています。 – technicalbloke

+2

あなたが使用しているのは、* if..else *のショートカットです。関数ではないオブジェクトで* new *を使っても問題ありません。ところで、すべての関数がコンストラクタではありません。 ;-) – RobG

答えて

1

あなたのメッセージはコードと一致しません。 Newはコンストラクタ関数で使用されます。 JSHintは複雑な表現が原因でこれを伝えることはできません。それで、賢明な意味がないことは間違っています。

関連する問題