aboutsummaryrefslogtreecommitdiff
path: root/files/zh-tw/web/javascript/reference/global_objects/null/index.html
blob: 2e270445a61cf6bfca4788b1a701c0a4a8c3ce02 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
---
title: 'null'
slug: Web/JavaScript/Reference/Global_Objects/null
translation_of: Web/JavaScript/Reference/Global_Objects/null
---
<div>{{jsSidebar("Objects")}}</div>

<p>The value <code>null</code> represents the intentional absence of any object value. It is one of JavaScript's {{Glossary("Primitive", "primitive values")}}.</p>

<h2 id="語法">語法</h2>

<pre class="syntaxbox"><code>null </code></pre>

<h2 id="描述">描述</h2>

<p>The value <code>null</code> is written with a literal, <code>null</code> (it's not an identifier for a property of the global object like {{jsxref("Global_Objects/undefined","undefined")}} can be). In APIs, <code>null</code> is often retrieved in place where an object can be expected but no object is relevant. When checking for null or undefined beware of the <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators">differences between equality (==) and identity (===) operators</a> (type-conversion is performed with the former).</p>

<pre class="brush: js">// foo does not exist. It is not defined and has never been initialized:
&gt; foo
"ReferenceError: foo is not defined"

// foo is known to exist now but it has no type or value:
&gt; var foo = null; foo
"null"
</pre>

<h3 id="Difference_between_null_and_undefined">Difference between <code>null</code> and <code>undefined</code></h3>

<pre class="brush: js">typeof null        // object (bug in ECMAScript, should be null)
typeof undefined   // undefined
null === undefined // false
null  == undefined // true
</pre>

<h2 id="規範">規範</h2>

{{Specifications}}

<h2 id="瀏覽器相容性">瀏覽器相容性</h2>

{{Compat}}

<h2 id="參見">參見</h2>

<ul>
 <li>{{jsxref("undefined")}}</li>
 <li>{{jsxref("NaN")}}</li>
</ul>