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

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

Câu trả lời

javascript Copy
  const user = {
    email: "my@email.com",
    updateEmail: (email) => {
      this.email = email;
    },
  };

  user.updateEmail("new@email.com"); console.log(user.email);
  • A: my@email.com
  • B: new@email.com
  • C: undefined
  • D: ReferenceError

Đáp án: A

Hàm updateEmail là một cú pháp arrow function và nó không gắn với user object. Điều này cho thấy từ khoá this không trỏ tới user object mà trỏ tới global scope. Giá trị của email trong user object không thay đổi. Khi ta in ra giá trị của user.email, nó trả về giá trị ban đầu của my@email.com.

middle

middle

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

middle

Ưu điểm của promise so với callback là gì?

senior

Thuật ngữ transpiling trong Javascript là gì?

middle

Giải thích về phương thức call(), aplly()bind() trong Javascript?

Bình luận

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

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