Câu hỏi phỏng vấn Javascript
Câu hỏi

Kết quả đoạn result của đoạn code sau là gì? Hãy giải thích tại sao?

Câu trả lời

javascript Copy
  function addToList(item, list) {
    return list.push(item);
  }

  const result = addToList("apple", ["banana"]);
  console.log(result);
  • A: ['apple', 'banana']
  • B: 2
  • C: true
  • D: undefined

Đáp án: B

Hàm .push() trả về độ dài của mảng mới! Trước đó, mảng chỉ hồm một phần tử là "banana" và có độ dài là 1. Sau khi thêm chuỗi "apple" vào mảng, mảng lúc này có hai chuỗi và có độ dài là 2. Do đó hàm addToList sẽ trả về 2.

Hàm push sẽ thay đổi chính bản thân mảng truyền vào. Do đó nếu chúng ta muốn trả về mảng thay vì chỉ trả về độ dài, chúng ta nên trả về trực tiếp mảng list sau khi đã thêm item vào đó.

junior

junior

Gợi ý câu hỏi phỏng vấn

middle

Một số ưu/nhược điểm của việc viết code JavaScript bằng ngôn ngữ biên dịch sang JavaScript là gì?

middle

Sự khác biệt giữa MapWeakMap trong Javascript là gì?

middle

Khi nào cần sử dụng asyncdefer trong javascript?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào