- 1
- 2
- 3
- 4
- 5
- 6
- 7
setServerURL: function(value) {
if (value) {
return localStorage.setItem('ServerURL', value);
} else {
return delete localStorage['ServerURL'];
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−51
setServerURL: function(value) {
if (value) {
return localStorage.setItem('ServerURL', value);
} else {
return delete localStorage['ServerURL'];
}
}
Ни буквы не придумал - 1:1 как в исходничке...
bakagaijin 26.10.2016 23:15 # 0
1024-- 27.10.2016 17:58 # +1
bakagaijin 27.10.2016 22:32 # +1
Алсо, это может быть остатком рефакторинга хранилища в виде обычного объекта, используемого как хэш-таблица, на local storage.
bormand 28.10.2016 05:43 # 0
guest 28.10.2016 06:08 # +2
bakagaijin 28.10.2016 08:49 # +1
bormand 28.10.2016 18:25 # 0
Пиздец какой-то. Как интуитивно то!
roman-kashitsyn 28.10.2016 18:48 # 0
А вот delete a уже возвращает false.
1024-- 28.10.2016 19:36 # 0
1024-- 28.10.2016 19:33 # 0
Консистентненько. JS ведёт себя так, как будто во всех сущностях (кроме null) существует бесконечное количество несуществующих элементов/полей/свойств со значением undefined.
У a был элемент 100500 со значением undefined (судя по результатам чтения), мы его удалили - записали в него undefined. Это можно? Можно. true.
Если в вашей двойке завёлся Борманд, вы знаете, что делать.
На самом деле Борманда выселят из объекта-обёртки Object(2), а не из самой двойки, в которой он, согласно философии JS, будет продолжать жить.
bakagaijin 28.10.2016 20:12 # 0
bormand 28.10.2016 20:17 # −1
А вот нихуя! Удаление и запись undefined - разные операции:
bakagaijin 28.10.2016 20:24 # 0
bormand 28.10.2016 20:25 # −1
Они просто не раскушали говно.
1024-- 28.10.2016 20:30 # 0
bormand 28.10.2016 20:31 # −1
bakagaijin 28.10.2016 21:37 # +1
barop 28.10.2016 22:01 # −63
1024-- 28.10.2016 20:28 # 0
bormand 28.10.2016 20:30 # +1
А чому тогда 'a' in a возвращает false?
После удаления в свойстве не лежит ничего (но при чтении возвращается undefined, не кидать же исключение). После записи undefined в свойстве лежит undefined.
bakagaijin 28.10.2016 20:36 # +1
guestinho 28.10.2016 20:37 # 0
bormand 28.10.2016 20:37 # 0
1024-- 28.10.2016 20:39 # 0
> разное ничего
Отлично, отлично. А то я уже начал думать, кого же жс читает, если в свойстве никого нет. Ведь по смыслу утиной типизации вроде бы свойство существует, но как-то отдельно от объекта, судя по результату in.
bormand 28.10.2016 20:41 # 0
1024-- 28.10.2016 20:44 # 0
=== undefined, in, hasOwnProperty - для объектов
=== undefined, arguments.length - для тел функций
guestinho 28.10.2016 20:32 # +1
bormand 28.10.2016 20:33 # −1