Константы. Ключевые слова LET CONST VAR.
Переменные
Что такое переменная? Переменная - это такой контейнер(коробка) которая предназначена для хранения значений информации, для последующего использования в коде. Мы берем коробку, даем имя, чтобы потом нам было легче ее найти среды хлама. В коробку помещаем некое значение (информацию), таким образом можем потом работать с этой информацией. (Кстати значение в переменных, информацию в нашей коробке, мы можем изменять по мере написания команд)
Объявление переменной
Ключевое слово для объявления переменной let это как я уже сказал команда для того, чтобы js понял, что мы хотим создать нашу коробку. после объявления "let", мы обязательно должны поставить пробел, придумать и записать имя (тоесть дать имя для нашей коробки); Перед тем, как вы дадите какое то имя, нужно знать о некоторых правилах, как правильно нужно давать имена коробкам(т.е. нашей переменной). Имя переменной может содержать только: буквы, лучше латинского алфавита, цифры и символы $ и _ При этом первый символ не должен быть цифрой. Верное объявление:
Вот примеры как правильно записывать имена переменных.
Неверное объявление:
И вот примеры как нельзя записывать их, здесь есть и + и - js, что консоль даст вам ошибку если переменная будет записана не правильно. Но минус, если совсем тупить, можно не сразу ее заметить, но есть + того, что мы сможем увидеть в какой строке кода у нас ошибка, поэтому будет легче понять проблему.
Для лучшей читабельности кода, имена переменных должны содержать имена, которые действительно относятся к содержимому. (на примере коробок, называть коробку из под сока, кока колой, не очень уместно, тупо можно запутаться) это будет и вам легче для будущего, и для программистов которые будут в будущем читать ваш код причем эта информация относится к любому ЯП.
Если ваша переменная содержит несколько слов в имени, принято использовать стиль " camelCase", по другому - ГорбатыйРегистр, либо ВерблюжийРегистр. Здесь понятно и так из названия, что горб регистр, обозначает, что каждое новое слово, пишется с большой буквы, КРОМЕ ПЕРВОГО СЛОВА, без пробелов, например:
Вот несколько примеров, на всякий, как лучше не использовать:
И не забываем с предыдущего урока, что регистр так же имеет значение!
эти переменные, будут обе работать, но для js это будут абсолютно разные имена переменных.
В качестве имен переменных нельзя использовать так называемые зарезервированные имена, например:
Список зарезервированных переменных есть в отдельном блоке.
Присвоение значений переменных
Присвоение переменных, это присвоение значений, тоесть поместим в нашу коробку какое то содержимое, в нашем же случае какие то переменные.
Переменные можно объявлять без значений, просто дать имя, чтобы в будущем начать ей уже пользоваться и дать какое либо значение.
Теперь попробуйте создать какую то переменную, дать ей имя, присвоить ей какое то значение и вывести это на вашей страничке. +1 будет если сделаете через консоль +2 если выведете окно на вашей страничке с вашей переменной.
стоит обратить внимание на мой первый пример где идет объявление без значения, сдесь мы даем объявление через let, но далее let нам повторно уже не нужно писать, мы просто начинаем писать наши инструкции без команды let Оператором кстати присвоения служит знак = об операторах и различных типах данных наример о сроках уже позже об этом поговорим на след лекциях. Как правильно вообще читается наша инструкция? let с английского переводится как - "пусть" тоесть на последнем примере это будет : Пусть капибара будет Единственной;
теперь наша переменная, тоесть коробка, содержит наше слово (комментарий если по другому, потому что мы используем кавычки) содержит слово "единственной"
Объявление нескольких переменных
Здесь есть несколько способов, как можно присвоить несколько значений, все они используются
Понятное дело, что в одну строку не очень читабельно писать, поэтому это редко очень используется.
Смена значений переменных
Смена значения наших переменных можно сделать прям по ходу нашего кода или выполнения нашей инструкции. Тоесть взять из нашей коробки ненужное и добавить чтото новое
Как вы видите на примере, мы написали переменную, дали ей значение, а дальше уже по ходу работы просто изменили значение уже без присваивания, т.е. без команды let. Ну а дальше просто вывели как мы это делали уже с вами неоднократно. Было бы круто изменить так же возраст :)
Так же есть еще одна не менее важная штука: Передача значений
У нас есть 2 переменные с разными значениями, далее мы записываем одну переменную и присваиваем ей имя другой переменной.
Use Strict
Как мы помним из прошлой лекции, про строгий режим, это один из самых отличных примеров, где строгий режим US влияет на переменные. Раньше переменные объявлялись вот так:
Т.е. как видно на примере у нас не использовалось ключевое слово, а просто присваение значением. Это работает и сейчас как мы видим на примере, но если US не используется.
Но если мы с вами включим строгий режим, то сразу увидим ошибку в консоли. US используется в 90% проектов, потому что это как мы помним с прошлых пар, это включение нового ES. и если вы разрабатываете современный проект, он 100% будет у вас включен.
тут уже мы должны включить ключевое слово.
Область видимости объектов
Объявление переменных в разных частях кода, имеет большое значение, это так называется область. Эта область видимости переменных в js и будет называться блок, как в html у нас использовался div
это как раз таки то , что было на прошлой паре, область у нас отмечаться фигурными скобочками. как мы видим на примере, здесь есть блок, который мы с вами создали, создали переменную, дали имя, вывели в консоли. область сейчас не работает, мы ничего не увидим, как ее вывести?
вывести в консоль наш блок "testBlock()"
Теперь, если я попробую вывести нашу переменную вне нашего блока, то у нас будет вот так:
Т.е. Как мы видим Переменная не видна за пределами блока и консоль выдает ошибку.
Один из важных примеров, когда у нас есть 2 переменные с одинаковыми названиями, но одна переменная записана в блоке, а другая записана вне.
Как мы видим, 2 блока, это 2 разные переменные, здесь они живут так сказать своей жизнью, как видно на консоли, ошибка не выдается, потому что это и не является ошибкой, т.к. для js это 2 разных переменные.
Так же не мало важно знать, что перед выводом нашей переменной, ее нужно сначала объявить
если мы этого не сделаем, как видно на примере, консоль просто выдаст нам ошибку, потому что при выполнении инструкции, наш алгоритм еще не знает и не понимает, что такое myAge, за этим тоже нужно следить.
стоит так же учесть, что одно и то же имя нелья использовать вне блока.
В то же время, в цикле можно использовать одно имя
Мы обязательно поговорим на счет блоков более подробнее
Константы
Константа - это переменная, но ее нет возможности ее изменить(почти)
Как бы логично не звучало, чтобы объявить константу мы используем ключевое слово const (т.е. constant - постоянный)
Как я уже говорил главное отличия константы от переменной, ее нельзя изменить в последствии. В остальном это одинаковые команды. Единственное различие имена констант принято ПИСАТЬ В ВЕРХНЕМ РЕГИСТРЕ. а слова разделяют нижнем подчеркиванием. Есть еще одно но, как я уже говоил, константы не меняются, ноо почти.
На данном примере видно, что мы смогли изменить значение. Речь идет как раз таки про это. Мы не можем изменить тип данных константы, а об изменении значении внутри. сами типы данных мы позже пройдем. пока на примере мы видим создание константы, где мы создали для него блок значений переменных, далее выводим. А вот потом, мы меняем с вами значение одно из полей нашей константы, как видим в консоле, ошибки у нас нет. Тоже самое сработает со всем.
Ключевое слово VAR
Всем знакомо такое ключевое слово var, оно так же используется для объявления переменных, логичный сразу вопрос, почему же мы не пользуемся именно им. Причем var появмлся на много раньше чем const или let. Раньше это был единственный метод объявления переменных. можно скачать, что оно не используется, потому что уже устарело, но есть одно отличие var от всех остальных объявлений переменных, которым проф разработчики пользуются.
Первое жесткое отличие, это то, что мы можем использовать перменную еще до ее объявления ключевым словом var И самое главное не важно вкл у нас строгий или нет.
Второе различие касается области видимости переменных. как мы знаем если объявить за пределами блока имя, которое использовалось только с блоке, js выдаст ошибку. c var работает тоже самое, НО, с if он начнет работать и за пределами, когда в то же время let будет выдавать ошибку.
Судя по тому, что сегодня мы изучили, может возникнуть вопрос, что лучше, объявлять каждый раз новую переменную, либо же каждый раз менять значение.
Т.е.
Вот на примере мы используем нашу переменную и каждый раз меняем ей значене
Не зря я давал пример на счет коробки, представим опять же, одну бутылку стеклянную, где вы заливаете каждый раз разные жидкости, например воду, масло алкоголь и т д. уже и так логичнр, что в будущем будем забываи для чего вообще используется у нас бутылка и что в ней сейчас налито. так же здесь, мы будем уже забывать, для чего мы используем данну переменную, как она используется и т д, код станет очень трудно читабельным поэтому менять переменные не рекомендовано, для разных типов данных, но при одинаковых , например "userAge" можно использовать одну переменную. Современные брузеры отлично оптимизируют js, даже более того использование разных перменных для разных значений помогает движку в бразуере оптимизировать код.
Last updated