Дело в том, что я знаю основы программирования, кто-то сказал мне, что это используется для инкапсуляции внутри исходного кода программы (код с ООП (объектно-ориентированное программирование)).
Но я хочу знать, как успешно реализовать этот стиль программирования, спасибо!
Я не обращал на это внимания, но, как я уже говорил вам раньше, я мог видеть, что это используется для ссылки на переменную/свойство, которое похоже на другое, объявленное в другом месте.
function sample(param, parent){
let _param = "something(specially an object or method from an object)"
}
Префикс _ — это соглашение, обычно зарезервированное для переменных, которые являются внутренними по отношению к объекту, а не локальными переменными внутри функции. Соглашение существует, чтобы сделать очевидным, что внешний мир не должен получать к ним прямой доступ.
В C# это поле, представляющее собой переменную, объявленную на уровне класса, а не внутри метода. Как только мы к этому привыкнем, это быстрый способ взглянуть на переменную и узнать (надеюсь), была ли она объявлена в нашем методе или в классе. Это, в свою очередь, говорит нам кое-что о том, как мы должны его использовать.
Для использования Visual Studio я могу ввести _
и увидеть все поля-члены в объекте. Я не использую этот стиль для локальных переменных функции.
в ES6 объявленные переменные const
пишутся с заглавной буквы (например, const Foo = 3;
), поскольку ссылка на их объект неизменяема. Пусть объявленные переменные имеют тип camelCase (например, let fooBar = 3;
). Переменная с подчеркиванием означает переменную конфигурации, предназначенную для внутреннего использования в программе (например, const _Foo = 3;
).
@LenJoseph Я не думаю, что это официально. Где-то это руководство по стилю, но не очень широко принятое. Я все еще вижу много const foo
вокруг.
@VLAZ Хотя это не официально, это определенно лучшая практика. Мы видели множество ошибок во время выполнения, когда люди пытались обновить константу, потому что забывали, что это не обычная изменяемая переменная.
@LenJoseph есть много «хороших практик», но это не значит, что они широко распространены. Поэтому говорить, что «в ES6» что-то так или иначе, в лучшем случае вводит в заблуждение.
@CamiloTerevinto тоже oop
, если честно.
@VLAZ то, что сообщество использует молоток как гаечный ключ, не означает, что это не молоток. Если вы хотите опровергнуть мою точку зрения с риском для ремонтопригодности, вперед, ваше эго важнее.
@LenJoseph все, что я говорю, это то, что «в ES6` const ничего не значит. Не существует официально принятого способа ее написания. Фактически, использование заглавных букв в первых буквах кажется исключением - если люди принимают специальное соглашение об именах , они обычно идут с все заглавные буквы, потому что это более стандартный способ различать константы в других языках - например, в Java вы очень часто видите static final FOO
. Не знаю, почему вы думаете, что мое эго замешано, когда я говорю, что ES6 не иметь официальное руководство по стилю.
@VLAZ Тогда я неправильно понял твое намерение. Я полагаю, что я исключение, если это так. Я видел мутации в заглавных буквах, поэтому думаю, что наличие констант в заглавных буквах имело бы смысл. По крайней мере, IMO должна быть некоторая дифференциация с обычной изменяемой переменной. Но каждому свое в конце концов.
Это мягкая форма венгерская нотация для определения области действия данной переменной.
См.: Стоит ли консультировать по вопросам не по теме?
Я просто пытался быть полезным для ОП, я не участвую в кампаниях по закрытию голосования, особенно в качестве нового участника. Кроме того, несколько минут назад у меня не было права голоса против.
Одно отрицательное голосование не является «кампанией отрицательного голосования».
Спасибо. Меня это мало беспокоило.
Это просто стилистический выбор. Обычно это означает, что это какая-то «внутренняя переменная», и другие программисты не должны ее изменять или использовать. Но это также может иметь разное значение, чем в разных группах.