The Firefox DevTools underlying code, which is written with JavaScript and HTML, is a complex application. Due to the complexity and amount of work going on, the DevTools team has done everything they can to load as little as possible. Furthermore the team has a system of lazily importing and initializing objects when they’re needed. I’ve taken a bit of time to reduce the initializer, let’s take a look!
The system relies on taking advantage of Object.defineProperty‘s get function to initialize an object when needed:
// Lazily initializes an object's property until it's used
function lazyGet(hostObj, name, initializer) {
let defined = false;
Object.
Check Full Content Here [...]
from Proven Ways http://provenways.com/lazy-object-initialization/
Comments
Post a Comment