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

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

Câu trả lời

Trong JavaScript, call(), apply(), và bind() là ba phương thức quan trọng của Function, giúp chúng ta làm việc với từ khóa this và các đối số của hàm một cách linh hoạt. Mỗi phương thức có cách sử dụng và mục đích riêng.

call()

Phương thức call() cho phép bạn gọi một hàm với một giá trị this được chỉ định và các đối số được truyền vào một cách rõ ràng. Cú pháp của call()func.call(thisArg, arg1, arg2, ...), trong đó thisArg là giá trị this muốn gán, và arg1, arg2, ... là các đối số truyền vào hàm

apply()

Phương thức apply() rất giống với call(), nhưng thay vì truyền các đối số một cách rõ ràng, apply() cho phép bạn truyền một mảng các đối số. Cú pháp của apply()func.apply(thisArg, [argsArray]), với thisArg là giá trị this muốn gán, và [argsArray] là mảng chứa các đối số

bind()

Phương thức bind() tạo ra một hàm mới, có giá trị this được ràng buộc với giá trị được cung cấp. Khác với call()apply(), bind() không tự động gọi hàm mà trả về một hàm mới với context this đã được set. Cú pháp của bind()func.bind(thisArg[, arg1[, arg2[, ...]]]), trong đó thisArg là giá trị this muốn gán, và arg1, arg2, ... là các đối số mặc định cho hàm mới

Khi nào sử dụng?

  • **call() và ...
middle

middle

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

senior

Những lợi ích của WeakMap trong Javascript là gì?

middle

Có thể reset một generator trong Javascript về state ban đầu của nó không?

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