В последнее время я заметил, что соглашение javascript смещается. Теперь, где бы я ни выглядел, я вижу, что другие разработчики, использующие javascript, обертывают свои функции в скобках, чтобы сделать их закрытыми (или что-то вроде этого, я не уверен, javascript для меня является второстепенным). Например ...Есть ли способ избежать инкапсуляции javascript в скобках, но все же получить преимущества?
(function something()
{ // something happens here
})();
Как вещи (особенно дополнительные функции) получает вложенными, это отрицательно сказывается на читабельности кода, а на самом деле делает Javascript некрасиво и смотреть больше и больше похожи на кошмары программирования в LISP (как он получил это прозвище «Много идиотических одиночных круглых скобок»). Меня не волнует, если я должен набрать полное слово (или даже пару слов), чтобы получить тот же эффект. Есть ли хорошая альтернатива инкапсуляции в круглые скобки, чтобы сделать функцию частной и получить другие преимущества в скобках инкапсуляции?
Редактировать: По-видимому, я неправильно понял, что касается внешней круглой скобки, которую я задаю, что меня больше смущает их пурпур на самом деле.
В зависимости от используемых вами инструментов ES6 имеет [хорошее решение] (https://github.com/ModuleLoader/es6-module-loader/wiki/Brief-Overview-of-ES6-Module-syntax) для это (аналогично модулям в Node.js) – nem035
№. Единственный раз, когда это необходимо, это если у вас есть IIFE, и это два дополнительных параметра. Вы также можете просто определить функцию и выполнить ее позже. –
* «Есть ли хорошая альтернатива инкапсуляции в круглые скобки, чтобы сделать частную функцию и получить другие преимущества инкапсуляции в скобках?» * - Это не скобка, которая делает инкапсуляцию. Это функция, которая делает это (через закрытие). Первая пара скобок только делает функцию выражением, и последняя пара выполняет ее. Следовательно, имя IIFE (выражение вызывается с немедленным вызовом). – Joseph