DEV Community

Cover image for Namespacing in JavaScript

Namespacing in JavaScript

Himanshu Tiwari ๐ŸŒผ on January 17, 2021

One of the most confusing things in JavaScript, I found was namespacing. So, I learned about it and thought to share the notes with everyone who is...
Collapse
 
matjones profile image
Mat Jones

You can achieve the same effect without the use of immediately invoked function expressions using ES6 modules. Or even better, if youโ€™re using TypeScript, you can just use the namespace keyword (TypeScript fanatic here).

Collapse
 
himanshutiwari15 profile image
Himanshu Tiwari ๐ŸŒผ • Edited

Thanks for the information dude
Would love if you can share any resource for my help and I don't know much about typescript ๐Ÿ˜…๐Ÿ˜ฅ

Collapse
 
matjones profile image
Mat Jones

You can read generally about the module specifications here, for full browser support youโ€™d need to use a bundler like Parcel, Webpack, Rollup, etc.

TypeScript adds a namespace keyword which is essentially just syntax sugar that compiles to JavaScript modules namespaced via the ES6 module system, or if you need full browser support and are compiling to ES5, itโ€™ll compile to a method similar to what youโ€™ve shown above. You can read more about TypeScript namespaces here

Thread Thread
 
himanshutiwari15 profile image
Himanshu Tiwari ๐ŸŒผ

Thanks for your time and references

Thread Thread
 
ptrjsn profile image
Peter Johnson • Edited

Mat - Do you have to use a bundler, or just go through some sort of server? I understood the latter, but not tried it w/o a bundler so I can't say for sure. Once it gets out of the bundler, it probably won't be a module anyway.

Also, where did you get your user pic here? I've been looking to create one of my own & I like that style.

Thread Thread
 
matjones profile image
Mat Jones

In an environment that supports ES6 natively (so, Node.js Server, Chrome, or Firefox) you donโ€™t need a bundler, you can use ES6 modules natively.

Also, here

Collapse
 
ptrjsn profile image
Peter Johnson

The TypeScript site has a really good, simple Migrating from JavaScript guide that will get you started with TypeScript. There are lots of JavaScript "improvement" languages out there, but TypeScript seems to have caught on like no other; it's the 4th most popular languge in GitHub as of last year.

Thread Thread
 
himanshutiwari15 profile image
Himanshu Tiwari ๐ŸŒผ

wow, so much information dude
Thanks

Collapse
 
yamini8750 profile image
Yamini-8750

okay that's something really helpful cheers๐Ÿ’ฅ๐Ÿ’ฅ

Collapse
 
himanshutiwari15 profile image
Himanshu Tiwari ๐ŸŒผ

Thanks, happy it helped

Collapse
 
gouravsingh2580 profile image
Gourav Singh

There's a much better & simpler way to do it without using namespacing. Use const while declaring further iteration instead of var or let.

Collapse
 
himanshutiwari15 profile image
Himanshu Tiwari ๐ŸŒผ • Edited

Thanks you took time to comment and have read
But I think that declaring const every time will result in many number of variables and that becomes harder for me to handle.
BTW good to know your thoughts