What will the following code output?

4 phương ánCó giải thích
Đề bài
const arr = [1, 2, 3];
const [x, , z] = arr;
console.log(x, z);

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "1, 3". Đây là destructuring assignment (gán phân rã) mảng: các biến bên trái được gán theo vị trí phần tử của arr, và dấu phẩy để trống ở giữa nghĩa là bỏ qua phần tử ở vị trí đó. Lần theo mã: arr là mảng 1, 2, 3; vị trí đầu gán cho x nên x bằng 1, vị trí thứ hai bị bỏ qua nên giá trị 2 không gán cho biến nào, vị trí thứ ba gán cho z nên z bằng 3; console.log(x, z) in ra 1 và 3 (trên console hai giá trị cách nhau bằng dấu cách). "1, undefined" sai vì z không bị thiếu giá trị, mảng có đủ phần tử thứ ba. "undefined, 3" sai vì x nhận phần tử đầu tiên là 1, chỗ bỏ trống nằm sau x chứ không phải trước. "1, 2" sai vì nhầm rằng z nhận phần tử kế tiếp, trong khi dấu phẩy trống đã đẩy z sang vị trí thứ ba.

Cùng phần 2

Xuất hiện trong 1 bộ đề