Pourquoi pour prop, tracks et value on utilise les crochés [ ]

Tell us what’s happening:
Describe your issue in detail here.

Bonjour cher amis
Je suis embrouillé avec les propriétés qui sont en crochés et sans crochés .

  1. List item
    Pourquoi pour prop, et id on utilise les crochés
    exemple: records[id][prop] .

  2. List item
    Pourquoi la valeur value on utilise une fois sans les crochés et avec les crochés ?
    records[id][prop] = value;
    records[id][prop] = [value];

    Your code so far

// Setup
var recordCollection = {
2548: {
  albumTitle: 'Slippery When Wet',
  artist: 'Bon Jovi',
  tracks: ['Let It Rock', 'You Give Love a Bad Name']
2468: {
  albumTitle: '1999',
  artist: 'Prince',
  tracks: ['1999', 'Little Red Corvette']
1245: {
  artist: 'Robert Palmer',
  tracks: []
5439: {
  albumTitle: 'ABBA Gold'

// Only change code below this line
function updateRecords(records, id, prop, value) {

if(prop !== "tracks" && value !== ""){
  records[id][prop] = value;
else if(prop == "tracks" && records[id].hasOwnProperty('tracks') == false){
  records[id][prop] = [value];
else if(prop == "tracks" && value !== ""){
else if(value == ""){
  delete records[id][prop];
return records;

updateRecords(recordCollection, 5439, 'artist', 'ABBA');
  **Your browser information:**

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36

Challenge: Record Collection

Link to the challenge:

Je ne peux pas parler français donc je m’excuse pour la mauvaise communication.

I cannot speak French so I apologize for miscommunication.

Bracket notation is required for computed property names such as variables. An example:

const variableMakesNoDifference = 'hello';

const myObject = {};

//I now have an empty object and to use the variable value 
//to make a property I'll need to use bracket notation

myObject[variableMakesNoDifference] = 'random string';
console.log(myObject) //{hello: 'random string'};

//if I did not use brackets ...

myObject.variableMakesNoDifference = 'second random string';

console.log(myObject) // {hello: 'random string', variableMakesNoDifference: 'second random string'}
1 Like

Merci beaucoup pour votre explication

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.