# JavaScript Cheat Sheet
## **Basic Syntax**
```javascript
// Single-line comment
/* Multi-line comment */
// Variables
let x = 10; // Block-scoped
const pi = 3.14; // Constant
var y = 20; // Function-scoped (old
syntax)
// Data types
let num = 5; // Number
let str = "Hello"; // String
let isTrue = true; // Boolean
let arr = [1, 2, 3]; // Array
let obj = { key: "value" }; // Object
let und; // Undefined
let n = null; // Null
```
---
## **Operators**
- Arithmetic: `+`, `-`, `*`, `/`, `%`, `**`
- Assignment: `=`, `+=`, `-=`, `*=`
- Comparison: `==`, `!=`, `===`, `!==`, `>`, `<`,
`>=`, `<=`
- Logical: `&&`, `||`, `!`
- Ternary: `condition ? expr1 : expr2`
---
## **Control Flow**
```javascript
// Conditional Statements
if (x > 0) {
[Link]("Positive");
} else if (x < 0) {
[Link]("Negative");
} else {
[Link]("Zero");
}
// Switch Case
switch (color) {
case "red":
[Link]("Stop");
break;
case "green":
[Link]("Go");
break;
default:
[Link]("Caution");
}
// Loops
for (let i = 0; i < 5; i++) {
[Link](i);
}
let i = 0;
while (i < 5) {
[Link](i);
i++;
}
do {
[Link](i);
i++;
} while (i < 5);
```
---
## **Functions**
```javascript
// Function Declaration
function add(a, b) {
return a + b;
}
// Function Expression
const subtract = function (a, b) {
return a - b;
};
// Arrow Function
const multiply = (a, b) => a * b;
// Default Parameters
function greet(name = "Guest") {
return `Hello, ${name}!`;
}
```
---
## **Objects**
```javascript
let person = {
firstName: "John",
lastName: "Doe",
age: 30,
greet: function () {
return `Hi, I am ${[Link]}`;
},
};
[Link]([Link]());
```
---
## **Arrays**
```javascript
let numbers = [1, 2, 3, 4, 5];
// Array Methods
[Link](6); // Add to end
[Link](); // Remove from end
[Link](); // Remove from start
[Link](0); // Add to start
[Link](num =>
[Link](num)); // Iterate
```
---
## **DOM Manipulation**
```javascript
// Selecting Elements
let element =
[Link]("id");
let elements =
[Link](".class");
// Modifying Content
[Link] = "New Text";
[Link] = "<strong>Bold
Text</strong>";
// Event Listeners
[Link]("click", () => {
alert("Element clicked!");
});
```
---
## **Promises and Async/Await**
```javascript
// Promises
let promise = new Promise((resolve,
reject) => {
let success = true;
if (success) {
resolve("Success!");
} else {
reject("Error!");
}
});
[Link](response =>
[Link](response)).catch(error =>
[Link](error));
// Async/Await
async function fetchData() {
try {
let response = await
fetch("[Link]
let data = await [Link]();
[Link](data);
} catch (error) {
[Link](error);
}
}
```
---
## **ES6 Features**
- Template Literals: `` `Hello, ${name}` ``
- Destructuring: `let { x, y } = obj;`
- Spread Operator: `let arr2 = [...arr1];`
- Classes:
```javascript
class Animal {
constructor(name) {
[Link] = name;
}
speak() {
[Link](`${[Link]} makes a
noise.`);
}
}
class Dog extends Animal {
speak() {
[Link](`${[Link]} barks.`);
}
}
```