Maison > interface Web > Questions et réponses frontales > Qu'est-ce qui est nul en javascript

Qu'est-ce qui est nul en javascript

藏色散人
Libérer: 2023-01-07 11:46:20
original
9255 Les gens l'ont consulté

null en javascript est une valeur spéciale fournie par JS, indiquant un objet manquant ; en javascript, vous pouvez utiliser l'opérateur d'égalité stricte pour vérifier la valeur nulle, avec une instruction de vérification telle que "missingObject === null;".

Qu'est-ce qui est nul en javascript

L'environnement d'exploitation de cet article : système Windows 7, version JavaScript 1.8.5, ordinateur DELL G3.

Qu'est-ce que null en javascript ?

Tout sur null en JavaScript

JavaScript a 2 types : les types de base (chaîne, nombre booléen, symbole) et les objets.
Les objets sont complexes des structures de données , les objets les plus simples en JS sont des objets ordinaires : un ensemble de clés et de valeurs associées :

let myObject = {
  name: '前端小智'
}
Copier après la connexion

Mais dans certains cas l'objet ne peut pas être créé. Dans ce cas, JS fournit une valeur spéciale null — indiquant que l'objet est manquant. null —表示缺少对象。

let myObject = null
Copier après la connexion

1. null的概念

值 null 特指对象的值未设置,它是 JS 基本类型 之一,在布尔运算中被认为是falsy。

例如,函数greetObject()创建对象,但是在无法创建对象时也可以返回null:

function greetObject(who) {
  if (!who) {
    return null;
  }
  return { message: `Hello, ${who}!` };
}

greetObject('Eric'); // => { message: 'Hello, Eric!' }
greetObject();       // => null
Copier après la connexion

但是,在不带参数的情况下调用函数greetObject() 时,该函数返回null。 返回null是合理的,因为who参数没有值。

2. 如何检查null

检查null值的好方法是使用严格相等运算符

const missingObject = null;
const existingObject = { message: 'Hello!' };

missingObject  === null; // => true
existingObject === null; // => false
Copier après la connexion

missingObject === null的结果为true,因为missingObject变量包含一个null 值。

如果变量包含非空值(例如对象),则表达式existObject === null 的计算结果为false

2.1 null 是虚值

nullfalse、0、''、undefined、NaN都是虚值。如果在条件语句中遇到虚值,那么 JS 将把虚值强制为false

Boolean(null); // => false

if (null) {
  console.log('null is truthy')
} else {
  console.log('null is falsy')
}
Copier après la connexion

2.2 typeof null

type null的结果是什么

typeof null; // => 'object'
Copier après la connexion

为什么是'object',typoef null为object是早期 JS 实现中的一个错误

要使用typeof运算符检测null值。 如前所述,使用严格等于运算符myVar === null

如果我们想使用typeof运算符检查变量是否是对象,还需要排除null值:

function isObject(object) {
  return typeof object === 'object' && object !== null;
}

isObject({ prop: 'Value' }); // => true
isObject(15);                // => false
isObject(null);              // => false
Copier après la connexion

3. null 的陷阱

null经常会在我们认为该变量是对象的情况下意外出现。然后,如果从null中提取属性,JS 会抛出一个错误。
所以说我么你想要从一个对象上取属性的时候,要注意判断这个对象可能是null, 要不然的话可能会出错。

【推荐学习:《javascript基础教程》】

4. null 的替代方法

当无法构造对象时,我们通常的做法是返回null,但是这种做法有缺点。在执行堆栈中出现null时,刚必须进行检查。

尝试避免返回 null 的做法:

  • 返回默认对象而不是null
  • 抛出错误而不是返回null

5. null vs undefined

undefined是未初始化变量对象属性的值
nullundefined之间的主要区别是,null表示丢失的对象,而undefinedrrreee

1. Le concept de null

La valeur null fait spécifiquement référence à la valeur du objet qui n'est pas défini. C'est l'un des types de base de. JS et est utilisé dans les opérations booléennes. Je pense que c'est faux.

Par exemple, la fonction greetObject() crée un objet, mais peut également renvoyer null lorsque l'objet ne peut pas être créé : rrreee

Cependant, lorsque la fonction greetObject() est appelée sans paramètres, la fonction renvoie null . Renvoyer <code>null est raisonnable car le paramètre who n'a aucune valeur. 🎜

2. Comment vérifier null

🎜Un bon moyen de vérifier une valeur null est d'utiliser la 🎜égalité stricte. Operator🎜 : 🎜rrreee🎜missingObject === null est true car la variable missingObject contient un null valeur. 🎜🎜Si la variable contient une valeur non nulle (comme un objet), l'expression existObject === null est évaluée à false. 🎜

2.1 null est une valeur imaginaire

🎜null et false, 0, '', undefined, NaNCe sont toutes des <code>valeurs factices. Si une valeur fausse est rencontrée dans une instruction conditionnelle, JS forcera la valeur fausse à false. 🎜rrreee

2.2 typeof null

🎜Quel est le résultat du type null🎜rrreee🎜Pourquoi 'object', typoef null cet objet est un 🎜bug🎜 dans les premières implémentations JS. 🎜🎜Pour utiliser l'opérateur <code>typeof pour détecter les valeurs nulles. Comme mentionné précédemment, utilisez l'opérateur d'égalité stricte myVar === null. 🎜🎜Si nous voulons utiliser l'opérateur typeof pour vérifier si une variable est un objet, nous devons également exclure les valeurs null : 🎜rrreee

3. Le piège de null

🎜null apparaît souvent de manière inattendue lorsque l'on pense que la variable est un objet. Ensuite, si vous extrayez la propriété de null, JS générera une erreur. 🎜Ainsi, lorsque vous souhaitez obtenir les attributs d'un objet, vous devez faire attention à juger que l'objet peut être null, sinon une erreur peut se produire. 🎜🎜【Étude recommandée : "🎜Tutoriel de base javascript🎜"]🎜

4. alternative nulle

🎜Lorsque l'objet ne peut pas être construit, notre approche habituelle consiste à renvoyer null, mais cette approche présente 🎜 Inconvénients 🎜. Une vérification doit être effectuée lorsque null apparaît dans la pile d'exécution. 🎜🎜Essayez d'éviter de renvoyer null : 🎜
  • Renvoyer l'objet par défaut au lieu de null
  • Lance une erreur au lieu de renvoyer null

5. null vs non défini

🎜non défini n'est pas 🎜 Initialiser la valeur d'une 🎜 variable 🎜 ou d'une 🎜 propriété d'objet 🎜 🎜 La principale différence entre null et undefined est que null représente un objet manquant , et undefined représente un état non initialisé. 🎜🎜🎜Conseils : Une fois l'article rédigé, la table des matières peut être générée automatiquement. Comment la générer peut se référer au document d'aide à droite🎜🎜🎜🎜🎜🎜.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal