JavaScript : オブジェクトのユビキタスな性質を理解する
JavaScript の概要について議論しているときに、「ほとんどすべてがオブジェクトである」ということがよく言われます。初心者は、特に文字列、数値、関数などの非伝統的なオブジェクトを扱う場合、この概念を理解するのに苦労するかもしれません。
プリミティブ値: 完全なオブジェクトではありません
重要ですJavaScript のすべてがオブジェクトであるわけではないことを明確にするためです。文字列、数値、ブール値などのプリミティブ値は、それ自体はオブジェクトではありません。これらは不変であり、メソッドやプロパティがありません。
オブジェクト ラッパーの登場
JavaScript では、プリミティブ (文字列、数値、ブール値) のオブジェクト ラッパーが導入されています。これらのラッパーはメソッドとプロパティを備えており、プリミティブ自体がこれらの機能を持っているかのような錯覚を引き起こします。プリミティブのプロパティまたはメソッドにアクセスすると、JavaScript は自動的にラッパー オブジェクトを作成し、そのオブジェクトに対してアクションを実行します。
動作例
コード例で説明してみましょう:
文字列の例:
const s = "Hello"; const sub = s.substring(1, 3); // Output: "el"
舞台裏で、JavaScript は s の String ラッパーを作成し、その部分文字列メソッドを呼び出します。
関数の例:
function greet() { return "Hello"; } greet.name = "myGreeting"; // Property added to the function object console.log(greet.name); // Output: "myGreeting"
結論
JavaScript のすべてがオブジェクトであるわけではありませんが、プリミティブ値は、対応するラッパーを通じてオブジェクトのような動作と対話できます。 。一方、関数は、プロパティとメソッドへのアクセスと操作の完全な機能を備えたオブジェクトです。
以上がJavaScript では本当にすべてがオブジェクトなのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。