Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 20.12.2013, 12:49
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

nerv_, разумеется, для тех функций, для которых можно заюзать неймспейс, то его нужно заюзать
Object.extend, Math.uid, Number.format

Но для некоторых функций вроде isUndef можно опустить, т.к. они относятся ко всем сущностям.
__________________
kobezzza
code monkey
Ответить с цитированием
  #12 (permalink)  
Старый 20.12.2013, 15:10
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от monolithed
В большинстве случаев проверка типа объекта решается пересмотром архитектуры.
в целом соглашусь. Но, есть следующие ситуации:
- функция клонирования используется часто, внутри нее проверяются типы
- есть функции работающие "с математикой", они принимают числа. Одна может принимать все "типы" чисел, другая только целые, третья только числа с точкой
- для тестов

Сообщение от Дзен-трансгуманист
почему бы не писать так?
Справедливое замечание В es5 ввели Array.isArray(). Я решил продолжить традицию

Сообщение от kobezzza
разумеется, для тех функций, для которых можно заюзать неймспейс, то его нужно заюзать
Object.extend, Math.uid, Number.format

Но для некоторых функций вроде isUndef можно опустить, т.к. они относятся ко всем сущностям.
допустим, есть Object.clone() - она клонирует все сущности внутри объекта. Т.е. этот момент спорный. Но, скорее всего сделаю просто глобальными функциями, т.к. эти примитивы не имеют объектных оберток.
По поводу Object.extend. Я бы начал юзать Object.assign из es6 или полифил.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 20.12.2013 в 15:18.
Ответить с цитированием
  #13 (permalink)  
Старый 20.12.2013, 15:57
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от nerv_ Посмотреть сообщение
По поводу Object.extend. Я бы начал юзать Object.assign из es6 или полифил.
У него другой принцип работы, менее гибкий, чем нужен мне.
Я использую свою реализацию https://github.com/kobezzza/Collecti...e/obj.jsn#L120, без рекурсий, поэтому работает оч быстро (для меня это было критично).
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 20.12.2013 в 16:13.
Ответить с цитированием
  #14 (permalink)  
Старый 22.12.2013, 01:38
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от kobezzza
Я использую свою реализацию https://github.com/kobezzza/Collecti...e/obj.jsn#L120, без рекурсий, поэтому работает оч быстро (для меня это было критично).
твой коллекшн крут )

Я запилил функцию сравнения объектов по значению. Периодически требуется, особенно в тестах.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



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

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