# destroyObject

#### destroyObject(object, message)
Core/destroyObject.js 40

Destroys an object. Each of the object's functions, including functions in its prototype, is replaced with a function that throws a `DeveloperError`, except for the object's `isDestroyed` function, which is set to a function that returns `true`. The object's properties are removed with `delete`.
This function is used by objects that hold native resources, e.g., WebGL resources, which need to be explicitly released. Client code calls an object's `destroy` function, which then releases the native resource and calls `destroyObject` to put itself in a destroyed state.

Name | Type | Description
--- | --- | ---
`object` | Object | The object to destroy.
`message` | String | optional The message to include in the exception that is thrown if a destroyed object's function is called.

##### Example:

    // How a texture would destroy itself.
    this.destroy = function () {
        _gl.deleteTexture(_texture);
        return Cesium.destroyObject(this);
    };

##### See:

- DeveloperError