Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   vanilla.js..... (https://javascript.ru/forum/offtopic/43718-vanilla-js.html)

kobezzza 20.12.2013 12:49

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

Но для некоторых функций вроде isUndef можно опустить, т.к. они относятся ко всем сущностям.

nerv_ 20.12.2013 15:10

Цитата:

Сообщение от monolithed
В большинстве случаев проверка типа объекта решается пересмотром архитектуры.

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

Цитата:

Сообщение от Дзен-трансгуманист
почему бы не писать так?

Справедливое замечание :) В es5 ввели Array.isArray(). Я решил продолжить традицию

Цитата:

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

Но для некоторых функций вроде isUndef можно опустить, т.к. они относятся ко всем сущностям.

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

kobezzza 20.12.2013 15:57

Цитата:

Сообщение от nerv_ (Сообщение 288034)
По поводу Object.extend. Я бы начал юзать Object.assign из es6 или полифил.

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

nerv_ 22.12.2013 01:38

Цитата:

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

твой коллекшн крут )

Я запилил функцию сравнения объектов по значению. Периодически требуется, особенно в тестах.


Часовой пояс GMT +3, время: 00:40.