= 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
----