JavaScriptのnullとは何ですか

藏色散人
リリース: 2023-01-07 11:46:20
オリジナル
9286 人が閲覧しました

JavaScript の null は、JS によって提供される特別な値で、オブジェクトがないことを示します。JavaScript では、厳密等価演算子を使用して null 値をチェックでき、そのチェック ステートメントは「missingObject =」などです。 == null;"。

JavaScriptのnullとは何ですか

この記事の動作環境: Windows 7 システム、JavaScript バージョン 1.8.5、DELL G3 コンピューター。

JavaScript の null とは何ですか?

JavaScript の null に関するすべて

JavaScript には、基本型 (文字列、ブール値、記号) とオブジェクトの 2 つの型があります。
オブジェクトは 複雑です データ構造 . JS の最も単純なオブジェクトは通常のオブジェクトです: 一連のキー および 関連する値 :

let myObject = {
  name: '前端小智'
}
ログイン後にコピー

ただし、場合によっては オブジェクト を作成できません。この場合、JS はオブジェクトが欠落していることを示す特別な値 null を提供します。

let myObject = null
ログイン後にコピー

1. null の概念

値 null は、値が設定されていない object を特に指します。 JS はブール演算で使用されますが、それは間違っていると考えてください。

たとえば、関数greetObject()はオブジェクトを作成しますが、オブジェクトを作成できない場合はnullを返すこともあります:

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

greetObject('Eric'); // => { message: 'Hello, Eric!' }
greetObject();       // => null
ログイン後にコピー

ただし、関数greetObject()は何も指定せずに呼び出されます。パラメータを指定すると、関数は null を返します。 who パラメータには値がないため、null を返すのが妥当です。

2. null を確認する方法

null 値を確認する良い方法は、厳密等価演算子を使用することです:

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

missingObject  === null; // => true
existingObject === null; // => false
ログイン後にコピー

#missingObject 変数に null 値が含まれているため、##missingObject === null の結果は true になります。

変数に null 以外の値 (オブジェクトなど) が含まれる場合、式

existObject === nullfalse と評価されます。

2.1 null は仮想値です

nullfalse、0、''、未定義、NaN はすべて 仮想値# ##。条件文で false 値が見つかった場合、JS は false 値を強制的に false に設定します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">Boolean(null); // =&gt; false if (null) {   console.log('null is truthy') } else {   console.log('null is falsy') }</pre><div class="contentsignin">ログイン後にコピー</div></div>2.2 typeof null

type null

<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">typeof null; // =&gt; 'object'</pre><div class="contentsignin">ログイン後にコピー</div></div>

'object'、typeef null

の結果は何ですかis オブジェクトは、初期の JS 実装では bug でした。

typeof 演算子

を使用して null 値を検出します。前に述べたように、厳密等価演算子 myVar === null を使用します。

typeof

演算子を使用して変数がオブジェクトかどうかを確認する場合は、null 値も除外する必要があります: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">function isObject(object) {   return typeof object === 'object' &amp;&amp; object !== null; } isObject({ prop: 'Value' }); // =&gt; true isObject(15);                // =&gt; false isObject(null);              // =&gt; false</pre><div class="contentsignin">ログイン後にコピー</div></div>3. null

null

の罠は、変数をオブジェクトだと思っているときに予期せず現れることがよくあります。その後、null からプロパティを抽出すると、JS はエラーをスローします。 したがって、オブジェクトから属性を取得する場合は、オブジェクトが null
である可能性があると判断する必要があります。そうしないとエラーが発生する可能性があります。 [推奨学習: 「

Javascript Basics Tutorial」]4. null の代替方法

オブジェクトが使用できない場合通常のアプローチは

null

を返すことですが、このアプローチには 欠点があります。実行スタックに null が表示された場合は、チェックを実行する必要があります。

null を返さないようにしてください

:

    null の代わりにデフォルトのオブジェクトを返します
  • 代わりにエラーをスローします
  • null
  • 5 を返す代わりに、null と unknown

unknown

されていない 変数です。 initialized または null
unknown の主な違いは、null が欠落しているオブジェクトを表すこと、そして null が欠落しているオブジェクトを表すことです。 未定義は初期化されていない状態を表します。

ヒント: 記事を作成した後、目次を自動的に生成できます。生成方法は、右側のヘルプドキュメントを参照してください。

#

以上がJavaScriptのnullとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート