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

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

Câu trả lời

javascript Copy
  let num = 10;

  const increaseNumber = () => num++;
  const increasePassedNumber = number => number++;

  const num1 = increaseNumber();
  const num2 = increasePassedNumber(num1);

  console.log(num1);
  console.log(num2);
  • A: 10, 10
  • B: 10, 11
  • C: 11, 11
  • D: 11, 12

Đáp án: A

Phép toán ++ sẽ trả về trước giá trị của toán hạng, sau đó tăng giá trị của toán hạng lên. Giá trị của num110, vì increaseNumber sẽ trả về giá trị của num, đang là 10, và sau đó mới tăng giá trị của num lên.

num2 cũng là 10, vì chúng ta đưa num1 vào increasePassedNumber. number bằng 10(tức giá trị của num1). Cũng giống như trên, phép toán ++ sẽ trả về trước giá trị của toán hạng, sau đó tăng giá trị của toán hạng lên. Giá trị của number10, do đó num2 cũng sẽ là 10.

middle

middle

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

middle

Thuộc tính NaN trong JavaScript là gì?

middle

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

middle

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

Bình luận

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

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