JavaScript is required

Cho đoạn code sau, kết quả sẽ là:
const obj = { 1: 'a', 2: 'b', 3: 'c' };
const set = new Set([1, 2, 3, 4, 5]);
obj.hasOwnProperty('1');
obj.hasOwnProperty(1);
set.has('1');
set.has(1);

A.
false true false true
B.
false true true true
C.
true true false true
D.
true true true true
Trả lời:

Đáp án đúng: C


Đoạn code kiểm tra sự khác biệt giữa cách truy cập thuộc tính của object và set trong JavaScript. `obj.hasOwnProperty('1')`: Trong JavaScript, khi một object được tạo với các key là số, chúng sẽ tự động được chuyển thành chuỗi. Do đó, `obj.hasOwnProperty('1')` sẽ trả về `true` vì object `obj` có một key là chuỗi `'1'`. `obj.hasOwnProperty(1)`: Tương tự như trên, JavaScript sẽ tự động chuyển số `1` thành chuỗi `'1'` khi truy cập thuộc tính của object. Vì vậy, `obj.hasOwnProperty(1)` cũng sẽ trả về `true`. `set.has('1')`: Set lưu trữ các giá trị theo đúng kiểu dữ liệu của chúng. Ở đây, set được khởi tạo với các giá trị số (1, 2, 3, 4, 5). Do đó, `set.has('1')` sẽ trả về `false` vì set không chứa chuỗi `'1'`. `set.has(1)`: Set chứa giá trị số `1`, vì vậy `set.has(1)` sẽ trả về `true`. Vậy kết quả cuối cùng là: `true true 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