I'm trying to develop an Gnome Shell extension using GJS(Gnome Javascript), however, I came across the Lang library (I think it is a library, if not correct me). But I can't find any resources about it on the web.
In the code it looks something like this:
const Lang = imports.lang;
const ObjectA = new Lang.Class({ ... });
Where can I find some documentation about it? Is it a Gnome lib? A Mozilla lib?
I'm trying to develop an Gnome Shell extension using GJS(Gnome Javascript), however, I came across the Lang library (I think it is a library, if not correct me). But I can't find any resources about it on the web.
In the code it looks something like this:
const Lang = imports.lang;
const ObjectA = new Lang.Class({ ... });
Where can I find some documentation about it? Is it a Gnome lib? A Mozilla lib?
Share Improve this question asked Mar 19, 2014 at 6:28 Ángel ArayaÁngel Araya 2351 silver badge8 bronze badges 1-
FYI for future wanderers,
Lang
is deprecated now that we have native es6 classes, etc. More info here. – mgalgs Commented Oct 17, 2023 at 17:39
1 Answer
Reset to default 9It's a built-in module of gjs -- see modules/lang.js. It includes two main things: bind()
(a helper to make "this" point to the logical object in closures) and Class
, which basically implements a class in a language that does not have the concept of classes... It would be hard to work with GObject (a class-based object system) without this.