JavaScript is required

Cho đoạn code sau, kết quả là:
const url = 'quiz.duthaho.com';
const { length: ln, [ln - 1]: domain = 'quiz' } = url
.split('.')
.filter(Boolean);
console.log(domain);

A.
"quiz"
B.
"duthaho"
C.
"com"
D.
undefined
Trả lời:

Đáp án đúng: C


Đoạn code thực hiện các bước sau: 1. **`const url = 'quiz.duthaho.com';`**: Khai báo một biến `url` có giá trị là chuỗi `'quiz.duthaho.com'`. 2. **`url.split('.')`**: Chia chuỗi `url` thành một mảng các chuỗi con bằng cách sử dụng dấu chấm (`.`) làm dấu phân cách. Kết quả là `['quiz', 'duthaho', 'com']`. 3. **`.filter(Boolean)`**: Lọc mảng để loại bỏ các phần tử có giá trị `falsy` (ví dụ: `null`, `undefined`, `''`, `0`, `false`). Trong trường hợp này, không có phần tử nào bị loại bỏ, vì vậy mảng vẫn là `['quiz', 'duthaho', 'com']`. 4. **`const { length: ln, [ln - 1]: domain = 'quiz' } = ...`**: Sử dụng cú pháp destructuring để gán giá trị từ mảng đã lọc cho các biến `ln` và `domain`. * `length: ln`: Gán độ dài của mảng (là 3) cho biến `ln`. Như vậy, `ln = 3`. * `[ln - 1]: domain = 'quiz'`: Gán giá trị của phần tử tại vị trí `ln - 1` (tức là vị trí `3 - 1 = 2`) cho biến `domain`. Trong mảng `['quiz', 'duthaho', 'com']`, phần tử tại vị trí 2 là `'com'`. Do đó, `domain = 'com'`. Giá trị mặc định `domain = 'quiz'` chỉ được sử dụng nếu phần tử tại vị trí `ln - 1` là `undefined`. 5. **`console.log(domain)`**: In giá trị của biến `domain` ra console. Vì `domain` có giá trị là `'com'`, nên kết quả in ra là `'com'`. Vậy đáp án đúng là C.

Tổng hợp 500 câu hỏi trắc nghiệm Javascript có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.


50 câu hỏi 60 phút

Câu hỏi liên quan