62

Предрассудки

Предрассудки
Вы смотрите срез комментариев. Показать все
15
Автор поста оценил этот комментарий
ну и что ты доказал? По прежнему стоп у булевого выражения не вызывается, вызывается просто лямбда функция. Типа воркэраунд такой замутил, но это ведь не решение проблемы и не открытие кому-то глаз на что-то.
раскрыть ветку (20)
7
Автор поста оценил этот комментарий
Это хороший пример over programminga.
Мол смотрите как я могу, хотя адекватный программист спросил бы себя. А нахуя?)

p.s. Да и javascript, всего лишь сценарный язык)
раскрыть ветку (6)
1
Автор поста оценил этот комментарий
твои слова напомнили еще один исторический пример овер программинга ))

http://thedailywtf.com/Articles/The_Brillant_Paula_Bean.aspx
0
Автор поста оценил этот комментарий
Да и javascript, всего лишь сценарный язык)

что из этого вытекает?
раскрыть ветку (4)
2
Автор поста оценил этот комментарий
эммм... об отсутствии строгой типизации, вследствие чего люди периодически творят там совершенную жесть? )
раскрыть ветку (2)
0
Автор поста оценил этот комментарий
зато наверное не надеешься на компилятор, стараешься не допускать ошибок
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
ну если хочешь сделать хорошо, а не сделать просто чтобы сделать. В таком случае да - стараешься не допускать ошибок.
Автор поста оценил этот комментарий
проблемы с масштабируемостью и производительностью(с)Джеймс Гослинг
1
Автор поста оценил этот комментарий
Доказал, что код в начале поста не обязательно является нерабочим. Автор это и собирался доказать, как я понял.
0
Автор поста оценил этот комментарий
но ведь смысл был не именно в вызывании метода у булевого выражения. Да, у чисто булевой функции его не получится вызвать. Смысл был доказать что код - рабочий)
раскрыть ветку (9)
5
Автор поста оценил этот комментарий
ну так с подобными костылями любой код можно рабочим сделать ) и если еще раз посмотришь на то, что писал @Prototik - "я сомневаюсь что у примитивов есть метод/функция/процедура", на что ты сказал, что попробуешь опровергнуть такие предрассудки. Т.е ты хотел изначально доказать то, что у примитивов могут быть ф-ции/методы/процедуры, а не что код такого вида с определенными дополнениями может работать )
раскрыть ветку (8)
Автор поста оценил этот комментарий
Когда он говорил это, он основывался на том, что Sad() - примитив, потому что условие срабатывает при сравнении без приведения типов. (===)

Он уже только на основании этого сделал вывод что Sad() - это примитив. И что остальной код - неверен. Но ведь это не так? Sad() - не примитив, и остальной код тогда получается верным.

Смысл был в том, что он изначально предполагал неверность кода, не пытаясь посмотреть на него со всех сторон. А мой пост - не попытка доказать что у примитивов возможны методы, а попытка сказать что не стоит делать конкретные выводы, не рассмотрев все с каждого угла зрения
раскрыть ветку (7)
0
Автор поста оценил этот комментарий
в общем, как я понял - вы с ним говорили немного о разных вещах ))
0
Автор поста оценил этот комментарий
и по поводу "Но ведь это не так? Sad() - не примитив, и остальной код тогда получается верным. " - даже в твоем коде sad() всегда возвращает примитив. а sad().stop() к нему не имеет никакого отношения, т.к тут уже лямбда дергается. Так что sad() как был примитивом, так и остался, иначе бы sad()===true никогда не было бы true
раскрыть ветку (5)
0
Автор поста оценил этот комментарий
А если бы Sad() вернул объект он бы уже не был примитивом. На самом деле тут нет строго возвращаемого типа у функции, поэтому её нельзя назвать "строго примитивом"
раскрыть ветку (4)
0
Автор поста оценил этот комментарий
нельзя назвать строго примитивом - верно, ноооо, если я не ошибаюсь, в случае, если sad() будет не примитивом, тождественное равенство sad()===true никогда не будет верным, вроде как... Т.е код подразумевает то, что sad() будет возвращать примитивный булев (а в жс другие есть?)
раскрыть ветку (3)
0
Автор поста оценил этот комментарий
вообще произойдет автоматическое приведение типов, поэтому если вернется булеан, объект, строка(не любая), число (!= 0) то сработает условие
раскрыть ветку (2)
0
Автор поста оценил этот комментарий
это же тождественное равенство, а не обычное. В таком случае проверяется значение и тип. Т.е 'true'===true будет false.
раскрыть ветку (1)
4
Автор поста оценил этот комментарий
Учите матчасть

var bool = true;
Boolean.prototype.stop = function(){
console.log('Im work!');
}
function sad () {
return bool;
}

if(sad() === true){
sad().stop();
}
0
Автор поста оценил этот комментарий
http://jsfiddle.net/paYKE/

может это откроет глаза
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
от Im work'a глаза от ужаса даже не закрываются :)
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества