Поиск…


Вступление

Иногда бывает, что два языка имеют разные значения в одном и том же или подобном синтаксическом выражении. Когда оба языка представляют интерес для программиста, уточнение этих точек бифуркации помогает лучше понять оба языка в их основах и тонкостях.

`in` со списками

2 in [2, 3]

В Python это оценивается как True, но в JavaScript - false. Это происходит потому, что в Python в проверках, если значение содержится в списке, поэтому 2 находится в [2, 3] в качестве первого элемента. В JavaScript в используется с объектами и проверяется, содержит ли объект свойство с именем, выраженным значением. Таким образом, JavaScript рассматривает [2, 3] как объект или карту ключа-значения следующим образом:

{'0': 2, '1': 3}

и проверяет, есть ли у него свойство или ключ «2». Целое число 2 тихо преобразуется в строку «2».



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow