Javascript インタビューの質問の説明 - オブジェクトのプロパティ

Barbara Streisand
リリース: 2024-10-09 22:49:27
オリジナル
848 人が閲覧しました

Javascript Interview Question Explanation- Object Properties

読者の皆様、

JavaScriptの面接コーディングの質問について解説していきます。 JavaScript コンパイラーの仕組みと、実際に出力として生成されるもの。
出力の各部分を分解し、なぜこのように表示されるのかを説明し、それを責任のあるコードの特定の行に戻します

let a = {};
let b = { key: 'b' };
let c = { key: 'c' };

a[b] = 123;
a[c] = 456;

console.log(a[b])
ログイン後にコピー

詳細に入る前に、このコード スニペットを見てください。現在の理解に基づいて出力がどのようになるかを推測してください。このアプローチは、JavaScript スキルを強化するだけでなく、その後の説明をより有意義なものにすることができます
「JavaScript が各行をどのように処理するかを考えてください。推測ができたら、読み続けてそれが正しいかどうかを確認してください。」

上記のコードの説明

  1. 1号線用
let a = {};
ログイン後にコピー

上記のコードは、空のオブジェクトを作成し、変数 'a' に代入します。

  1. 2号線用
let b = { key: 'b' };
ログイン後にコピー

この行は、単一のプロパティ キーと値 'b' を持つオブジェクトを作成し、それを変数 'b' に割り当てます。

  1. 3号線用
let c = { key: 'c' };
ログイン後にコピー

この行は、単一のプロパティ キーと値 'c' を持つオブジェクトを作成し、それを変数 'c​​' に割り当てます。

  1. 4号線用
a[b] = 123;
ログイン後にコピー

a[b] = 123 この行は、オブジェクト b をキーとして使用して、オブジェクト a のプロパティを設定します。 JavaScript では、オブジェクトが別のオブジェクトのキーとして使用される場合、そのオブジェクトはまず toString() メソッドを使用して文字列に変換されます。この場合、オブジェクト b の文字列表現は "[object Object]" です。したがって、オブジェクト a のプロパティ "[object Object]" は、値 123 に設定されます。

  1. 5号線用
a[c] = 456;
ログイン後にコピー

前のステップと同様に、"c" もオブジェクトであり、文字列に変換されると、""[object Object]"" になります。

したがって、行 a[c] = 456;"a[object Object]"=456 と同等であり、オブジェクトには "[object があることを意味します。オブジェクト]" プロパティとその値は 456 です。

  1. 6号線用
console.log(a[b])
ログイン後にコピー

出力は 456 です。プロパティ "a[b]" にアクセスしようとすると、JavaScript は b を文字列 ("[object Object]") に再度変換します。 object にはキー "[object Object]" を持つプロパティがあり、その値は 456 であるためです。したがって、出力が印刷されます。


結論

要約すると、このコードは、オブジェクトが別のオブジェクトのキーとして使用される場合、そのオブジェクトが最初に文字列表現 (デフォルトでは「[object Object]」) に変換されることを示しています。これは、オブジェクト b と c が同じキーとして扱われ、そのキーに割り当てられた最後の値が取得される値であることを意味します。


ミッション完了: コードの解明!

この説明でコードが明確になっただけでなく、さらに詳しく調べたいという好奇心が湧いてくれれば幸いです。 JavaScript には驚きと強力なツールがたくさんあり、学習するたびに習得に近づきます。
読んでいただきありがとうございます。この内訳を楽しんでいただければ幸いです。コメントでご意見、ご質問、今後のトピックに関するアイデアをお気軽に共有してください。

コーディングを楽しんでください!

以上がJavascript インタビューの質問の説明 - オブジェクトのプロパティの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!