var leadingThirtysevenList = list.bind(undefined, 37);
Il s'agit d'un extrait de code que j'ai vu dans le manuel sur ce que fait la fonction bind() lorsqu'elle passe le deuxième paramètre, dans lequel elle passe undefined comme paramètre. J'ai également vu la pratique consistant à transmettre des paramètres non définis dans certains frameworks, mais je n'ai pas pu trouver de réponse plus complète et plus claire grâce aux recherches en ligne. J'aimerais demander aux enseignants de donner une réponse détaillée.
Le code que vous avez fourni, pourquoi undefined est transmis, n'a peut-être rien à voir avec mon explication ci-dessous.
Je parlerai principalement de certains autres frameworks ; par exemple, jquery passera undéfini en paramètre et attribuera une valeur nulle.
C'est à cause d'un bug dans js, c'est-à-dire qu'undéfini peut être réécrit ! ! , oui, vous avez bien entendu.
Pour savoir pourquoi il est dangereux de réécrire undéfini, regardez le code suivant :
Alors, selon vous, que faut-il faire si vous souhaitez passer le deuxième paramètre et utiliser la valeur par défaut pour le premier paramètre ou le laisser indifférent ?
Ce code sert uniquement à implémenter l'appel de curry de fonction
ECMAScript5.1 15.3.4.4 explique que lorsque le premier paramètre passé est nul ou indéfini, le contexte de la fonction pointera vers window (global dans le nœud)
Le premier est utilisé comme espace réservé, mais l'utilisation de null aura un meilleur effet que undefined. Généralement, j'ai l'habitude d'utiliser null pour occuper des positions.