1.0.2 ⢠Published 3 years ago
node-self v1.0.2
node-self
š¤ self property in Node.js
Table of contents
What is this?
You can use self property in Node.js via this module.
// In Browser (Window context)
console.log(self); // Window { ... }
// In Browser (Dedicate worker context)
console.log(self); // DedicatedWorkerGlobalScope { ... }
// But, in Node.js
console.log(self); // ReferenceError: self is not definedWhy?:
selfproperty is not implemented in Node.js.
Features
You can use self property in Node.js.
- Super lightweight
- Pure Javascript
- Zero dependencies
Compatibility
Both Browser and Node.js.
How to use?
Just use self. It's returns appropriate Global Object (Context Dependent)
Import index.js
// CommonJS
require('node-self');
// ES6+
import 'node-self';or paste this code on the top
void !function () {
typeof self == 'undefined'
&& typeof global == 'object'
&& (global.self = global);
}();There are can be self (Global Object)
- Browser
- Window
- WorkerGlobalScope
- DedicatedWorkerGlobalScope
- SharedWorkerGlobalScope
- ServiceWorkerGlobalScope
- Node.js
- global
self;
// Browser
self === window; // true
// Node.js
self === global; // trueHow it works?
This project using typeof operator trickly.
typeof operator always return a string.
Even with undeclared identifiers, it will return 'undefined' instead of throwing an error.
undeclared; // ReferenceError: undeclared is not defined
typeof undeclared; // 'undefined'typeof self == 'undefined': Check existingselfidentifier (should be undefined)typeof global == 'object': Check current context is Node.jsglobal.self = global: Defineselfand assign reference of global object