* Every object descended from `Object` inherits the `hasOwnProperty` method. This method can be used* Returns a string representing the object. This method is meant to be overridden by derived objects* in core object overrides this method to return an appropriate value. If an object has no primitive* When you create a custom object, you can override `Object.valueOf` to call a custom method instead* function's name, but it isn't read only (except for primitive Boolean, Number or String values: 1,