no-obj-calls

禁止将全局对象属性作为函数调用

配置文件 中的 "extends": "eslint:recommended" 属性启用了该规则

ECMAScript 提供了几个旨在按原样使用的全局对象。其中一些对象看起来好像是构造函数,因为它们的大小写(例如 MathJSON),但如果您尝试将它们作为函数执行,则会引发错误。

ECMAScript 5 规范 明确表示不能调用 MathJSON

Math 对象没有 [[Call]] 内部属性;不能将 Math 对象作为函数调用。

qIjEy8EY8ulzeaxUZ/l62F+Xud3xyUROwlHNc2OYeBsb7DBrMT857EDf8PWfvpEU20LN7inJRerDeib2pTldVtZ/F9AGpd0YHJGEXos3ExtEenW0ybNdUkf2IBU4KoZMzi9YcqLV5DNfo8oa4wPTrrbrR2QgbI3k3H+zR0y37gI=

r7QTWWl/TsxbU+JjfPGsUE4Iaq+inUXPP51W7dzo6vehJubcphSC9r3cm2teIqk4bbpWu3abBSdyfZhFZ8RCygJvmSHYQoM0PPV2TJ4J9uRPn5e4zxAjDSyN6YGljtg1rpgLcgi2qCNMsBaXDLDfNg==

X2GCSheJjloMm4KnrQ4AJDPT7HpmU3HtZdlSQYSULzTTq+5vmrShIqHdAU0Z0/t/lqNV8IeH5qTDKAkamiNnVr5qIDWSAJxVMZZxait0CkqWnCjc28mYR2rH2b2nFxu5w3tFPZIQseUECr0BOSqXASY3NIk8t4aqp2KeoZIbyiA=

srRaOHXFRFLf5b9PmfkrUl1bOyHIT8B5h22wJujuXmtMssDkILOQgcwCtU2x7DLkvGf10W9Qprun06oNkTS1dtBNoL3eLQLQRSkL0ZDWohwOqYmZx2khmo/zpU2Ln2883xlHXUJXDC1+l+H8yUdA/w==

规则详情

ZM+7UkzS+Zxu8bvSqSbq6KR4+MjCPZ7UxI85DJCpvqjdS8gN1cJmDFnUVZk/q4U7hgsSZXXvx/3fz780KDsw5LOMKbt81KneHwtNK4f8dT7AYBsvCTYnlO2N8pEG6EfVvv9835l1BeSylRcf6maF1C63ymsAjVOl3TT8ua9UIuHF8MhsdhPMCQYV2mFUEgrj

xcnedys6KQcQHxzmbQxa7oBtoNGwuCTjj9dVXem4SH3bZusOVhltKZN+j1xP8rt1K8NRmicu0EeAkd+BfLLJHydyRnXuw8e8cgYc7PjBveFFLc3P3gW+3DsqBGoznIRs

k7HkpyhTRoT9T3bsrVJ1W9IUT56r3GvYicL0qS8XjwbDvDXG9eGk/CkswpMjh9k+

/*eslint no-obj-calls: "error"*/
/*eslint-env es2017*/

var math = Math();

var newMath = new Math();

var json = JSON();

var newJSON = new JSON();

var reflect = Reflect();

var newReflect = new Reflect();

var atomics = Atomics();

var newAtomics = new Atomics();

f/g6SKVZdhoBiPVtnee0m+uPEv1T4kMgIaFUpxdtFwzAZHGBqJ5dJxRHxHHP/cP8

/*eslint no-obj-calls: "error"*/
/*eslint-env es2017*/

function area(r) {
    return Math.PI * r * r;
}

var object = JSON.parse("{}");

var value = Reflect.get({ x: 1, y: 2 }, "x");

var first = Atomics.load(foo, 0);