Мои задачи по Javascript
Случайная задача
Список всех задач

Задача 43

'use strict';

let obj = {
	0x1: 100,
	'0x1': 200,
	'1': 300,
	1: 400,
}

console.log(Object.keys(obj).length); // ??
Сколько свойств в объекте? Что выведет консоль?
Подсказка: 0x1 - это шестнадцатеричная запись десятичного числа 1.
1
2
3
4
5
← Задача 42Задача 44 →
Пояснение Имена свойств объекта могут быть только типа string или типа symbol.
Все "числовые" имена свойств в объектах - это на самом деле строки; все числа автоматически преобразуются в строки.
Объект obj содержит два свойства с именами '1' и '0x1'.
До ES6 строгий режим запрещал дублирование имён свойств, но начиная с ES6 эта ошибка в литерале объекта разрешена, поэтому каждая дублирующая запись перезаписывает значение предыдущей.
Свойство '1' содержит число 400, а свойство '0x1' содержит число 200.



Написать сообщение - отзыв, пожелание и т.п.