Objects and Properties
Property Access
Read object fields with dot and bracket syntax.
property-access
Dot syntax reads a known property name. Bracket syntax uses a string expression to choose which property to read.
Property Access
property_access.js
Replay: real traced execution (multi-file project)
const key = "pages";
const title = ({ title: "Guide", pages: 120, stock: 4 }).title;
const selected = ({ title: "Guide", pages: 120, stock: 4 })[key];
console.log("title=" + title);
console.log("key=" + key);
console.log("selected=" + selected);
const key = "title";
const title = ({ title: "Guide", pages: 120, stock: 4 }).title;
const selected = ({ title: "Guide", pages: 120, stock: 4 })[key];
console.log("title=" + title);
console.log("key=" + key);
console.log("selected=" + selected);
const key = "stock";
const title = ({ title: "Guide", pages: 120, stock: 4 }).title;
const selected = ({ title: "Guide", pages: 120, stock: 4 })[key];
console.log("title=" + title);
console.log("key=" + key);
console.log("selected=" + selected);
key ← pages, title ← Guide, ({ title: "Guide", pages: 120, stock: 4 }).title ← Guide
1const key→ pages = "pages"; //@key="title", "stock"2const title→ Guide = ({ title: "Guide", pages: 120, stock: 4 }).title→ Guide;3const selected→ 120 = ({ title: "Guide", pages: 120, stock: 4 })[key]→ 120;45console.log("title=" + titleGuide);6console.log("key=" + keypages);7console.log("selected=" + selected120);outputtitle=Guide key=pages selected=120
key ← title, title ← Guide, ({ title: "Guide", pages: 120, stock: 4 }).title ← Guide
1const key→ title = "title";2const title→ Guide = ({ title: "Guide", pages: 120, stock: 4 }).title→ Guide;3const selected→ Guide = ({ title: "Guide", pages: 120, stock: 4 })[key]→ Guide;45console.log("title=" + titleGuide);6console.log("key=" + keytitle);7console.log("selected=" + selectedGuide);outputtitle=Guide key=title selected=Guide
key ← stock, title ← Guide, ({ title: "Guide", pages: 120, stock: 4 }).title ← Guide
1const key→ stock = "stock";2const title→ Guide = ({ title: "Guide", pages: 120, stock: 4 }).title→ Guide;3const selected→ 4 = ({ title: "Guide", pages: 120, stock: 4 })[key]→ 4;45console.log("title=" + titleGuide);6console.log("key=" + keystock);7console.log("selected=" + selected4);outputtitle=Guide key=stock selected=4
Dot or Brackets
- The object stores
title,pages, andstock. - Dot syntax reads the known
titleproperty. keyispages.- Bracket syntax reads the property named by
key. | Access | Result | | --- | --- | |.title|Guide| |[pages]|120| |[stock]|4|
Exercise: property_access.js
Read one known property with dot syntax and one selected property with bracket syntax