Day 17 of #LearnJSwithMe
Every beginner's mistake : using the global scope like a junk drawer.
Wrap your code in functions or modules.
Globals don't just clutter, they haunt.
#jsbytes
PRO TIP -
If you’re ever confused about what this refers to - just console.log(this) inside your function.
It'll tell you the truth faster than any tutorial 😄
#LearnJSWithMe#JavaScript#JSbytes
Day 16 of #LearnJSWithMe
'this' Keyword (Confusing but easy too.. 🙂)
'this' depends on how you call the function, not where it’s written.
Arrow functions don’t have their own this, they use parent scope.
Regular functions bind dynamically.
That’s the whole secret.
#JSbytes
Day 15 of #LearnJSWithMe
Shallow vs Deep Copy
= copies reference ❌
Spread copies shallow ✅
structuredClone() copies deep ✅
const copy = structuredClone(obj);
Know what you’re copying, or bugs will copy you 😅
#JSbytes#LearnJS#TechTips
Day 13 of #LearnJSWithMe
Event Loop (Understanding async) -
JS is single-threaded, but async feels magical because of the Event Loop.
Order of execution:
1) Call stack
2) Microtasks (Promises)
3) Macrotasks (setTimeout)
Master this = master async #JSbytes#JStips#TechTips
Day 12 of #LearnJSWithMe
Closures = a function remembers its parent scope, even after the parent is gone.
function outer() {
let count = 0;
return () => count++;
}
This is how private variables & memoization work in JS.
#JSbytes#LearnJS#letsconnect#TechTips#TechPeople
Day 12 of #LearnJSWithMe
Closures = a function remembers its parent scope, even after the parent is gone.
function outer() {
let count = 0;
return () => count++;
}
This is how private variables & memoization work in JS.
#JSbytes#LearnJS#JSTips#TechTips#TechNews#TechJobs
Day 11 of #LearnJSWithMe
Hoisting = JS moves declarations to the top.
But remember: only declarations, not initializations.
console.log(x); // undefined
var x = 5;
With let & const, you get a Temporal Dead Zone instead of silent bugs.
#JSbytes#JSTips#LearnJS#TechNews
Day 10 of #LearnJSWithMe
Running async calls one-by-one? That’s slow 🫤
Use Promise.all() to run them in parallel :
await Promise.all([fetchUser(), fetchPosts(), fetchComments()]);
Faster results, cleaner async handling.
#JStips#JSbytes#LearnJS#letsconnect
Day 9 of #LearnJSWithMe
Stop breaking your app with undefined errors!
console.log(user?.profile?.email)
If any property doesn’t exist, JS returns undefined - not a crash 💥
One of the most underrated ES features!
#JSbytes#LearnJS#Javascript#JSTips#LearnJavascript
Day 7 of #LearnJSWithMe
map() transforms every element in an array - no loops needed.
const prices = [100, 200, 300];
const gst = prices.map(p => p * 1.18);
console.log(gst); // [118, 236, 354]
When you map, you think functional.
#JSTips#JSbytes#LearnJS#TechTips