Я понял CONST в JS. True JavaScript 32

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ธ.ค. 2024

ความคิดเห็น • 48

  • @dmitrijponkin
    @dmitrijponkin 5 ปีที่แล้ว +12

    Александр, спасибо Вам!
    Как всегда доступно, понятно и полезно :)

  • @machaschmidt2872
    @machaschmidt2872 5 ปีที่แล้ว

    Александр, спасибо Вам большое!!!! Вы гениально объясняете!!!!

  • @KuKu_RuKu88
    @KuKu_RuKu88 4 ปีที่แล้ว +1

    Спасибо Вам, здорово объясняете

  • @vasya8441
    @vasya8441 5 ปีที่แล้ว

    Алекс Лущенко я Вас люблю, столько всего на канале, смотришь и радуешься, что когда пойдешь на собеседование, они там в шоке будут, хочу все выучить и сразу мидлом устроиться

    • @EvilYou
      @EvilYou 3 ปีที่แล้ว

      Это вряд ли)
      Возможно, мой комент немного запоздавший, но если нужно хорошее знание js, лучше учить по learn.js, там в разы больше инфы, чем на любом русскоязычном канале.
      Конкретно эта тема там разобрана в главе Дескрипторы свойств.

  • @AkkayHT228
    @AkkayHT228 5 ปีที่แล้ว +4

    Как по мне const нужно использовать в любых структурных типах, символах, циклах for..in/for..of, так как это лучше отражает суть происходящего. В циклах у нас каждый раз создаётся новая переменная с новым значением в качестве ключа/свойства. Символы, они у нас так и так неизменяемы по своей сути. Ну, а структурные типы хранят в себе ссылку на объект/массив/функцию.

  • @yakut54
    @yakut54 5 ปีที่แล้ว +3

    как всегда, зачёт!

    • @itgid
      @itgid  5 ปีที่แล้ว

      спасибо!

  • @imyafamiliya3913
    @imyafamiliya3913 3 ปีที่แล้ว +1

    07:15 /* a

  • @carry-on-chaos4032
    @carry-on-chaos4032 3 ปีที่แล้ว +1

    самое простое объяснение - "Константа НЕ определяет постоянное значение. Константа определяет постоянную ссылку на значение"
    "It does NOT define a constant value. It defines a constant reference to a value"

  • @-it7046
    @-it7046 5 ปีที่แล้ว +3

    Привет всем! Ставим лайки) Автор старается для нас!

  • @ДовгальДима
    @ДовгальДима 4 ปีที่แล้ว

    Интересное видео, спасибо за информацию!)

  • @Tiberiumgod
    @Tiberiumgod 5 ปีที่แล้ว +6

    Когда мы присваиваем объект переменной, то присваивается ссылка на объект, а не сам объект. Ссылка как раз статична, а объект манипулируемый. Тоже и с функциями.

  • @Skif769
    @Skif769 5 ปีที่แล้ว +1

    спасибо! хороший урок

  • @aleksejsaleksejevs7818
    @aleksejsaleksejevs7818 5 ปีที่แล้ว

    Учитель от бога!

  • @B_G_V
    @B_G_V 2 ปีที่แล้ว +3

    Как я понял.
    Для примитивов *const* защищает записанное в неё *значение* от переписывания.
    Для объектов *const* защищает записанную в неё *ссылку на объект* от переписывания, но не содержимое объекта.

  • @ВейсалТаштанов
    @ВейсалТаштанов 5 ปีที่แล้ว +6

    Видео класс! Еще , кстати, можно использовать метод Object.defineProperty, для предотвращения изменений в объекте каких либо параметров.

    • @itgid
      @itgid  5 ปีที่แล้ว

      отлично!

  • @Давид-п8и
    @Давид-п8и 5 ปีที่แล้ว

    Очень полезное видео!

  • @oleksiykurylyuk4696
    @oleksiykurylyuk4696 5 ปีที่แล้ว

    Спасибо за видео. (просмотрено 14.11.2019)

  • @ertar0
    @ertar0 ปีที่แล้ว

    спасибо!

  • @pandaskeptic2937
    @pandaskeptic2937 4 ปีที่แล้ว

    11:20
    Поэтому лучше использовать use strict режим, чтобы выбрасывалась ошибка при попытке изменить свойства объекта. А то может уйти немало времени что понять почему не изменяется свойство.

  • @frat8853
    @frat8853 5 ปีที่แล้ว +1

    Как пример тем для следующих видео - паттерны, интересные/популярные методы объектов, массивов. И очень рекомендую Вам уделить внимание английскому, у Вас достаточно хорошие видео и с английским языком сможете расширить аудиторию канала и учеников.

  • @TheTexPro
    @TheTexPro 5 ปีที่แล้ว

    Спасибо!

  • @ДмитрийНормов-ю6ц
    @ДмитрийНормов-ю6ц 3 ปีที่แล้ว +1

    6:39 - как-то запутанно получается. Типа const гарантирует неизменность значения "с" как переменной, а свойства и методы можно менять.добавлять. Запутанно...

    • @skrepkaskrepka2173
      @skrepkaskrepka2173 3 ปีที่แล้ว

      короче все просто, конст делает неизменной ссылку на обьект. В названии обьекта лежит ссылка на его область в памяти и эту ссылку конст не дает изменить. То есть ты не сможешь переназначить обьект const b на обьект a и тд. А вот сама "память обьекта" постоянной не становится и ты можешь ее ковырять как хочешьж

  • @digitalturkistan1857
    @digitalturkistan1857 5 ปีที่แล้ว +1

    Супер

  • @kirillbaryba746
    @kirillbaryba746 5 ปีที่แล้ว

    Спасибо, круто!

  • @MM201K
    @MM201K 5 ปีที่แล้ว +1

    ну ведь var a = {}; тоже будет работать , разница в том что var можно будет изменить на что угодно , а const в любом случаи останется обьектом и не будет возможно его изменить (кроме содержимого в обьекте), верно ?

  • @Max-kr4ie
    @Max-kr4ie 5 ปีที่แล้ว +2

    Возможно это я, что-то не так понял. Вот Вы сказали неважно через что обьявлена переменная через let or const всеравно Object.freeze() работает одинаково. Но в моих экспериментах это не так. При let d = Object.freeze("d":33) действительно содержимое обьекта не изменено, но мы можем изменить тип данных d=5; и все д теперь число а не обьект. Затем d={}; или даже d={"d":33} и все у нас снова обьект который перестал быть замороженным но обращение к нему идет через туже переменную d. Через const же такого не может быть. Мне кажется это важным.и еще я правильно понял const для обьекта гарантирует не изменость типа данных а Object.freeze его свойств?

    • @itgid
      @itgid  5 ปีที่แล้ว

      нужно пересмотреть видео - я не помню что сказал. Возможно и оговорился - я пишу видео без подготовки и не подсматриваю никуда - все по памяти, иногда ошибаюсь.

  • @vasya8441
    @vasya8441 5 ปีที่แล้ว

    картинка в начале видео великолепная

  • @EugenePorubenko-q2e
    @EugenePorubenko-q2e 5 ปีที่แล้ว

    отлично

  • @ПИОНЕРТВ-о8х
    @ПИОНЕРТВ-о8х 5 ปีที่แล้ว +1

    Пожалуйста сделайте маленький сайт и покажите в совокупе как работает на сайте JS

  • @Wunderwaffe2333
    @Wunderwaffe2333 5 ปีที่แล้ว +5

    cool! Alexander, vi delaete yroki bistreee chem ja mogy ich ychit' :)

    • @itgid
      @itgid  5 ปีที่แล้ว +3

      стараюсь, не сплю, не ем :(

  • @tvn87
    @tvn87 5 ปีที่แล้ว +1

    Александр, можете объяснить рекурсию. Спасибо.

    • @MoLiBDeN92
      @MoLiBDeN92 5 ปีที่แล้ว +2

      «Чтобы понять рекурсию, нужно сперва понять рекурсию»

    • @ВиталийПопов-л2г
      @ВиталийПопов-л2г 5 ปีที่แล้ว

      Найди книгу Грокаем алгоритмы, там с примерами отличное объяснение есть что стека что рекурсии. А простым языком это вызов функции в контексте этой же функции

  • @dmytrolambru2984
    @dmytrolambru2984 5 ปีที่แล้ว +1

    Спасибо за видео. Надеюсь будет видео про "deep freezing of the object".
    @Александр Лущенко можно добавить от себя по const ?)

    • @itgid
      @itgid  5 ปีที่แล้ว

      так пишите!

    • @dmytrolambru2984
      @dmytrolambru2984 5 ปีที่แล้ว +1

      @@itgid Спасибо) Хотел добавить, что на let и const не работает механизм "Hoisting ". Что let и const видны исключительно в своем блоке кода (block-scope {...} - e.g. if(...){...} || for(...){...} || while(...){...}) в отличии от var у которой видимость в пределах всей функции (function-scope function(){...}). const - это не константа в нашем привычном понимании, что то неизменное. Объявление через const всего лишь говорит о том, что в этом блоке кода (block-scope) эта переменная не будет переопределена и не более того. Так как если передать переменную объявленную так "const someNumber = 5" в функцию, переменную "someNumber" естественное можно будет переопределить, т.к. это совершенно уже не та переменная. P.S. Почему нужно использовать const, мое личное мнение - В своем коде объявляю все переменные через const, через let только те, которые будут переопределены в этом блоке кода. Это повышает читаемость и понимание для меня и надеюсь для будущего девелопера.

  • @pandaskeptic2937
    @pandaskeptic2937 4 ปีที่แล้ว

    11:50 Упс, поспешил с комментарием.))

  • @ДмитрийЕгорович-н5д
    @ДмитрийЕгорович-н5д 5 ปีที่แล้ว

    Кто понял const, тот не спешит.

  • @vdvchannel7765
    @vdvchannel7765 3 ปีที่แล้ว

    Все классно . Но все таки вы уступаете другим по "расскрутке " своих курсов в отличие от конкурентов

  • @YauhenRomeiko
    @YauhenRomeiko 5 ปีที่แล้ว

    +

  • @jonnyel1734
    @jonnyel1734 5 ปีที่แล้ว

    Object.defineProperty(obj, prop, descriptor) - ад , карту которого ты обязан знать.
    Мне снова не нравится структура видео. почему просто не сказать ,что такое примитив, а потом добавить, что const- относится ,как постоянная только к примитивам.

    • @simplewebdev1098
      @simplewebdev1098 5 ปีที่แล้ว

      Вообще-то const гарантирует то, что переменная не будет изменена. Просто в случае примитива переменная равна его значению, а в случае объекта, массива, функции - ссылке на объект. Изменение объекта никак не влияет на то, что данная переменная содержит ссылку на сам объект.