🚀✨ JavaScript BASICS:: Objects & Prototypes:- What, Why, and How 🚀✨ 🤔 What are They? 🤔 - Objects Think of objects as boxes 📦 that hold related info (data) and actions (functions). Example: a person with name and age stored as properties. - Prototypes Prototypes are “blueprints” 🏗️ or hidden links objects use to share methods and properties. They let objects borrow functionality instead of copying it everywhere. 💡Why Do We Need Them? 💡 - Objects They organize your code by grouping related data and functions together. Imagine grouping your contacts with their phone numbers and emails neatly in one place! - Prototypes They save memory and avoid repetition by sharing common methods across many objects. Instead of rewriting the same function in every object, just write it once on the prototype! 🔨 How to Use Them? 🔨 - Objects Create with simple syntax using {} or constructor functions: /*___________Code_Start___________*/ const person = { name: "Anna", age: 25 }; function Person(name) { this.name = name; } const bob = new Person("Bob"); /*___________Code_End___________*/ - Prototypes Add shared methods to prototypes so every object can use them: /*___________Code_Start___________*/ Person.prototype.greet = function() { console.log(`Hello, I am ${this.name}`); }; bob.greet(); // Hello, I am Bob /*___________Code_End___________*/ Or create objects linked to prototypes: /*___________Code_Start___________*/ const animal = { speak() { console.log("Animal sound"); } }; const dog = Object.create(animal); dog.speak(); // Animal sound /*___________Code_End___________*/ In short: - Objects = your data containers 📦 - Prototypes = shared blueprints 🏗️ Together they make your JavaScript code smarter, cleaner, and faster! ⚡ ⚠️ Note:- This post is for #interview preparation purposes only. Avoid using prototype manipulation techniques like Object.setPrototypeOf() in real-time production code due to performance and maintainability issues. #JavaScript #CodingBasics #Objects #Prototypes #BeginnerFriendly #ReactJS #ReactNative #LearnToCode #DevTips
Understanding JavaScript Objects and Prototypes
More Relevant Posts
-
#9: From Loop Newbie to Array Method Pro in JavaScript! 🚀 Today’s journey took me from basic loops to mastering powerful array methods. If you’ve ever wondered when to use for…of, for…in, forEach, map, filter, or reduce — this post is for YOU 👇 🔁 1. for…of – Best for Iterating Over Iterables (Array / Map) ✅ Returns full value ✅ Can use destructuring in Maps for (const [key, value] of myMap) { console.log(key, value); } ❌ Doesn’t work on plain objects (not iterable). 📍 2. for…in – Works on Objects & Arrays (Keys Only) ✅ Best for objects: for (const key in myObject) { console.log(key, myObject[key]); } ⚠ On arrays, it gives indexes, not values. ❌ Doesn’t work on Map. 📦 3. forEach() – Simple, Clean, No Return ✅ Great for looping arrays ✅ Accepts callback (value, index, array) ✅ Can pass an external function coding.forEach((item, index, arr) => console.log(item, index)); ❌ Doesn’t return anything (undefined always). 🗺️ 4. map() – Returns a New Array ✅ 🔹 Used when you want to transform data. const newArr = nums.map(num => num * 2); ✅ map() → RETURNS ❌ forEach() → DOES NOT RETURN 🧽 5. filter() – Keeps Only What Matches ✅ 🔍 Creates an array based on a condition. const filtered = nums.filter(num => num > 4); ✅ Returns only items that meet criteria. ⛓️ 6. Method Chaining = Cleaner Power Moves ⚡ const result = nums .map(num => num * 10) .map(num => num + 1) .filter(num => num > 50); 📉 7. reduce() – Converts Everything to a Single Value Used for totals, sums, or combining data. const total = prices.reduce((acc, curr) => acc + curr, 0); ✅ Perfect for shopping cart totals, analytics, etc. 🎯 Where You Stand Now: Level → Concept 🟢 Beginner → for...in, for...of 🟡 Intermediate → forEach, map, filter 🔴 Pro → reduce, chaining, destructuring in loops ✨My Takeaway: Once you understand array methods like map, filter, and reduce, you write less code, cleaner logic, and think more like a JavaScript pro. 💡 🧠 Which one confused you the most when you started learning loops in JS? Comment below — let’s grow together! 👇🔥 #JavaScript #WebDevelopment #LearningEveryday #Frontend
To view or add a comment, sign in
-
#4 Just wrapped up an intense session on the backbone of JavaScript: Arrays and Objects. These aren't just data structures; they're the building blocks for everything we do. Here’s a quick rundown of my key takeaways: JavaScript Deep Dive: Taming Arrays & Objects! 🚀 📌 Arrays: The Ordered Lists More than just [1, 2, 3], arrays are powerhouses with methods that can make or break your code. The Mutable vs. Immutable Showdown: slice(): The polite one. It takes a copy of a section without disturbing the original. splice(): The disruptive one. It removes/replaces elements in the original array. (A classic interview question! ✅) Combining Arrays: Forget push(array) which creates nested arrays! Use concat() or the more modern Spread Operator ... to cleanly merge arrays. Powerful Prototypes: Methods like Array.from() to create arrays from array-like objects (like a string) and flat() to flatten nested arrays are game-changers. 📌 Objects: The Key-Value Kings Objects store structured data, and mastering them is non-negotiable. Two Ways to Create: Object Literals: const obj = { key: 'value' } (Most common) Constructor: Object.create() (Creates a singleton) Constructor method with new Object() Accessing Properties: You can use dot notation (obj.key) or bracket notation (obj["key"]). Bracket notation is essential for keys with spaces or dynamically generated keys. Symbol as a Key: You can use a Symbol for a unique, non-enumerable property key. A hidden gem for defining special properties. Object.freeze() vs. Object.seal(): - freeze(): Makes an object immutable. No changes, additions, or deletions. - seal(): Allows modification of existing properties, but prevents adding or removing new ones. 🔥 Leveling Up: Higher-Order Functions & Destructuring Array Methods that Shine: - map(): Transform each element. (Create a new array of doubled values). - filter(): Select elements based on a condition. - reduce(): Boil down the array to a single value (like a sum). - forEach(): Execute a function for each element (but doesn't return a new array like map). Destructuring Magic: This is a syntax superpower! - Arrays: const [first, second] = myArray - Objects: const { name, email } = userObject It makes code incredibly clean and readable, especially in function parameters and React props. 💡 The Big Revelation: Understanding the difference between shallow copy and deep copy is crucial when working with these structures to avoid unintended side effects. It's amazing how much power is packed into these fundamentals. The more you learn, the more you realize how elegant and powerful JavaScript can be. What's your favorite JavaScript array or object method? Any "aha!" moments when you first understood destructuring? Share below! 👇 #JavaScript #Programming #WebDevelopment #Coding #LearnToCode #SoftwareEngineering #Arrays #Objects #Destructuring #LinkedInLearning #Tech
To view or add a comment, sign in
-
💡 JavaScript Series | Topic 6 | Part 3 — Destructuring: Elegant Data Extraction 👇 Destructuring brought a more elegant, readable, and concise way to extract values from arrays and objects. It’s one of those features that once you start using — you’ll never want to go back. This concept is now fundamental in modern JavaScript, especially in React, Node.js, and API-driven applications. 🧩 Object Destructuring Instead of accessing properties through repetitive dot notation, destructuring lets you unpack exactly what you need — in one clean statement 👇 const user = { name: 'John', age: 30, address: { street: '123 Main St', city: 'Boston' } }; // Basic destructuring const { name, age } = user; // name = 'John', age = 30 // Nested destructuring const { address: { city } } = user; // city = 'Boston' // Renaming variables const { name: userName } = user; // userName = 'John' // Default values const { country = 'USA' } = user; // country = 'USA' (default used because country doesn’t exist) // Rest operator in destructuring const { name: firstName, ...rest } = user; /* firstName = 'John' rest = { age: 30, address: { street: '123 Main St', city: 'Boston' } } */ ⚙️ Why It Matters ✅ Cleaner syntax — eliminates repetitive code ✅ Fewer typos — no long property chains ✅ Safer code — supports defaults for missing values ✅ Easier debugging — extract only what you need 🧠 Real-World Use Cases 1️⃣ API Responses const response = await fetchUserData(); const { name, email, profile: { avatarUrl } } = response; 👉 Perfect for pulling nested API data directly. 2️⃣ React Props function UserCard({ name, age, city }) { return <div>{`${name} (${age}) - ${city}`}</div>; } 👉 Cleaner than writing props.name, props.age, etc. 3️⃣ Config or Env Objects const { PORT, NODE_ENV = 'development' } = process.env; 👉 Great for providing safe defaults in backend code. 💬 My Take: Destructuring makes your code simpler, faster, and safer. It’s not just syntax sugar — it’s a mindset for writing clear, maintainable, and declarative JavaScript. 👉 Follow Rahul R Jain for real-world JavaScript and React interview questions, hands-on coding examples, and performance-driven frontend strategies that help you stand out. #JavaScript #FrontendDevelopment #ES6 #Destructuring #WebDevelopment #ReactJS #NodeJS #NextJS #Coding #TypeScript #ModernJavaScript #InterviewPrep #WebPerformance #DeveloperCommunity #RahulRJain #TechLeadership #CareerGrowth
To view or add a comment, sign in
-
#2: JavaScript Data Types & Quirks You Should Know! 🔥 Just wrapped up #2 of deep diving into JavaScript fundamentals! Here are the key concepts about Data Types that every developer should understand: 📊 JavaScript Data Types Breakdown Primitive Types (7): Number - Integers & floating points String - Text data "" Boolean - true or false Undefined - Declared but not assigned Null - Intentional absence of value Symbol - Unique identifiers (ES6) BigInt - Large numbers beyond Number limit (ES6) Reference Types: Object - {key: value} Array - [1, 2, 3] Function - Callable objects Date, RegExp, Error 🔄 Type Conversion Gotchas // The surprising ones: console.log(typeof null); // "object" 😮 console.log(typeof NaN); // "number" 😮 console.log(typeof undefined); // "undefined" let score = "33abc"; let converted = Number(score); // NaN console.log(typeof converted); // "number" (but value is NaN!) Conversion Rules: "33" → 33 (number) "33abc" → NaN (type: number!) null → 0 undefined → NaN true → 1, false → 0 🎯 The Null vs Undefined Mystery console.log(null == undefined); // true ⚡ console.log(null === undefined); // false ⚡ console.log(null >= 0); // true ⚡ console.log(null > 0); // false ⚡ Why? Relational operators convert null to 0, but == has special rules! 💡 Memory Management // Stack (Primitive) - Copy value let name = "Alex"; let newName = name; // Copy created newName = "John"; console.log(name); // "Alex" ✅ // Heap (Reference) - Share reference let user1 = {email: "alex@test.com"}; let user2 = user1; // Reference shared user2.email = "john@test.com"; console.log(user1.email); // "john@test.com" ⚡ 🚀 Key Takeaways: Always use === for predictable comparisons Understand type coercion - it can cause subtle bugs Primitive types are immutable, Reference types are mutable Memory matters - stack vs heap behavior affects your code Pro Tip: Use console.table() for clean object/array inspection! What's the most surprising JavaScript type coercion you've encountered? Share your stories below! 👇 #JavaScript #Programming #WebDevelopment #Coding #SoftwareEngineering #LearnToCode #Tech
To view or add a comment, sign in
-
I recently explored how JavaScript’s number type behaves under IEEE 754-and what I found surprised me. While most developers (myself included) focus on ECMAScript compliance, I learned that even standards-compliant code can produce unexpected results in mission-critical systems. Here is what I learned, with real-world examples that show why precision matters. For example, 0.1 + 0.2 === 0.3 returns false in JavaScript due to binary floating-point precision. This is not a bug-it is IEEE 754 doing its job. IEEE 754 in Action: Unsafe comparison const a = 0.1; const b = 0.2; const sum = a + b; console.log(sum); // 0.30000000000000004 console.log(sum === 0.3); // false Safe Comparison Using Tolerance function nearlyEqual(x, y, epsilon = 1e-10) { return Math.abs(x - y) < epsilon; } console.log(nearlyEqual(0.1 + 0.2, 0.3)); // true This method checks if two numbers are close enough, which is the recommended approach for comparing floats. Safer Arithmetic with Integers const priceCents = 10 + 20; // 0.1 + 0.2 -> 10 + 20 const totalCents = priceCents * 100; // 3000 console.log(totalCents / 100); // 30 Use integers for money, counts, and critical logic to avoid rounding surprises. Decimal Libraries for Precision HTML <script type="module"> import Decimal from ''https://lnkd.in/gi4T53Fe'; const x = new Decimal('0.1'); const y = new Decimal('0.2'); const z = x.plus(y); console.log(z.toString()); // "0.3" </script> /* Use Node.js with ES Modules If you're using Node.js, either: Rename your file to .mjs Or add "type": "module" to your package.json */ import Decimal from 'decimal.js'; const x = new Decimal('0.1'); const y = new Decimal('0.2'); const z = x.plus(y); console.log(z.toString()); // "0.3" // Use require() in CommonJS (Node.js) const Decimal = require('decimal.js'); const x = new Decimal('0.1'); const y = new Decimal('0.2'); const z = x.plus(y); console.log(z.toString()); // "0.3" Libraries like decimal.js or Big.js offer exact decimal arithmetic, ideal for financial and mission-critical applications. This got me curious about real-world consequences of precision loss. I came across examples like: Patriot Missile Failure (1991): 0.34 sec drift due to rounding -> 28 lives lost Ariane 5 Rocket Explosion (1996): float-to-int overflow -> $370M loss Knight Capital (2012): float error in trading logic -> $440M loss in 45 mins Medical devices: insulin pumps miscalculating dosage due to float rounding These are not edge cases-they are reminders that even basic arithmetic can be dangerous in the wrong context. I am not an IoT or finance expert, but this learning made me rethink how I handle numbers in code. For critical logic, I now prefer: Using integers (e.g., cents instead of dollars) Leveraging BigInt or libraries like decimal.js Adding runtime checks for IEEE 754 compliance Avoiding implicit float-to-int conversions Have you ever run into float precision issues in your own projects?
To view or add a comment, sign in
-
⚡ JavaScript Typed Methods — Working with the Right Data! 💻 Ever heard of typed methods in JavaScript? 🤔 They’re built-in ways to work with specific data types like numbers, strings, arrays, and more! Each data type has its own special methods to make your coding life easier. --- 💬 Let’s Break It Down 👇 🧮 Number Methods: Used for math and conversions. let num = 3.14159; console.log(num.toFixed(2)); // 3.14 console.log(Number.isInteger(num)); // false 🧠 Tip: toFixed() rounds numbers; isInteger() checks if it’s a whole number! --- ✍️ String Methods: Used for text manipulation. let name = "JavaScript"; console.log(name.toUpperCase()); // JAVASCRIPT console.log(name.includes("Script")); // true 🔥 Great for formatting and searching text! --- 📦 Array Methods: Help manage lists of data. let fruits = ["apple", "banana", "mango"]; fruits.push("orange"); console.log(fruits.join(", ")); // apple, banana, mango, orange ✅ push() adds new items; join() combines them into one string! --- 💡 Object Methods: Used to handle key-value pairs. let user = { name: "Azeez", age: 25 }; console.log(Object.keys(user)); // ["name", "age"] 🔍 Helps you explore and manage object data efficiently. --- 🚀 Why Typed Methods Matter: They make your code cleaner, faster, and smarter 💪 Instead of writing long custom functions, you use built-in tools that JavaScript already provides! --- 🔥 In short: Typed methods are like mini superpowers for each data type — once you know them, coding becomes way easier and more fun! 😎 #JavaScript #CodingTips #WebDevelopment #JSBeginners #Frontend #LearnJS #CodeSmart
To view or add a comment, sign in
-
-
Today I revised some of the most essential JavaScript concepts that appear in real-world development. 1️⃣ Higher-Order Function (HOF) ✅ Question: Create a function that runs another function twice 📝 Code: function runTwice(fn) { fn(); fn(); } runTwice(() => console.log("hello")); 🔍 Short Explanation: A HOF is a function that takes another function as input or returns a function. Helps in reusable logic. 2️⃣ Pure Function 📝 Code: function pure(a, b) { console.log(a + b); } pure(2, 3); pure(2, 3); 🔍 Short Explanation: Always gives the same output for the same input. No side effects. 3️⃣ Impure Function 📝 Code: let global = 0; function imPure(a) { global++; console.log(a + global); } imPure(2); imPure(2); 🔍 Short Explanation: Depends on external data → output changes unexpectedly. 4️⃣ Destructuring in Function Parameters 📝 Code: const obj = { name: "Pratik", age: 21 }; function destructuring({ name, age }) { console.log(name, age); } destructuring(obj); 🔍 Short Explanation: Pulls values directly from objects → cleaner code. 5️⃣ Normal Function vs Arrow Function (this difference) 📝 Code: let objTwo = { name: "Pratik", fnc: function () { console.log(this); }, arrowFnc: () => { console.log(this); } }; objTwo.fnc(); objTwo.arrowFnc(); 🔍 Short Explanation: Normal function → owns its own this Arrow function → uses parent this (lexical) 6️⃣ map(): Square each number 📝 Code: let arr = [1, 2, 3, 4, 5]; let newArr = arr.map(e => e * e); console.log(newArr); 🔍 Short Explanation: Transforms each element → returns a new array. 7️⃣ filter(): Get even numbers 📝 Code: let filtered = arr.filter(e => e % 2 === 0); console.log(filtered); 🔍 Short Explanation: Keeps only the elements that match a condition. 8️⃣ reduce(): Total salary 📝 Code: let salary = [10000, 20000, 30000]; let total = salary.reduce((acc, v) => acc + v, 0); console.log(total); 🔍 Short Explanation: Reduces an array into one final value. 9️⃣ some() & every() 📝 Code: let names = ["pratik", "sun", "om", "krish", "vijay"]; let some = names.some(e => e.length > 3); let every = names.every(e => e.length > 3); console.log(some, every); 🔍 Short Explanation: some() → at least ONE matches every() → ALL must match 🔟 Object.freeze() 📝 Code: const users = { name: "Sunny", age: 21 }; Object.freeze(users); users.age = 22; users.city = "Surat"; delete users.name; console.log(users); 🔍 Short Explanation: No add, no delete, no modify → completely locked. 1️⃣1️⃣ Object.seal() 📝 Code: const test = { subject: "Maths", score: 50 }; Object.seal(test); test.score = 60; test.grade = "A"; delete test.subject; console.log(test); 🔍 Short Explanation: You can modify, but cannot add or delete keys. 1️⃣2️⃣ Optional Chaining (?.) 📝 Code: const user = { name: "Pratik", address: { city: "Surat" } }; console.log(user?.address?.city); 🔍 Short Explanation: Avoids errors when accessing nested properties.
To view or add a comment, sign in
-
✅ Day 5 – JavaScript Fundamentals (Part 3) ⚡ Wrapping up my JavaScript Fundamentals revision today with some powerful concepts — Methods, String Methods, JSON, Local & Session Storage 💡 --- 🔹 1️⃣ Methods: Functions defined inside objects 🧩 → const user = { name: "Rutik", greet(){ console.log("Hello 👋 " + this.name); } }; user.greet(); --- 🔹 2️⃣ String Methods: Help manipulate and format text ✍️ → let text = "JavaScript"; text.length 📏 → gives 10 text.toUpperCase() 🔠 → JAVASCRIPT text.toLowerCase() 🔡 → javascript text.slice(0,4) ✂️ → Java text.replace("Java","JS") 🔁 → JSScript text.concat(" Rocks!") 💬 → JavaScript Rocks! --- 🔹 3️⃣ JSON (JavaScript Object Notation): Used to store & exchange data 📦 → let obj = {name:"Rutik",age:22}; let jsonStr = JSON.stringify(obj); ➡ Object → String let newObj = JSON.parse(jsonStr); ➡ String → Object --- 🔹 4️⃣ Local & Session Storage: For storing data in browser 🖥️ Local Storage 🧱 → Permanent until cleared localStorage.setItem("name","Rutik"); localStorage.getItem("name"); Session Storage 🔒 → Cleared after tab closes sessionStorage.setItem("city","Mumbai"); sessionStorage.getItem("city"); 💻 Mini Example: let person={name:"Rutik",skill:"JS"}; localStorage.setItem("data",JSON.stringify(person)); let getData=JSON.parse(localStorage.getItem("data")); console.log("Hello "+getData.name+" 👋 skilled in "+getData.skill+" ⚡"); --- ✨ Key Takeaway: Methods organize logic 🧩 | Strings handle text 📝 | JSON connects frontend & backend 🌐 | Storage keeps data alive 💾 #JavaScript #WebDevelopment #FullStackDeveloper #LearningInPublic #CareerGrowth #KeepGrowing
To view or add a comment, sign in
-
🧠 Chapter 2: Data Types + Type System 💻 JavaScript – Learn Everything Series #JavaScript #Coding #Cognothink Every value in JavaScript has a type. The type tells us what kind of data it is — a number, text, boolean, object, etc. There are two main types of data 👇 🔹 Primitive Types (stored directly) 1️⃣ String → Text "Hello", 'World' 2️⃣ Number → Any numeric value 5, -10, 3.14 3️⃣ Boolean → True or False true, false 4️⃣ Undefined → Declared but not assigned let x; // undefined 5️⃣ Null → Empty value on purpose let y = null; 6️⃣ Symbol → Unique identifier 7️⃣ BigInt → Very large number 12345678901234567890n 🔹 Reference Types (stored by reference) 📦 Object { name: "Harsh", age: 26 } 📦 Array [10, 20, 30] 📦 Function function greet() {} 🧩 These are stored in memory as references, not copied directly. 🔍 typeof Operator Check what type a value is: typeof "Hi" // "string" typeof 99 // "number" typeof true // "boolean" typeof undefined // "undefined" typeof null // "object" ❗ (old JS bug) typeof [] // "object" typeof {} // "object" typeof function(){}// "function" 🔁 Type Conversion (Coercion) JavaScript sometimes changes types automatically: "5" + 1 // "51" → number to string "5" - 1 // 4 → string to number true + 1 // 2 null + 1 // 1 undefined + 1 // NaN ⚠️ Be careful! It can be confusing. ⚖️ == vs === 5 == "5" // true (checks value only) 5 === "5" // false (checks value + type) ✅ Always use === for clear and correct results. 🧪 NaN – Not a Number typeof NaN // "number" Funny but true — “Not a Number” is actually a number 😄 💡 Truthy and Falsy Falsy values → false, 0, "", null, undefined, NaN Everything else is truthy — even "0", "false", [], {} if ("0") console.log("Runs"); // "0" is truthy ✨ In Short ✅ 7 Primitive Types ✅ 3 Reference Types ✅ Use typeof to check ✅ Use === for safety ✅ Watch out for coercion 💬 Which data type or bug confused you the most when you started learning JavaScript? Share in the comments 👇 #JavaScript #WebDevelopment #Coding #LearnJS #Cognothink #Frontend #Backend #FullStack #JSBasics
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development
Great explanation! I always found prototypes a bit tricky, but this really helps.