Ingernirated
@Ingernirated
Романыч

Как понять эти JS нюансы?

1)Чему равно значение выражения 4 - "5" + 0xf - "1e1"?
Почему оно цифровое?

2)!!( a && b ) Что означают два !! ?

3)var obj = {
"0": 1,
0: 2
};
alert( obj["0"] + obj[0] );
/////////////////////////////////
var obj = {'1': 0, 1: 1, 0: 2};
alert(obj['1']);
Почему они одинаковые, но ко 2-му комментарий, что должно выдать ошибку?
  • Вопрос задан
  • 3576 просмотров
Пригласить эксперта
Ответы на вопрос 2
@sugadu
1) 4-5+15-10 = 4
2) !! - двойное отрицание, еще используют для пребразование в булев тип
3) используйте const https://habrahabr.ru/post/312088/
Ответ написан
Комментировать
crazy_leo
@crazy_leo
Frontend Developer
1)
0xf эквивалентно 15;
1e1 = 1 и 0, 1е2 = 1 и 2 нуля, 1е3 = 1 и 3 нуля etc

2)
0 == false // true
0 === false // false
!!0 === false // true

3) числовой ключ object key преобразуется в строковый, но так как в объектах ключи уникальные, остается лишь последний из одинаковых
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы