왜 자바 스크립트는 이러한 유형의 오류가 반환 않습니다자바 스크립트 내부 루프 반환 형식 오류에 대한
TypeError: Cannot use 'in' operator to search for 'active' in undefined
을 나는이
foo = [
{link:"http1", active:"true"},
{link:"http2", active:"true"},
{link:"http3"}
]
var checker = function(){
for(i=0; i<= foo.length; i++){
if('active' in foo[i]){
checked = true
}
}
}
하지만 뭔가를 할 때 콘솔에서이 작업을 수행 할 때 동일한 foo 객체를 사용합니다.
'active' in foo[0]
true를 반환합니까?
자바 스크립트 우수 사례 : 'in'을 사용하지 마십시오. JavaScript는 여러분이 영원히 단순히'if (foo [i] .active) {...}'처럼 행동하려고하거나, 속성이 명명 된 변수에있는 경우, "propname" ,'if (foo [i] [propname]) {...}'. 그리고 위생을 위해서, 당신은'if (foo [i] && foo [i] .active) {...}' –
고맙습니다. 파이썬에서 오는 것은 정상적인 것처럼 보이지만, 당신이 말하는 것을 볼 수 있습니다. – Garuuk