Facebook Pixel

How do you approach this questions in a JavaScript interview?

Identify the call type (plain, method, call/apply/bind, new, or arrow), apply the precedence rules, account for strict mode (plain calls give undefined), and remember that arrows use lexical this regardless of call type.

Verify This Answer

Cross-check this information using these trusted sources:

More FAQs in Common this Keyword Interview Questions in JavaScript

In non-strict mode, this is the global object (window). In strict mode, this is undefined. This is default binding, the lowest precedence rule.

this is lost. Calling const fn = obj.method; fn() is a plain call, so this is the global object or undefined, not obj. Fix with .bind(obj) or an arrow wrapper.

An arrow inside a constructor inherits this from the constructor's scope, where this is the new instance. This is why arrows fix the setTimeout-in-constructor bug.

Still have questions?

Browse all our FAQs or reach out to our support team

Want to upskill yourself?

Our courses are taking a Coffee break, but your curiosity shouldn't. Stay engaged with namastedev linkedin, youtube, discord and other resources while you wait.

0
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.