Prepare for the Salesforce JavaScript Developer Exam. Utilize comprehensive quizzes, flashcards, and multiple choice questions with hints and explanations. Boost your exam readiness!

Practice this question and more.


What is the output of the following code snippet when logged to the console? const settings = { username: 'lydiahallie', level: 19, health: 90 }; const data = JSON.stringify(settings, ['level', 'health']); console.log(data);

  1. {"level":19, "health":90}

  2. {"username": "lydiahallie"}

  3. ["level", "health"]

  4. {"username": "lydiahallie", "level":19, "health":90}

The correct answer is: {"level":19, "health":90}

The output of the code snippet is `{"level":19, "health":90}` because the `JSON.stringify` method is used to convert a JavaScript object into a JSON string. The second parameter of `JSON.stringify`, which in this case is an array containing `['level', 'health']`, specifies a whitelist of properties that should be included in the resulting JSON string. In this instance, the `settings` object contains three properties: `username`, `level`, and `health`. However, due to the specified whitelist, only the properties `level` and `health` are included in the output. The `username` property is omitted entirely because it is not listed in the array provided as the second argument. Thus, the resulting JSON string accurately represents only the specified properties and their values, leading to the output `{"level":19, "health":90}`. Understanding the behavior of the `JSON.stringify` method, especially the effect of its optional parameters, is crucial for properly controlling which properties of an object are serialized when converting to a JSON string.