Javascript.RU

Голосование: Как лучше
Опции опроса
Как лучше

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 15.05.2015, 23:15
Интересующийся
Отправить личное сообщение для Nikolay256 Посмотреть профиль Найти все сообщения от Nikolay256
 
Регистрация: 12.02.2011
Сообщений: 16

в данном случае this это объект window. Да, это понятно. Спасибо, что поправил.
Ответить с цитированием
  #12 (permalink)  
Старый 17.05.2015, 12:38
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Nikolay256
нативный js так не умеет
используй транслятор
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #13 (permalink)  
Старый 17.05.2015, 12:53
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Сообщение от Nikolay256 Посмотреть сообщение
function multiply(a, b = 1) {}
нативный js так не умеет
Просто ты сидишь с хромоподобного браузера, который этого ещё не поддерживает. Открой консоль FF и запусти там свой код - всё будет работать. Если хочешь поддержку во всех браузерах, то используй Babel.js.
Ответить с цитированием
  #14 (permalink)  
Старый 17.05.2015, 14:23
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

fuckJS, забудь про with, ибо в стрикте он всё равно не работает.
__________________
29375, 35
Ответить с цитированием
  #15 (permalink)  
Старый 19.05.2015, 10:15
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

typeof null === typeof {} === 'object' - в этом случае ты рискуешь впоследствии обратиться к null, как к объекту и при этом получить ошибку
С другой стороны
options = 1 , options ? options : {} тоже может дать неожиданный результат, если требуется объект с ограниченным набором возможных полей... обычно так бывает в универсальных методах, где объекты, например, копируются в цикле, а не по полям. Ну и остается риск перетереть поведение всего типа, если обращаешься где-нибудь к прототипу этого объекта. Я подобную ошибку случайно нашел в весьма крупном проекте, причем эта ошибка проявлялась только в IE и потому была трудно уловима. А ведь из-за нее мог грохнуться пользовательский интерфейс...

Я всегда делаю комплексную проверку typeof options === typeof {} && options ? options : {} - в этом случае всегда получишь объект.

Последний раз редактировалось demoniqus, 19.05.2015 в 10:22.
Ответить с цитированием
  #16 (permalink)  
Старый 19.05.2015, 10:19
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
нативный js так не умеет
Это и есть нативный JS. Новая версия просто.
Ответить с цитированием
  #17 (permalink)  
Старый 20.05.2015, 16:40
Интересующийся
Отправить личное сообщение для Nikolay256 Посмотреть профиль Найти все сообщения от Nikolay256
 
Регистрация: 12.02.2011
Сообщений: 16

Цитата:
Это и есть нативный JS. Новая версия просто.
когда такую конструкцию утвердят основные браузеры, я его буду считать нативным, а пока считаю баловством.

Цитата:
options = 1 , options ? options : {} тоже может дать неожиданный результат, если требуется объект с ограниченным набором возможных полей... обычно так бывает в универсальных методах, где объекты, например, копируются в цикле, а не по полям. Ну и остается риск перетереть поведение всего типа, если обращаешься где-нибудь к прототипу этого объекта. Я подобную ошибку случайно нашел в весьма крупном проекте, причем эта ошибка проявлялась только в IE и потому была трудно уловима. А ведь из-за нее мог грохнуться пользовательский интерфейс..
ты имеешь ввиду перезапишется по ссылке? давай по подробнее) интересно, что за баг был

Последний раз редактировалось Nikolay256, 20.05.2015 в 16:42.
Ответить с цитированием
  #18 (permalink)  
Старый 20.05.2015, 18:19
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
когда такую конструкцию утвердят основные браузеры, я его буду считать нативным, а пока считаю баловством.
Трансляторы для лохов?

Цитата:
ты имеешь ввиду перезапишется по ссылке?
alert(typeof null == "object");
Ответить с цитированием
  #19 (permalink)  
Старый 20.05.2015, 19:30
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Erolast
Трансляторы для лохов?
тссс... не шумите. Не упрощайте людям жизнь
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #20 (permalink)  
Старый 20.05.2015, 20:11
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Erolast,
Цитата:
Трансляторы для лохов?
Для отморозков слабых умом. Настоящие профи пишут на ES3. В одну строку.

Последний раз редактировалось Safort, 20.05.2015 в 20:18.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать что бы картинки с другого url отображались как свои zlodey Серверные языки и технологии 1 04.05.2015 21:30
Как правильно реализовать такой функционал? Julian Общие вопросы Javascript 3 16.01.2015 12:34
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как правильнее? Рикка (X)HTML/CSS 8 09.10.2007 09:30