javascript-tutorial / ru.javascript.info

Современный учебник JavaScript
https://learn.javascript.ru
Other
3.8k stars 905 forks source link

Исправила неточность в статье "Объекты", связанную с порядком свойств в объекте. #1952

Open zena7 opened 5 months ago

zena7 commented 5 months ago

Описание

В учебнике написано, что «свойства с целочисленными ключами сортируются по возрастанию, остальные располагаются в порядке создания». Я добавила уточнение, что сортируются по возрастанию только положительные целочисленные свойства.

Покажу на примере чисел -1 и -9. Это целочисленные числа, и они должны при перечислении свойств объекта выводиться вначале в порядке возрастания (первым -9, потом -1, потом 0 и т.д. ), НО почему-то эти свойства выводится в порядке добавления в объект.

console.log("Ты целочисленное?", String(Math.trunc(Number("-1"))) === "-1");
//true

console.log("Ты целочисленное?", String(Math.trunc(Number("-9"))) === "-9");
//true

Пример:

const obj = {
name: "John",
age: 30,
9: "I",
0: "wish",
"-9": "you",
"-1": "all",
1.2: "the best",
};

for (let i in obj) {
console.log(`${i}: ${obj[i]}`);
}

/*0: wish
9: I
name: John
age: 30
-9: you
-1: all
1.2: the best*/

Но исходя из материала учебника порядок должен был быть следующим:

/*-9: you
-1: all
0: wish
9: I
name: John
age: 30
1.2: the best*/

Ссылки

Связанные Issue

CLAassistant commented 5 months ago

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.