---
# System prepended metadata

title: Untitled

---



## 1. ES6+ Features
### a. Arrow Functions
```javascript
const add = (a, b) => a + b;
console.log(add(2, 3)); // 5
```
### b. Destructuring
```javascript
const person = { name: 'Nam', age: 25 };
const { name, age } = person;
console.log(name); // Nam
```

### c. Spread Operator
```javascript
const arr1 = [1, 2, 3];
const arr2 = [...arr1, 4, 5];
console.log(arr2); // [1, 2, 3, 4, 5]
```

### d. Rest Operator
```javascript
const sum = (...numbers) => numbers.reduce((acc, curr) => acc + curr, 0);
console.log(sum(1, 2, 3, 4)); // 10
```

## 2. Hàm built-in
```javascript
# Nhân đôi các số
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);

console.log(doubled); // [2, 4, 6, 8]
```

```javascript
const names = ['An', 'Bình', 'Chi'];
const greetings = names.map(name => `Hello, ${name}`);

console.log(greetings); 
// ["Hello, An", "Hello, Bình", "Hello, Chi"]

```

```javascript
# Lấy tên từ danh sách đối tượng
const users = [
  { id: 1, name: 'Nam' },
  { id: 2, name: 'Lan' }
];

const names = users.map(user => user.name);
console.log(names); // ['Nam', 'Lan']

```

```javascript
# Lọc người có tuổi >= 18
const people = [
  { name: 'An', age: 17 },
  { name: 'Bình', age: 20 },
  { name: 'Chi', age: 16 },
];

const adults = people.filter(person => person.age >= 18);
console.log(adults);
```

### Truthy and Falsy

Falsy : Giá trị phổ biến: false, 0, "", null, undefined , NaN


```javascript
// 1. false
if (!false) {
  console.log("1. false là falsy");
}

// 2. 0
if (!0) {
  console.log("2. 0 là falsy");
}


// 5. "" (Chuỗi rỗng)
if (!"") {
  console.log("5. Chuỗi rỗng là falsy");
}

// 6. null
if (!null) {
  console.log("6. null là falsy");
}

// 7. undefined
if (!undefined) {
  console.log("7. undefined là falsy");
}

// (8.) NaN – thường cũng được liệt kê, nhưng nếu bạn tính đủ 7 thì NaN là cái thay thế -0 hoặc 0n
if (!NaN) {
  console.log("8. NaN là falsy");
}

```


### Toán tử logic

```javascript
 && (AND) – Trả về giá trị thứ hai nếu vế trái là truthy

const isLoggedIn = true;
const message = isLoggedIn && "Chào mừng bạn!";
console.log(message); // "Chào mừng bạn!"

const isOnline = false;
console.log(isOnline && "Bạn đang online"); // false
```


```javascript

 || (OR) – Trả về giá trị đầu tiên truthy
const username = "";
const nameToShow = username || "Khách";
console.log(nameToShow); //  "Khách"

const age = 0;
const ageToShow = age || 18;
console.log(ageToShow); // 18 (vì 0 là falsy)


```


```javascript
# Toán tử Ba ngôi ? : – Thay thế cho if...else
điều_kiện ? giá_trị_nếu_đúng : giá_trị_nếu_sai;

const isDarkMode = true;
const theme = isDarkMode ? "Giao diện tối" : "Giao diện sáng";
console.log(theme); // "Giao diện tối"

```



































































