"bad" 这个构造函数真的怎么样?

How "bad" is this constructor really?

在遵循 HTML5 rocks 网络音频教程时,JSHint 发出此警告...

W056 - Bad constructor.at line 26 col 73

对于以下行...

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

JSHint 文档解释了每当 new 与对象文字一起使用时都会发出警告,并继续说 new "is only useful for creating instances of a constructor function and has no sensible meaning when applied to non-function objects or literals."

虽然我觉得这是一种合理的用法,但它很简洁,而且很明显它在做什么。因此,我想加入一个忽略指令 /*jshint -W056 */ 但我想我会问一下,以防我遗漏了什么。

那么,我是不是漏掉了什么?

您收到的消息与验证码不符。 New 与构造函数一起使用。 JSHint 可能无法分辨这一点,因为它来自复杂的表达式。所以说没有意义是错误的。