JavaScript は、Web アプリケーションや Web サイトを開発するために多くのプログラマーによって使用される高レベルのプログラミング言語です。これは強力で、柔軟性があり、習得が簡単ですが、いくつかの制限があり、その 1 つは、存在しない値を表現できないことです。
JavaScript には、不在を示す 2 つの値、null
と unknown
があります。似ているように見えますが、実際にはいくつかの違いがあります。
null
値は、変数または式に値またはオブジェクトがないことを示します。これは特別な値であり、変数が値やオブジェクトを指していないことを意味します。たとえば、人の名前を格納する変数を宣言するが、その人の名前が分からない場合は、変数を null
に設定します。
未定義
この値は、変数が宣言されているものの、まだ値が割り当てられていないことを示します。オブジェクトで未定義のプロパティとメソッドを使用したときにも返される可能性があります。前者は、JavaScript 変数がデフォルトで unknown
であるためであり、後者は、JavaScript がカスタム オブジェクトを許可し、任意のプロパティやメソッドを追加できるためです。
ただし、存在しない値を表すどちらの方法にもいくつかの欠点があります。まず、JS ではグローバル スコープの変数です。つまり、null
または unknown
を使用して適切な変数を再割り当てでき、エラーや不整合が発生する可能性があります。
第 2 に、これらは存在しない値を表すことはできず、変数が値やオブジェクトを指していないことを表すことしかできません。これは重要な違いです。たとえば、配列があっても要素が含まれていない場合、null
または unknown
を使用してこの状況を示すことはできません。空の配列を使用することもできますが、冗長性と不必要なメモリ使用量が発生するため、これは良い解決策ではありません。
したがって、値が存在しないことを示すために、コード内で他のトリックを使用することがよくあります。 「短絡評価」と呼ばれる手法を使用すると、演算子 &&
および ||
を使用して値が存在するかどうかを確認できます。存在する場合はこの値が返され、存在しない場合はデフォルト値が返されます。たとえば、データはあるものの、その中に「年齢」という属性が含まれているかどうかわからない場合は、&&
演算子を使用して確認できます。
const age = data.age && data.age;
このステートメントは次のようになります。 data.age
が存在するかどうかを確認し、存在する場合は age
変数に代入します。そうでない場合は、unknown
が代入されます (ただし、 は使用できません)。
null を既存の値として誤って扱う可能性があるため、ここでは ## を null# とします)。
function greet(name) { name = name || 'Stranger'; console.log(`Hello, ${name}!`); }
name は、デフォルトで
'Stranger' に設定されます。パラメータ
name が渡されない場合、または
null または
unknown の場合、
'Stranger' が使用されます。
null と
unknown は存在しない値を表すことができますが、それらを使用するといくつかの欠点と制限が生じます。したがって、これらの値を使用する場合は注意し、値が存在しないことを表現するために他の方法を使用するようにしてください。
以上がJavaScriptは存在しないことを意味しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。