1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
# Lang
The `Lang` module is a collection of deprecated features that have been
completely superseded by standard ECMAScript. It remains a part of GJS for
backwards-compatibility reasons, but should never be used in new code.
#### Import
> Attention: This module is not available as an ECMAScript Module
The `Lang` module is available on the global `imports` object:
```js
const Lang = imports.lang
```
### Lang.bind(thisArg, function, ...args)
> Deprecated: Use [`Function.prototype.bind()`][function-bind] instead
Type:
* Static
Parameters:
* thisArg (`Object`) — A JavaScript object
* callback (`Function`) — A function reference
* args (`Any`) — A function reference
Returns:
* (`Function`) — A new `Function` instance, bound to `thisArg`
Binds a function to a scope.
[function-bind]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
### Lang.Class(object)
> Deprecated: Use native [JavaScript Classes][js-class] instead
Type:
* Static
Parameters:
* object (`Object`) — A JavaScript object
Returns:
* (`Object`) — A JavaScript class expression
...
Example usage:
```js
const MyLegacyClass = new Lang.Class({
_init: function() {
let fnorb = new FnorbLib.Fnorb();
fnorb.connect('frobate', Lang.bind(this, this._onFnorbFrobate));
},
_onFnorbFrobate: function(fnorb) {
this._updateFnorb();
}
});
```
[js-class]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Classes
### Lang.copyProperties(source, dest)
> Deprecated: Use [`Object.assign()`][object-assign] instead
Type:
* Static
Parameters:
* source (`Object`) — The source object
* dest (`Object`) — The target object
Copy all properties from `source` to `dest`, including those that are prefixed
with an underscore (e.g. `_privateFunc()`).
[object-assign]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
### Lang.copyPublicProperties(source, dest)
> Deprecated: Use [`Object.assign()`][object-assign] instead
Type:
* Static
Parameters:
* source (`Object`) — The source object
* dest (`Object`) — The target object
Copy all public properties from `source` to `dest`, excluding those that are
prefixed with an underscore (e.g. `_privateFunc()`).
[object-assign]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
### Lang.countProperties(object)
> Deprecated: Use [`Object.assign()`][object-assign] instead
Type:
* Static
Parameters:
* object (`Object`) — A JavaScript object
[object-assign]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
### Lang.getMetaClass(object)
Type:
* Static
Parameters:
* object (`Object`) — A JavaScript object
Returns:
* (`Object`|`null`) — A `Lang.Class` meta object
...
### Lang.Interface(object)
> Deprecated: Use native [JavaScript Classes][js-class] instead
Type:
* Static
Parameters:
* object (`Object`) — A JavaScript object
Returns:
* (`Object`) — A JavaScript class expression
...
[js-class]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Classes
|