The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Linux Foundation представил инициативу по развитию открытых ..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Linux Foundation представил инициативу по развитию открытых ..." +/
Сообщение от roman (??), 19-Окт-16, 05:41 
> Вывод: ССЗБ, для заведомо больших чисел во всех языках пользуются либами вроде BigNumber. Опровергнуто.

Python

In [13]: 9999999999999999999==10000000000000000000
Out[13]: False

> А если бы в итоге получили число 3, то нашелся бы другой чувак, который спросил: "ээ, а какого возвращается число, а не строка?"

нашелся бы, но было можно еще и так

In [14]: 1 + "2"
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-14-b88986c5ffd8> in <module>()
----> 1 1 + "2"

TypeError: unsupported operand type(s) for +: 'int' and 'str'

> Читаем доки

Да на каждый пчих читаем доки (man javascript)

code to char
> String.fromCodePoint(123)

'{'
как обратно (забыл)

> String.

...
String.fromCharCode          String.fromCodePoint         String.prototype             String.raw

а,  конечно fromCharCode из char в code!
> String.fromCharCode('{')

'\u0000'

уупс...

> '{'.charCodeAt(0)

123

> нестрогое равенство всегда используют на свой страх и риск

то есть, лучше бы не было вообще ==

> хотя определенное удобство в этом есть

когда пишешь первый в жизни hello world - безусловно.

> Хорошо еще про http://0.30000000000000004.com не вспомнил. Идем далее:

да еще не вспомнили про this, который как не пиши может оказаться не тем, что ты думал

реально же самые влиятельные фигуры в JS мире говорят, что это досадные баги, которые не исправляются только из легаси...
Но язык конечно движется в правильном направлении. Kак правильно сегодня пройти по всем ключам в объекте?

Object.keys(obj).forEach(key => {
    var value = obj[key];
    console.log(key, value);
});

просто и выразительно - не то, что у некоторых

for key, value in obj.items():
    print(key, value)

и конечно нельзя использовать то что написано на людьми которые на это языке пишут

_.forEach(obj, (value, key) =>
       console.log(key, value) )


Object.keys почему не Object.prototype.keys, а да из-за того, что поломан (for name in obj){}
Object.assign это extend, почему от тогда не называется так?

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Linux Foundation представил инициативу по развитию открытых ..., opennews, 18-Окт-16, 10:08  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру