Maison  >  Article  >  interface Web  >  Que fait \"options = options || {}\" en JavaScript ?

Que fait \"options = options || {}\" en JavaScript ?

DDD
DDDoriginal
2024-11-03 12:38:31549parcourir

What does

Comprendre "options = options || {}" en JavaScript

Lorsque vous rencontrez un extrait de code tel que "options = options || {} ;", cela soulève des questions sur sa fonctionnalité. Cet extrait est souvent utilisé pour définir des valeurs par défaut pour les arguments de fonction.

Le cœur de cette expression réside dans l'opérateur logique OU (||). Cet opérateur évalue ses opérandes dans l'ordre, renvoyant la première valeur véridique qu'il rencontre ou la dernière valeur si toutes sont fausses. Dans ce cas, les « options » sont évaluées en premier. Si "options" est faux (indéfini, nul, 0, "", etc.), il est évalué comme faux et l'expression devient "options || {}".

Le "{}" est un JavaScript. objet littéral, représentant un objet vide. Par conséquent, si "options" n'est initialement pas défini, cette expression attribue un objet vide à la variable "options". Si "options" existe déjà, l'évaluation s'arrête car "options" est une valeur véridique.

Ce modèle est utilisé pour initialiser les arguments de fonction avec des valeurs par défaut lorsqu'ils sont passés comme non définis. Par exemple :

function test(options) {
  options = options || {};
}

Lorsque cette fonction est appelée sans arguments, "options" se voit attribuer un objet vide. Si "options" est explicitement transmis comme non défini, il prend également la valeur par défaut.

Mise à jour ES6

ES6 a introduit les valeurs de paramètres par défaut, rendant cette expression obsolète pour la définition des valeurs par défaut. . Dans ES6, vous pouvez définir les valeurs par défaut en utilisant la syntaxe suivante :

function test(options = {}) {
  //...
}

Avec cette syntaxe, si "options" est passée comme non définie ou est explicitement définie sur non définie, elle prend la valeur par défaut d'un objet vide. . Contrairement au || modèle d'opérateur, d'autres valeurs fausses ne déclencheront pas l'utilisation de la valeur par défaut.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn