Important concept of javaScript

Anil - Sep 24 - - Dev Community

Here are some important and frequently used JavaScript concepts that are crucial for day-to-day development:

1. Variables and Constants

  • var, let, and const are used for declaring variables.
  • var is function-scoped.
  • let and const are block-scoped, with const being used for constants (values that don’t change).
let age = 25;
const name = 'John';
Enter fullscreen mode Exit fullscreen mode

2. Data Types

  • Primitive Types: Number, String, Boolean, Undefined, Null, Symbol, BigInt.
  • Reference Types: Object, Array, Function
const person = { name: 'Alice', age: 30 };  // Object
const numbers = [1, 2, 3, 4];               // Array
Enter fullscreen mode Exit fullscreen mode

3. Functions

Function Declaration: Named functions.
Function Expression: Assign a function to a variable.
Arrow Functions: Shorter syntax, binds this lexically.

function greet() {
  console.log('Hello!');
}

const sum = (a, b) => a + b;  // Arrow Function
Enter fullscreen mode Exit fullscreen mode

4. Closures

  • Functions that remember the environment in which they were created.
function outer() {
  let count = 0;
  return function increment() {
    count++;
    return count;
  };
}

const inc = outer();
console.log(inc());  // 1
console.log(inc());  // 2
Enter fullscreen mode Exit fullscreen mode

5. Promises & Async/Await

  • Handling asynchronous operations.
  • Promises: Used for async operations like API calls.
  • Async/Await: Cleaner way to handle promises.
const fetchData = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => resolve("Data"), 1000);
  });
};

async function getData() {
  const data = await fetchData();
  console.log(data);  // "Data"
}

getData();
Enter fullscreen mode Exit fullscreen mode

6. Destructuring

  • Extract values from arrays or properties from objects.
const person = { name: 'John', age: 30 };
const { name, age } = person;

const nums = [1, 2, 3];
const [first, second] = nums;
Enter fullscreen mode Exit fullscreen mode

7. Spread and Rest Operator

  • Spread (...): Expands an array or object.
  • Rest (...): Gathers arguments into an array.
const arr1 = [1, 2];
const arr2 = [...arr1, 3, 4];  // [1, 2, 3, 4]

function sum(...numbers) {
  return numbers.reduce((acc, val) => acc + val, 0);
}

sum(1, 2, 3);  // 6
Enter fullscreen mode Exit fullscreen mode

8. Array Methods

  • forEach: Iterates over an array.
  • map: Returns a new array with modified elements.
  • filter: Returns a new array with elements that meet a condition.
  • reduce: Reduces array to a single value.
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(n => n * 2);     // [2, 4, 6, 8]
const evens = numbers.filter(n => n % 2 === 0);  // [2, 4]
const sum = numbers.reduce((acc, n) => acc + n, 0);  // 10
Enter fullscreen mode Exit fullscreen mode

9. Objects and Prototypes

  • JavaScript objects are dynamic and can have properties and methods.
  • Prototype: Allows adding methods to object types.
const person = { name: 'John', age: 30 };
Object.prototype.greet = function() {
  return `Hello, ${this.name}`;
};

console.log(person.greet());  // "Hello, John"
Enter fullscreen mode Exit fullscreen mode

10. Event Handling

  • Handling user events in the browser (e.g., clicks, inputs).
document.querySelector('button').addEventListener('click', function() {
  console.log('Button clicked!');
});
Enter fullscreen mode Exit fullscreen mode

11. DOM Manipulation

  • Access and modify HTML elements via JavaScript
const header = document.querySelector('h1');
header.textContent = 'Hello World!';
header.style.color = 'blue';
Enter fullscreen mode Exit fullscreen mode

12. Modules (ES6+)

  • JavaScript code can be split into modules for better maintainability
// module.js
export const greet = () => console.log('Hello');

// main.js
import { greet } from './module.js';
greet();  // "Hello"
Enter fullscreen mode Exit fullscreen mode

13. Error Handling

  • Try/Catch blocks for handling exceptions.
try {
  throw new Error('Something went wrong');
} catch (error) {
  console.error(error.message);
}
Enter fullscreen mode Exit fullscreen mode

14. Template Literals

  • Using backticks for multi-line strings and embedding expressions
const name = 'John';
const greeting = `Hello, ${name}`;
Enter fullscreen mode Exit fullscreen mode

15. Truthy and Falsy Values

  • Understanding which values evaluate to true or false.
if (0) {  // Falsy
  console.log('This won’t run');
}

if (1) {  // Truthy
  console.log('This will run');
}
Enter fullscreen mode Exit fullscreen mode

Mastering these concepts will allow you to tackle most challenges in day-to-day JavaScript development!

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player