Maison  >  Article  >  interface Web  >  javascript signifie qu'il n'existe pas

javascript signifie qu'il n'existe pas

WBOY
WBOYoriginal
2023-05-12 20:47:35472parcourir

JavaScript est un langage de programmation de haut niveau utilisé par de nombreux programmeurs pour développer des applications Web et des sites Web. Bien qu’il soit puissant, flexible et facile à apprendre, il présente certaines limites, dont l’incapacité à représenter des valeurs inexistantes.

En JavaScript, il existe deux valeurs qui indiquent la non-existence : null et undefined. Ils se ressemblent, mais présentent en réalité quelques différences. nullundefined。它们看起来很相似,但实际上有一些差别。

null 值表示变量或表达式没有值或没有对象。它是一个特殊的值,意味着该变量没有指向任何值或对象。例如,如果你要声明一个变量来存储一个人的名字,但你不知道他们的名字,你可以将变量设置为 null

undefined 值表示变量已经声明了但尚未赋值,也可以在对象上使用没有定义的属性和方法时返回。前者是因为 JavaScript 变量默认情况下是 undefined,后者则是因为 JavaScript 允许定制对象,允许你添加任何属性和方法。

然而,这两种表示不存在的值都有一些缺点。首先,它们是 JS 中的全局范围内的变量,这意味着你可以通过使用 nullundefined 对恰当的变量进行重新赋值,可能会导致潜在的错误和不一致。

其次,它们不能表示不存在的值,只能表示变量没有指向任何值或对象。这是一个重要的区别。例如,如果你有个数组,但是它没有任何元素,你不能使用 nullundefined 来表示这种情况。你可以使用一个空数组,但这不是很好的解决方案,因为它会造成冗余和不必要的内存占用。

因此,人们经常在代码中使用其他技巧来表示值的缺失。一种叫做“短路求值”的技术,可以使用操作符 &&|| 来检查值是否存在。如果存在,则返回该值,否则返回一个默认值。例如,如果你有一些数据,但是你不确定其中是否有一个名为“年龄”的属性,你可以使用 && 运算符来检查:

const age = data.age && data.age;

这条语句将检查 data.age 是否存在,如果存在则将它分配给 age 变量,否则将分配 undefined(但是这里你不能使用 null,因为这样就可能会将 null 错误地视为存在的值)。

另外一种技巧是使用“默认参数值”,这允许你指定变量的默认值,以便在变量不存在时使用。例如:

function greet(name) {
  name = name || 'Stranger';
  console.log(`Hello, ${name}!`);
}

这个函数参数 name 默认设置为 'Stranger' ,如果参数 name 没有被传入,或传入的是 nullundefined,那么 'Stranger' 将会被使用。

总之,尽管 JavaScript 的 nullundefined

La valeur null signifie que la variable ou l'expression n'a aucune valeur ou aucun objet. Il s'agit d'une valeur spéciale qui signifie que la variable ne pointe vers aucune valeur ou objet. Par exemple, si vous deviez déclarer une variable pour stocker le nom d'une personne, mais que vous ne connaissiez pas son nom, vous définiriez la variable sur null. 🎜🎜La valeur undefined indique que la variable a été déclarée mais qu'aucune valeur n'a encore été attribuée. Elle peut également être renvoyée lors de l'utilisation de propriétés et de méthodes non définies sur l'objet. La première est due au fait que les variables JavaScript sont non définies par défaut, et la seconde est due au fait que JavaScript autorise les objets personnalisés, vous permettant d'ajouter des propriétés et des méthodes. 🎜🎜Cependant, les deux méthodes de représentation de valeurs inexistantes présentent certains inconvénients. Premièrement, ce sont des variables de portée globale dans JS, ce qui signifie que vous pouvez réaffecter la variable appropriée en utilisant null ou undefined, provoquant potentiellement des erreurs et des incohérences. 🎜🎜Deuxièmement, ils ne peuvent pas représenter une valeur inexistante, ils peuvent seulement représenter que la variable ne pointe vers aucune valeur ou objet. Il s’agit d’une distinction importante. Par exemple, si vous avez un tableau mais qu'il ne contient aucun élément, vous ne pouvez pas utiliser null ou undefined pour indiquer cette situation. Vous pouvez utiliser un tableau vide, mais ce n'est pas une bonne solution car cela crée une redondance et une utilisation inutile de la mémoire. 🎜🎜Par conséquent, les gens utilisent souvent d'autres astuces dans leur code pour exprimer l'absence de valeurs. Une technique appelée "évaluation de court-circuit" permet d'utiliser les opérateurs && et || pour vérifier si une valeur existe. Si elle est présente, cette valeur est renvoyée, sinon une valeur par défaut est renvoyée. Par exemple, si vous avez des données, mais que vous n'êtes pas sûr qu'elles contiennent un attribut appelé "age", vous pouvez utiliser l'opérateur && pour vérifier : 🎜rrreee🎜Cette instruction vérifiera data.age existe, s'il existe, affectez-le à la variable age, sinon il attribuera undefined (mais vous ne pouvez pas utiliser null, car cela pourrait traiter de manière incorrecte <code>null comme une valeur existante). 🎜🎜Une autre astuce consiste à utiliser des "valeurs de paramètres par défaut", qui vous permettent de spécifier une valeur par défaut pour une variable à utiliser si la variable n'existe pas. Par exemple : 🎜rrreee🎜Ce paramètre de fonction name est défini sur 'Stranger' par défaut si le paramètre name n'est pas transmis, ou. est passé en null ou undefined, alors 'Stranger' sera utilisé. 🎜🎜En bref, bien que null et undefined de JavaScript puissent représenter des valeurs inexistantes, leur utilisation entraînera certains inconvénients et limitations. Par conséquent, soyez prudent lorsque vous utilisez ces valeurs et essayez d’utiliser d’autres méthodes pour exprimer l’absence de valeurs. 🎜

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