jshint нет ошибки для forin (hasOwnProperty)
Почему jshint не сообщает об ошибке inin (hasOwnProperty) для следующего кода? jslint сообщает об ошибке, но jshint этого не делает.
/*jshint forin: true */
(function () {
"use strict";
var obj = {a: 1, b: 2}, i = null;
for (i in obj) {
if (i === 0) {
console.log('blah...');
}
}
}());
1 ответ
Решение
Вот соответствующий фрагмент кода из JSHint (слегка измененный для форматирования):
if (
state.option.forin &&
s &&
(s.length > 1 || typeof s[0] !== "object" || s[0].value !== "if")
) {
warning("W089", this);
}
Важная часть s[0].value !== "if"
, JSHint не выдаст ошибку, если первое утверждение for...in
тело это if
заявление, независимо от условия этого заявления.