
Таймураз
08.07.2017
12:50:17
И обучают программировать на нем

melancholiac
08.07.2017
12:50:42
чертовы преподы по физике

Таймураз
08.07.2017
12:50:46
У пхп та же проблема
Раньше он решал задачу и тд

Google

melancholiac
08.07.2017
12:50:50
паскалем пользуются

Таймураз
08.07.2017
12:50:57
Физика? Neh
Программирование)
Обучать программировать на том, что отдебажить тяжело, как и написать

melancholiac
08.07.2017
12:52:11
проге нужно учить на си/плюсах или лиспе

Alex
08.07.2017
12:52:16

melancholiac
08.07.2017
12:52:16
ноу дискасс

Таймураз
08.07.2017
12:52:19
Именно
Ну не, еще питон хорош для обучения
Сразу хорошему можно научить
Начинать на нем новый проект- себя не уважать

melancholiac
08.07.2017
12:53:38
пхп норм

Alex
08.07.2017
12:53:39

melancholiac
08.07.2017
12:53:44
для своих задач

Google

Таймураз
08.07.2017
12:54:05
Для легаси кода- самое то

Maksim
08.07.2017
12:54:12
ща подтянется секта любителей jquery для своих задач

melancholiac
08.07.2017
12:54:26
ксти

Oleg
08.07.2017
12:54:28
Кобол наше всё

Таймураз
08.07.2017
12:54:34

melancholiac
08.07.2017
12:54:40
почему в джс так мало методов?

Сергей
08.07.2017
12:55:05

Таймураз
08.07.2017
12:55:05

Alex
08.07.2017
12:55:15

Таймураз
08.07.2017
12:55:27

melancholiac
08.07.2017
12:55:41

Alex
08.07.2017
12:55:57

Таймураз
08.07.2017
12:56:14

melancholiac
08.07.2017
12:56:45
:/
оно же ссылки сравнивает, верно?

Таймураз
08.07.2017
12:57:09
Именно
Как и в джава, например

melancholiac
08.07.2017
12:57:45
а если объекты разные?

Maksim
08.07.2017
12:57:48
если потребность сравнить не по ссылке, то очень велики шансы что ты делаешь что-то не так

melancholiac
08.07.2017
12:58:21
var a = [1,2,3]
var b = [1,2,3]

Google

Таймураз
08.07.2017
12:58:21
А, туплю

melancholiac
08.07.2017
12:58:26
както так

Олег
08.07.2017
12:59:25
Будет быстрее чем все остальные
кстати далеко не факт
был кейс фильтровать большой массив данных, а затем мапить его
с помощью рамды
написал трансдьюсер, который делал это за один проход, результат: нативный способ был быстрее в 3 раза

Дмитрий
08.07.2017
13:20:19
Хотя в принципе я не то чтобы удивлён, в рамде довольно много фич, чтобы получались пенальти по производительности

Олег
08.07.2017
13:33:39

★▁ ▂ ▃ ▅ █ ︻芫══一★
08.07.2017
14:03:22
Ребят есть ресурсы где можно почитать про подводные камни JS, чтобы самому меньшу наступать на них?
На подобие JavaScript Garden?

Alexander
08.07.2017
14:07:41
0.1 + 0.2 != 0.3
Пока хватит тебе :)

Oleg
08.07.2017
14:08:31
Это в очень многих языках так
Но новичков в программировании вообще - да, пугает

melancholiac
08.07.2017
14:09:58
a = [1,2,3];a[3]=a

Oleg
08.07.2017
14:10:54
Ну это тоже во многих языках

melancholiac
08.07.2017
14:10:56
ну и классек
var i=5;
i = ++i+++i+++i+++i;

Oleg
08.07.2017
14:12:04
ReferenceError: Prefix ++ operator applied to value that is not a reference.
Не, давайте именно вот камни JS
Префиксы тоже во многих языках есть

melancholiac
08.07.2017
14:13:12

Google

melancholiac
08.07.2017
14:13:16
ты вода
в джсе объекты это хештаблицы?

Oleg
08.07.2017
14:14:11
А вот теперь чисто JS
[] + [] // ""
[] + {} // "[object Object]"
{} + {} // "[object Object][object Object]"
{} + [] // 0

melancholiac
08.07.2017
14:14:25
как раз изза этого язык и забросил

Daniel
08.07.2017
14:14:40
А зря

Oleg
08.07.2017
14:14:51
Самое страшное что там всё логично

Daniel
08.07.2017
14:15:15
Это не подводные камни, ты сам напрашиваешься на неожиданное поведение (относительно других языков)

Admin
ERROR: S client not available

Daniel
08.07.2017
14:15:39
Разве что []+[] можно воспринять как необходимость конкатенации

Oleg
08.07.2017
14:16:04
:DDD
Ошибка правда не кладящая, но тем не менее

melancholiac
08.07.2017
14:16:55

Artyom
08.07.2017
14:16:57
3
И 4,

Oleg
08.07.2017
14:17:08

Artyom
08.07.2017
14:17:19
Для меня не ясно вот это ~~{q:1} === 0*

Daniel
08.07.2017
14:18:03
Подводные камни - что-то в стиле 0.2 + 0.1 и тому подобное

Oleg
08.07.2017
14:18:04

Google

Daniel
08.07.2017
14:18:55
Когда ты начинаешь делать странные операции над тем, что не предназначено для этого, откуда ты знаешь что ожидать, чтоб потом "удивиться" подводному камню

Artyom
08.07.2017
14:19:05

Oleg
08.07.2017
14:19:12
Тоже самое
То есть не важно что за объект

Artyom
08.07.2017
14:20:06
Что происходит при применении побитового не к объекту?
И вот ~~[1] !== 0

Oleg
08.07.2017
14:20:25
NaN
Объект становится NaN, это 0 при побитовом
В JS весело, правда? :D

★▁ ▂ ▃ ▅ █ ︻芫══一★
08.07.2017
14:22:03

Oleg
08.07.2017
14:22:27
[1] это '1', при переводе в число - это 1
1 !== 0

★▁ ▂ ▃ ▅ █ ︻芫══一★
08.07.2017
14:22:50

Oleg
08.07.2017
14:23:12
А секрет в том что toString и valueOf методы вызываются при преобразовании

Artyom
08.07.2017
14:23:13

Oleg
08.07.2017
14:23:39
Ну так нормально же, какая там 5 в двоичной системе?

★▁ ▂ ▃ ▅ █ ︻芫══一★
08.07.2017
14:23:52
на es5 это все, на es6 убрали эти недостатки?

Oleg
08.07.2017
14:24:20
Обратная совместимость сурова
Но некоторые вещи убирают по чуть-чуть
В классах насильно стоит 'use strict'