#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
Mastering Array Methods in JavaScript: From Loops to Pro
More Relevant Posts
-
🚀✨ 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
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
-
-
#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
-
🔍 𝗪𝗵𝗮𝘁 𝗶𝘀 𝘁𝗵𝗲 𝗖𝗮𝗹𝗹 𝗦𝘁𝗮𝗰𝗸? The Call Stack is a LIFO (Last In, First Out) data structure that JavaScript uses to track function execution. Every time a function is called, it’s pushed onto the stack, and once executed, it’s popped off. 📘 𝗘𝘅𝗮𝗺𝗽𝗹𝗲: function first() { console.log("First"); second(); } function second() { console.log("Second"); } first(); 𝗘𝘅𝗲𝗰𝘂𝘁𝗶𝗼𝗻 𝗙𝗹𝗼𝘄: 1️⃣ first() is pushed to the stack 2️⃣ console.log("First") runs 3️⃣ second() is called → pushed to stack 4️⃣ console.log("Second") runs → popped from stack 5️⃣ first() finishes → popped from stack ⚡ 𝗪𝗵𝗮𝘁 𝗶𝘀 𝘁𝗵𝗲 𝗘𝘃𝗲𝗻𝘁 𝗟𝗼𝗼𝗽? JavaScript is single-threaded, meaning it executes one task at a time. The Event Loop allows JS to handle asynchronous tasks like setTimeout, fetch, or DOM events without blocking the main thread. 𝗜𝘁 𝘄𝗼𝗿𝗸𝘀 𝗹𝗶𝗸𝗲 𝘁𝗵𝗶𝘀: 1. JS executes synchronous code in the Call Stack. 2. Asynchronous tasks are sent to Web APIs (like timers, HTTP requests). 3. Once ready, callbacks are queued in the Callback/Task Queue. 4. The Event Loop continuously checks if the Call Stack is empty — if yes, it pushes the next callback from the queue. 📘 𝗘𝘅𝗮𝗺𝗽𝗹𝗲: console.log("Start"); setTimeout(() => { console.log("Inside Timeout"); }, 0); console.log("End"); 𝗢𝘂𝘁𝗽𝘂𝘁: Start End Inside Timeout Even with 0ms, setTimeout runs after the current stack is empty — that’s the Event Loop in action! 💡 𝗪𝗵𝘆 𝗧𝗵𝗶𝘀 𝗠𝗮𝘁𝘁𝗲𝗿𝘀 ✅ Helps you write non-blocking, performant code ✅ Explains tricky behaviors like async/await, promises, and timers ✅ Essential for interview questions — every JS developer should master it 🧠 𝗧𝗼𝗽 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗤𝘂𝗲𝘀𝘁𝗶𝗼𝗻 #𝟯: Q: Explain the Event Loop in JavaScript. A: The Event Loop is a mechanism that allows JS to handle asynchronous operations. It monitors the Call Stack and Callback Queue, ensuring that async callbacks are executed only when the stack is empty. 🎯 𝗞𝗲𝘆 𝗧𝗮𝗸𝗲𝗮𝘄𝗮𝘆𝘀: 1. JS is single-threaded, but async tasks are handled via the Event Loop. 2. The Call Stack manages execution context in LIFO order. 3. Understanding this prevents bugs related to timers, async code, and promise chaining. Comment if you’ve ever been confused why setTimeout(..., 0) doesn’t run immediately! #JavaScript #EventLoop #CallStack #AsyncJS #WebDevelopment #NodeJS #InterviewPreparation #TechTips #JavaScriptInterviewQuestions #FrontendDevelopment #CodingTips #AsyncProgramming
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
-
🧠 Understanding JavaScript toString(): Converting Data to Text In JavaScript, everything revolves around data — and sometimes, you need to turn that data into text. That’s where the toString() method comes in! The toString() method converts numbers, booleans, arrays, and objects into string format, making them easy to display or manipulate. --- 🔹 Basic Syntax variable.toString() This simply returns the string version of the variable. --- 🧩 Example 1: Numbers let num = 100; console.log(num.toString()); // "100" Now, the number 100 becomes the string "100". --- 🧩 Example 2: Booleans let isActive = true; console.log(isActive.toString()); // "true" --- 🧩 Example 3: Arrays let fruits = ["apple", "banana", "mango"]; console.log(fruits.toString()); // "apple,banana,mango" Arrays are converted into comma-separated strings. --- 🧩 Example 4: Dates let today = new Date(); console.log(today.toString()); // "Wed Oct 08 2025 10:30:00 GMT+0000 (Coordinated Universal Time)" --- 💡 Why Use toString()? ✅ Display data on web pages ✅ Convert values before concatenation ✅ Debug or log readable outputs --- 🚀 Quick Tip You can also use String() (a global function) to achieve the same result: let value = 42; console.log(String(value)); // "42" --- In short: The toString() method is your go-to tool whenever you need to see what your data looks like in text form. It’s small but mighty — and essential for any JavaScript developer! 💪 #JavaScript #FrontendDevelopment #WebDevelopment #CodingTips #LearnJavaScript
To view or add a comment, sign in
-
-
JavaScript: call, apply, and bind — Same goal, different vibes Ever wondered why JS gave us three ways to control this? They all set the function’s this… but how you pass arguments (and when it runs) is the twist. TL;DR call(thisArg, a, b) → calls now, args listed. apply(thisArg, [a, b]) → calls now, args in an array. bind(thisArg, a, b) → returns a new function to call later (optionally prefilled args). --- Quick examples 1) Method borrowing const user = { name: "Prince" }; function greet(g1, g2) { return `${g1} ${this.name} ${g2}`; } greet.call(user, "Hello", "👋"); // Hello Prince 👋 greet.apply(user, ["Hola", "🙌"]); // Hola Prince 🙌 const sayHi = greet.bind(user, "Hi"); // function ready to call later sayHi("🤝"); // Hi Prince 🤝 2) Array-like to array (classic apply) function maxOf() { return Math.max.apply(null, arguments); } maxOf(3, 10, 7); // 10 // Modern: Math.max(...args) 3) Partial application with bind const multiply = (a, b) => a * b; const double = multiply.bind(null, 2); // prefill a=2 double(21); // 42 4) Fixing this in callbacks const counter = { n: 0, inc() { this.n++; }, }; setTimeout(counter.inc, 0); console.log(counter.n); // 0 (lost `this`!) setTimeout(counter.inc.bind(counter), 0); --- When to use what? Use call for one-off calls with known args. Use apply when you already have an array of args. Use bind when you need a stable callback or partial args for later. --- Gotchas bind does not execute; it returns a new function. Arrow functions ignore call/apply/bind for this (they capture this lexically). Bound functions can still receive extra args when called later. --- Real-world uses Event handlers: this stability → handler.bind(this). Currying/partials: pre-configured loggers, validators, formatters. Interop: borrow methods like Array.prototype.slice.call(arguments) (or use spread). --- If this cleared things up, save it for the next interview prep. Got a tricky this bug? Drop it below 👇 #JavaScript #WebDevelopment #Frontend #JS #CodingTips #Interviews
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
-
Master Javascript : The JavaScript Tree | |── Variables | ├── var | ├── let | └── const | |── Data Types | ├── String | ├── Number | ├── Boolean | ├── Object | ├── Array | ├── Null | └── Undefined | |── Operators | ├── Arithmetic | ├── Assignment | ├── Comparison | ├── Logical | ├── Unary | └── Ternary (Conditional) ||── Control Flow | ├── if statement | ├── else statement | ├── else if statement | ├── switch statement | ├── for loop | ├── while loop | └── do-while loop | |── Functions | ├── Function declaration | ├── Function expression | ├── Arrow function | └── IIFE (Immediately Invoked Function Expression) | |── Scope | ├── Global scope | ├── Local scope | ├── Block scope | └── Lexical scope ||── Arrays | ├── Array methods | | ├── push() | | ├── pop() | | ├── shift() | | ├── unshift() | | ├── splice() | | ├── slice() | | └── concat() | └── Array iteration | ├── forEach() | ├── map() | ├── filter() | └── reduce()| |── Objects | ├── Object properties | | ├── Dot notation | | └── Bracket notation | ├── Object methods | | ├── Object.keys() | | ├── Object.values() | | └── Object.entries() | └── Object destructuring ||── Promises | ├── Promise states | | ├── Pending | | ├── Fulfilled | | └── Rejected | ├── Promise methods | | ├── then() | | ├── catch() | | └── finally() | └── Promise.all() | |── Asynchronous JavaScript | ├── Callbacks | ├── Promises | └── Async/Await | |── Error Handling | ├── try...catch statement | └── throw statement | |── JSON (JavaScript Object Notation) ||── Modules | ├── import | └── export | |── DOM Manipulation | ├── Selecting elements | ├── Modifying elements | └── Creating elements | |── Events | ├── Event listeners | ├── Event propagation | └── Event delegation | |── AJAX (Asynchronous JavaScript and XML) | |── Fetch API ||── ES6+ Features | ├── Template literals | ├── Destructuring assignment | ├── Spread/rest operator | ├── Arrow functions | ├── Classes | ├── let and const | ├── Default parameters | ├── Modules | └── Promises | |── Web APIs | ├── Local Storage | ├── Session Storage | └── Web Storage API | |── Libraries and Frameworks | ├── React | ├── Angular | └── Vue.js ||── Debugging | ├── Console.log() | ├── Breakpoints | └── DevTools | |── Others | ├── Closures | ├── Callbacks | ├── Prototypes | ├── this keyword | ├── Hoisting | └── Strict mode | | END __
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