Я хочу создать js-библиотеку (для помощи в тестах). Я хочу, чтобы эта библиотека добавила один новый метод X
в массив или объект. но некоторые люди могут не хотеть этого поведения и вместо этого предпочли бы иметь возможность выбрать имя (Y
вместо X
) или даже иметь новый метод вообще, но использовать его как X(array).x()
.дизайн библиотеки js и загрязнение пространства имен
некоторые люди используют requireJs, но кто-то этого не делает. так, каковы наилучшие методы предоставления таких новых функций? как это сделать, чтобы избежать столкновения имен и сделать библиотеку простой в использовании?
Есть ли способ обеспечить новую функциональность без загрязнения пространства имен, чтобы позволить пользователю назначить его любой переменной, которую он хочет?
Разъяснение:
скажем я хочу добавить метод в массив, который печатает «привет мир». Я могу предоставить глобальную переменную HelloWorldLibrary, а затем пользователь может привязать ее к любому методу, который он хочет. но это уже вводит одно имя в глобальное пространство имен. есть ли способ избежать этого или это правильный путь, и я должен делать это таким образом?
Я не понимаю ... вы имеете в виду переопределение имени, но с той же функциональностью? – Typo
№. Я хочу предоставить совершенно новые функции с новым именем. но я чувствую, что выбор имени произвольно не может быть лучшим решением. так есть ли способ позволить пользователю настроить имя? – piotrek
сделать его самим объектом, и пусть он назовет его так, как он хочет – Typo