最近、インタビュアーがオブジェクトとプリミティブの違いを定義するよう依頼しました。すべての言語がプリミティブで始まると考えると、奇妙な質問のように思えます。あなたはこの質問にどう答えましたか?オブジェクト対プリミティブ
このインタビューはフロントエンドの開発ポジションであったため、彼が言及していた言語(私が想定している)はJavaScriptだったことにも注意してください。
最近、インタビュアーがオブジェクトとプリミティブの違いを定義するよう依頼しました。すべての言語がプリミティブで始まると考えると、奇妙な質問のように思えます。あなたはこの質問にどう答えましたか?オブジェクト対プリミティブ
このインタビューはフロントエンドの開発ポジションであったため、彼が言及していた言語(私が想定している)はJavaScriptだったことにも注意してください。
プリミティブは他のデータ型で構成されていないデータ型であり、それ以上分解することはできません。それはプログラミングシナリオの原子のようなものです。原子は物質の基本単位であり、それから派生するものは何もないので、私は原子を言う。
つまり、Cのint
を小さなデータ型に分解することはできません。他方、オブジェクトは、複数のプリミティブ型からなる分子と考えることができる。たとえば、はC++標準ライブラリの一部として提供されます。しかし、それはオブジェクトであり、内部的に小さなデータ型で構成され、メソッドを含んでいます。
すべてのオブジェクト指向言語がクラスベース(たとえばJavascript)ではないことに注意することが重要です.Javascriptでクラスを定義することはできないため、オブジェクトはここではかなり異なっています。 Javascriptのすべてがオブジェクト(Rubyも)ですが、Numberオブジェクトは実際には内部プリミティブのラッパーです。
のJava視点から:
あなたは、インタビュアーがJavaScriptを参照しているとおっしゃったとお伝えしました。簡単な質問がそれを明らかにしたときに彼が何を求めているのかを推測することはありません。 –
良いアドバイスは、彼が何を得ていたのかを判断する助けとなりました。 –