Как проверить есть ли свойство в объекте?

Подскажите пожалуйста, как сделать проверку на наличие определенного свойства в объекте?

Есть несколько вариантов проверки, с помощью in или через undefined, вот примеры:


var worker = {
salary: "2000"
};

if
("salary" in worker) {
alert( "Свойство salary есть!" );
}


alert( worker.name === undefined ); // true
alert( worker.salary === undefined ); // false

но лучше использовать всё таки оператор in, он гарантирует точность, потому что бывают случаи когда добавляют свойства с значением undefined и проверка через тот же undefined дает не верный результат.