Cho đoạn code sau. Kết quả là:
function ArrayBoolean() {
if ([] == true && [1] == true) return [true, true]
else if ([] == true && [1] == false) return [true, false]
else if ([] == false && [1] == true) return [false, true]
else return [false, false]
}ArrayBoolean();
function ArrayBoolean() {
if ([] == true && [1] == true) return [true, true]
else if ([] == true && [1] == false) return [true, false]
else if ([] == false && [1] == true) return [false, true]
else return [false, false]
}ArrayBoolean();
Trả lời:
Đáp án đúng: C
Trong JavaScript, khi so sánh một mảng rỗng `[]` với kiểu boolean `true` bằng toán tử `==`, JavaScript sẽ thực hiện ép kiểu. Mảng rỗng `[]` sẽ được ép thành số 0, và `true` sẽ được ép thành số 1. Do đó, `[] == true` tương đương với `0 == 1`, kết quả là `false`.
Tương tự, khi so sánh một mảng có một phần tử `[1]` với kiểu boolean `true`, JavaScript cũng thực hiện ép kiểu. Mảng `[1]` sẽ được ép thành số 1, và `true` cũng là 1. Do đó, `[1] == true` tương đương với `1 == 1`, kết quả là `true`.
Như vậy, điều kiện đầu tiên `([] == true && [1] == true)` sẽ là `(false && true)`, kết quả là `false`. Do đó, chương trình sẽ nhảy xuống `else if`. Tiếp theo, chương trình sẽ xét điều kiện `([] == false && [1] == true)`. `[] == false` tương đương `0 == 0` là `true`, `[1] == true` tương đương `1 == 1` là `true`. Do đó, điều kiện `(true && true)` là `true`. Chương trình sẽ trả về `[false, true]`
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

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
