Salesforce JavaScript Developer Practice Exam 2025 – Your All-in-One Guide to Exam Success!

Question: 1 / 400

What will the output be when message.showMessage() is executed for the following arrow function context: let message = { hello: 'Hello', names: ['Sue', 'Joe'], showMessage: function() { this.names.forEach(name => { console.log(this.hello + ' ' + name); }); } }?

Hello Sue

undefined Sue

Hello Sue and Hello Joe

When the method `showMessage` is executed on the `message` object, the arrow function inside the `forEach` method captures the context of `this` from the enclosing scope, which is the `showMessage` method itself. This means that within the arrow function, `this` refers to the `message` object, not the global object or any other context.

The `showMessage` method iterates through each name in the `names` array using `forEach`. For each name, it constructs a string that combines the `hello` property of the `message` object with the current name being processed. Therefore, when iterating over the `names` array, the console will log:

1. For the first iteration with `name` equal to 'Sue': it constructs and logs "Hello Sue".

2. For the second iteration with `name` equal to 'Joe': it constructs and logs "Hello Joe".

As a result, the output generated by executing `message.showMessage()` will be two separate lines in the console: "Hello Sue" and "Hello Joe". Since the choice provided indicates the inclusion of both greetings, it correctly identifies the output as "Hello Sue and Hello Joe".

Get further explanation with Examzify DeepDiveBeta

Hello Joe

Next Question

Report this question

Subscribe

Get the latest from Examzify

You can unsubscribe at any time. Read our privacy policy