Create a small record with named fields.

object-literal An object literal groups related values under property names. Reading those properties gives each field back as a normal value.

Object Literals

name
object_literal.js
Replay: real traced execution (multi-file project)
const name = "Ada";
const score = ({ name: name, points: 7 }).points;
const label = ({ name: name, points: 7 }).name + ":" + score;

console.log("name=" + name);
console.log("score=" + score);
console.log("label=" + label);
const name = "Bo";
const score = ({ name: name, points: 7 }).points;
const label = ({ name: name, points: 7 }).name + ":" + score;

console.log("name=" + name);
console.log("score=" + score);
console.log("label=" + label);
const name = "Cy";
const score = ({ name: name, points: 7 }).points;
const label = ({ name: name, points: 7 }).name + ":" + score;

console.log("name=" + name);
console.log("score=" + score);
console.log("label=" + label);
  1. name ← Ada, score ← 7, ({ name: name, points: 7 }).points ← 7

    1const name→ Ada = "Ada"; //@name="Bo", "Cy"2const score→ 7 = ({ name: name, points: 7 }).points→ 7;3const label→ Ada:7 = ({ name: name, points: 7 }).name→ Ada + ":" + score7;45console.log("name=" + nameAda);6console.log("score=" + score7);7console.log("label=" + labelAda:7);
    outputname=Ada
    score=7
    label=Ada:7
  1. name ← Bo, score ← 7, ({ name: name, points: 7 }).points ← 7, label ← Bo:7

    1const name→ Bo = "Bo";2const score→ 7 = ({ name: name, points: 7 }).points→ 7;3const label→ Bo:7 = ({ name: name, points: 7 }).name→ Bo + ":" + score7;45console.log("name=" + nameBo);6console.log("score=" + score7);7console.log("label=" + labelBo:7);
    outputname=Bo
    score=7
    label=Bo:7
  1. name ← Cy, score ← 7, ({ name: name, points: 7 }).points ← 7, label ← Cy:7

    1const name→ Cy = "Cy";2const score→ 7 = ({ name: name, points: 7 }).points→ 7;3const label→ Cy:7 = ({ name: name, points: 7 }).name→ Cy + ":" + score7;45console.log("name=" + nameCy);6console.log("score=" + score7);7console.log("label=" + labelCy:7);
    outputname=Cy
    score=7
    label=Cy:7

Build a Small Record

  1. name starts as Ada.
  2. The object stores name and points.
  3. Reading .points gives 7.
  4. Reading .name helps build Ada:7. | Property | Value | | --- | --- | | name | Ada | | points | 7 | | label | Ada:7 |

Exercise: object_literal.js

Create an object with name and points, then print the score and a name-score label