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

Kết quả gen.next().value 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* generator(i) {
    yield i;
    yield i * 2;
  }
  const gen = generator(10);
  console.log(gen.next().value);
  console.log(gen.next().value);
  • A: [0, 10], [10, 20]
  • B: 20, 20
  • C: 10, 20
  • D: 0, 10 and 10, 20

Đáp án: C

Một hàm bình thường không thể bị dừng giữa chừng khi được gọi. Tuy nhiên một generator thì khác, nó có thể "dừng lại" được, và sau đó nó sẽ tiếp tục từ vị trí nó dừng lại. Mỗi khi một generator gặp một từ khóa yield, nó sẽ sinh ra giá trị ngay phía sau nó. Chú ý là generator không trả về giá trị, nó sinh ra giá...

middle

middle

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

middle

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

middle

Tại sao, việc để nguyên phạm vi toàn cục của một trang web và không can thiệp vào nó lại là một ý tưởng tốt?

entry

Sự khác biệt của biến dùng var, letconst trong javascript là gì?

Bình luận

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

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