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

Trong JavaScript hàm map có thể lặp qua các thuộc tính của một đối tượng không?

middle

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

middle

Symbol trong ES6 là gì?

Bình luận

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

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