JavaScript Null的概述

JavaScript Null的概述

原始值和对象是JavaScript中的两种类型。字符串、数字、布尔和符号被称为原始数据。复杂的数据结构被称为对象。纯对象只是一个键和相应值的集合。它是JavaScript中最基本的对象,但偶尔不可能创建一个对象。JavaScript有一个叫做null的值,它表示多种情况下缺少对象。

特殊值null包含在JavaScript中的原始类型null中。在JavaScript中,null值表示没有任何对象值。返回null的变量或方法指示所需对象无法在函数中构建。

使用JavaScript检查null值

JavaScript运算符和对象检查给定值是否为null。等价符号使用===来检查给定值是否为null。非等价符号使用!==来检查值是否为null。

  • 使用等价运算符检查null值
const first_var = null;

//作为输出显示为true

console.log(first_var === null);
  • 使用等号运算符检查空值
const first_var = null;
console.log(sec_obj !== null);

示例

以下示例显示了使用等式或非等式运算符判断给定对象是否为空。输出以布尔格式显示在控制台标签中。使用JavaScript运算符,您可以看到null值如何与对象一起使用。

<!DOCTYPE html>
<html>
<head>
<title> Check value is null or not null using JavaScript </title>
</head>
<body>
<h3> Check value is null or not null using JavaScript </h3>
<p> See the console tab to display output. </p>
<script>
console.log("check value is null or not null using JavaScript");
const first_var = null;
const sec_obj = {
    width: 10
};
//shows true as an output
console.log(first_var === null); 
// shows false as an output
console.log(sec_obj === null); 
const third_obj = null;
console.log(third_obj !== null); 
const fourth_var = 20;
console.log(fourth_var !== null); 
</script>
</body>
</html>

输出

下面的图片显示了空值的输出。

JavaScript Null的概述

JavaScript null的特性

下面列出的特性与JavaScript的null相关。

  1. null是假值
  2. typeof null 是一个对象

1) null是假值

假值包括空字符串(”)、未定义(undefined)、NaN以及null,除了0之外。这意味着在条件语句中,JavaScript会将null强制转为假值。

语法

下面的语法展示了”null是假值”。

Var variable_name = 0;
OR
Var variable_name = undefined;

示例

以下示例使用运算符来显示给定对象是否为null。您可以通过”if”语句看到对象的不同的null值。给定对象包含所有格式的null数据,然后”else”条件显示输出。

<!DOCTYPE html>
<html>
<head>
<title> Check value is null or not null using JavaScript </title>
</head>
<body>
<h3> Check value is null or not null using JavaScript </h3>
<p> See the console tab to display output. </p>
<script>
console.log("check value is null or not null using JavaScript");
const square_var = 20;
if (square_var) {
    console.log('The object value is not null');
} else {
    console.log('The object value is null');
}
const square_var1 = 0;
if (square_var1) {
    console.log('The object value is not null');
} else {
    console.log('The object value is null');
}
const square_var2 = NaN;
if (square_var2) {
    console.log('The object value is not null');
} else {
    console.log('The object value is null');
}
const square_var3 = undefined;
if (square_var3) {
    console.log('The object value is not null');
} else {
    console.log('The object value is null');
}
</script>
</body>
</html>

输出

下图显示了空值的输出。

JavaScript Null的概述

2) “typeof null”是一个对象

“typeof”的值显示了数据的给定格式。null是一个原始值,不是javascript对象。你可以将给定的对象或null值看作是输出。

语法

下面的语法显示了”typeof null”。

Console.log( typeof null);

示例

这个示例展示了下方的 “typeof null”。通过关键字,你可以看到给定的值是否为null。空值的输出结果显示为 “object”。

<!DOCTYPE html>
<html>
<head>
<title> Check value is null or not null using JavaScript </title>
</head>
<body>
<h3> Check value is null or not null using JavaScript </h3>
<p> See the console tab to display output. </p>
<script>
console.log("The null or not null value using JavaScript");
//display number
    console.log( typeof 10);
    //display string
    console.log( typeof 'stringdd');
    //display object to represent null
    console.log( typeof null);
