const t = [{ id: null }, { id: null }];
t[0].id = 1;
t[1].id = 2;
console.log(JSON.stringify(t));
// [{"id":1},{"id":2}]
const place = { id: null };
const t = [place, place];
t[0].id = 1;
t[1].id = 2;
console.log(JSON.stringify(t));
// [{"id":2},{"id":2}]
const place = { id: null };
const t = [Object.assign({}, place), Object.assign({}, place)];
t[0].id = 1;
t[1].id = 2;
console.log(JSON.stringify(t));
// [{"id":1},{"id":2}]
if (x === undefined) { console.log('x is undefined'); }
// Uncaught ReferenceError: zzz is not defined
Однакоlet x;
if (x === undefined) { console.log('x is undefined'); }
// x is undefined
То есть, JS различает ситуации "переменная не объявлена" и "переменная объявлена, но не инициализирована", хотя typeof x
будет в обоих случаях иметь значение 'undefined'
.