Я довольно новичок в программировании и столкнулся с этой проблемой при изучении объектов.Похоже, что оператор if может искать свойство внутри объекта без использования hasOwnProperty () или ключевого слова in или чего-либо еще по этому вопросу.Вы можете просто напечатать что-то вроде:
if (object.property) {code here};
Я искал в Интернете, но не нашел информации о том, почему это возможно.За исключением некоторых поверхностных обсуждений правдивых или ложных понятий.Которые почти помогли, но были мелкими.Ниже приведен пример кода, который я использовал для обнаружения этой проблемы
var obj = {
prop1: {
propa: "x",
propb: ["b", "q", "y"],
prop3: "y",
prop4: "zz"
}
},
output = document.getElementById("output");
if (obj.prop1) {
output.innerHTML = "The propery exist."; //The property exist shows.
} else {
output.innerHTML = "The property does not exist.";
}
Итак, вопрос в том, что представляет собой процесс, выполняемый if-оператором Javascript для возврата логического ответа из оператора, такого как if (object.property) {} ?