JavaScript Autoboxing Explained

View profile for Hendri Antonius

Frontend Engineer | UX & Web Performance | React, Vue | 3+ Years of Experience

I had this random thought while coding the other day… We’re always told primitives in JavaScript are “simple”, right? No methods. No properties. But then this works: "hello".toUpperCase() At first I was like… okay, JavaScript magic I guess 😅 Turns out, it’s not magic. Behind the scenes, JavaScript kind of “borrows” an object for a moment. When you call a method, it quietly wraps it like this: (new String("hello")).toUpperCase() The method runs → returns "HELLO" → then the object just disappears. Like it was never there. This is called autoboxing. Which explains why: - You can use methods on primitives - But you can’t actually store properties on them Try this: "hello".lang = "en" Looks fine… but nothing really gets saved. Because that “object” you were talking to? It’s already gone. I’ve been using JavaScript for a while, and only recently really thought about this 😅 What about you? Did you already know this, or just know about it? #JavaScript #FrontendDevelopment #WebDevelopment #JavaScriptTips #ProgrammingConcepts #Developers #SoftwareEngineering #Coding

To view or add a comment, sign in

Explore content categories