</script>
</body>
</html>

输出

以下图片显示了空值输出。

JavaScript Null的概述

无效替换

当你期望得到一个项目时,null有时会意外地出现。如果你试图从null中获取一个属性,JavaScript将会报错。让我们尝试使用JavaScript函数来获取给定对象的content属性。

示例

以下示例展示了JavaScript中null值的替代值。

示例1

以下示例展示了对null值的替换。替代消息将作为输出显示。

<!DOCTYPE html>
<html>
<head>
<title> Check value is null or not null using JavaScript </title>
</head>
<body>
<h3> Check value is null or not null using JavaScript </h3>
<p> See the console tab to display output. </p>
<script>
console.log("The null or not null value using JavaScript");
let datas= '';
function nullObject(datas) {
console.log(datas?.message?? 'Welcome, Students!'); 
}
nullObject();  
</script>
</body>
</html>

输出

以下图片显示了一个替代的空值输出。

JavaScript Null的概述

示例2

以下示例显示了对空值的替换。将替代消息作为输出显示。如果函数显示为空值,则输出显示默认值。

<!DOCTYPE html>
<html>
<head>
<title> Check value is null or not null using JavaScript </title>
</head>
<body>
<h3> Check value is null or not null using JavaScript </h3>
<p> See the console tab to display output. </p>
<script>
console.log("The null or not null value using JavaScript");
function nullObject(datas) {
  if (!datas) {
    datas = 'Students';
  }
  console.log( "message: Please Attend the Sheet!"+ datas);
}
nullObject('Devid'); 
nullObject();  
</script>
</body>
</html>

结果

下面的图片展示了替代空值输出的方法。

JavaScript Null的概述

示例3

下面的示例展示了空值的陷阱。在这里,你可以使用空或未定义的值。

<!DOCTYPE html>
<html>
<head>
<title> Check value is null or not null using JavaScript </title>
</head>
<body>
<h3> Check value is null or not null using JavaScript </h3>
<p> See the console tab to display output. </p>
<script>
console.log("The null or not null value using JavaScript");
function nullObject(datas) {
  if (!datas) {
    datas = ' ';
  }
  console.log( "message: Please Attend the Sheet!"+ datas);
}
nullObject();  
</script>
</body>
</html>

输出

下图展示了与空值输出的替代方式。

JavaScript Null的概述

undefined和null的区别

未初始化的变量或对象属性的值为undefined。

  • 作为一种语法,如果一个变量在声明时没有初始值,访问该变量的值将会被评估为undefined:
let myVarData;
Console.log( myVarData); // => undefined
  • Null表示缺失的元素,但undefined表示未初始化的状态,这两个概念在本质上是不同的。
  • 通过严格的相等运算符===可以区分Null和undefined:
// output shows false
Console.log( null === undefined );
  • 尽管临时的等号运算符 == 将 null 和 undefined 视为相等:
// output shows true
Console.log( null == undefined );

JavaScript常见的空错误

  • 在JavaScript中,你经常调用一个函数来获取一个对象。之后,你可以访问该对象的属性。
  • 如果该函数提供的是null而不是一个对象,你将会得到一个TypeError错误。请参考以下语法:
let varList = document.querySelector('#id_name'). varList;
  • 在这个语法中,我们选择一个拥有id为saves的元素,并获取它的varList属性。
  • 如果页面上没有拥有id为save的元素,querySelector(‘#save’)会返回null。因此,使用null值来获取className属性会产生错误:
Uncaught TypeError: Cannot read ' varList' property of null
  • 使用额外的链接运算符(?)来避免这种情况。
object ?. property object ?. property
  • 当您访问a的属性时,可选链操作符提供undefined而不是引发错误。
let varList = document.querySelector('#id_name')?. varList;

总结

在Javascript中,原始类型null只有null的值。null值在JavaScript中表示丢失的对象。

当尝试访问可能为null的对象的属性时,请使用额外的链接运算符(?.)。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程