= Object 方法 == Object.defineProperty 该方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。 [source,javascript] ---- const object1 = {}; Object.defineProperty(object1, 'property1', { value: 42, writable: false }); object1.property1 = 77; // throws an error in strict mode console.log(object1.property1); // expected output: 42 ---- NOTE: 应当直接在 Object 构造器对象上调用此方法,而不是在任意一个 Object 类型的实例上调用。 == Object.prototype.hasOwnProperty 该方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。 [source,javascript] ---- const object1 = {}; object1.property1 = 42; console.log(object1.hasOwnProperty('property1')); // expected output: true console.log(object1.hasOwnProperty('toString')); // expected output: false console.log(object1.hasOwnProperty('hasOwnProperty')); // expected output: false ----