【Node.js24.x】Object::length定数の使い方
length定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
length定数は、Node.js環境で利用できるJavaScriptの組み込みObjectコンストラクタ関数が受け取ることができる引数の数を表す定数です。このlength定数は、Objectコンストラクタ関数そのものに定義されており、個々のオブジェクトインスタンスが持つプロパティの数とは異なります。
具体的には、Objectコンストラクタはnew Object([value])のように、任意の値を引数として1つだけ受け取る仕様となっています。そのため、Object.lengthの値は常に1です。これは、Objectコンストラクタが処理できる引数の上限数を明示しています。
システムエンジニアを目指す初心者の方がよく混同しがちな点として、配列の要素数(Array.prototype.length)や文字列の文字数(String.prototype.length)を示すlengthプロパティとは目的が異なります。Object.lengthは、あるオブジェクトインスタンスが保持するキーと値のペアの数を数えるものではありません。オブジェクトのプロパティ数を取得したい場合は、Object.keys(myObject).lengthなどの方法を利用するのが適切です。
この定数は、JavaScriptの言語仕様に基づいて定義されており、その値は実行時に変更されることはありません。主に、関数の引数の数をプログラム的に参照するような、特定の高度なメタプログラミングの文脈でその存在が意味を持つことがあります。一般的なアプリケーション開発では、直接的に利用する機会は少ないかもしれませんが、JavaScriptの組み込み関数の振る舞いを理解する上で重要な情報の一つです。
構文(syntax)
console.log(Object.length);
引数(parameters)
引数なし
引数はありません
戻り値(return)
number
Object.prototype.length は、配列や文字列などのオブジェクトに含まれる要素の数を表す数値を返します。