Оператор "вопросительный знак + точка": Optional Chaining в JavaScript

Поделиться
HTML-код
  • Опубликовано: 17 ноя 2024

Комментарии • 23

  • @tasatko
    @tasatko 5 лет назад +9

    После курса реакт+редукс, я тебя с полуслова узнаю...
    const {author:{profile:{picture}=0}=0} = post

  • @timurzakirov9833
    @timurzakirov9833 4 года назад +1

    Отличное видео. Всегда интересно послушать про новый синтаксис 👍

  • @sergei_sergeevu4
    @sergei_sergeevu4 4 года назад

    Спасибо вам за ваши видео, надеюсь вы продолжите их снимать. У вас отлично получается доносить информацию)

  • @Dima-x4p
    @Dima-x4p 2 года назад +2

    Это _Опционаньная цепочка_ Она используеться для того чтобы исправить ошибку несусществояния например у нас есть объект но он пуст:
    let obj = {};
    Выводим не существующое свойство:
    alert(obj.name); //undefined
    Но что если мы выведем сразу несколько не существующех свойств:
    alert(obj.name.age); //Ошибка
    //Obj.name - Возвращает undefined
    //Obj.name.age... - Возвращает Ошибку
    Мы можем это исправить с помощью условного оператора '?':
    // ?. Условный оператор
    // if, else, else if. Условное ветвление.
    alert(obj.name ? obj.name.age : undefined)
    Но этот код довольно неэлегантный и он дублируеться:
    Решением будет использувать побитовый оператор '&':
    alert(obj.name & obj.name.age)
    Но этот код все равно дублируеться:
    Вот и для этого есть _Опционаньная цепочка_
    Решение:
    alert(x?.name?.age);
    Это роботает даже если объекта не существует

  • @РоманСкандаков
    @РоманСкандаков 4 года назад +1

    Даёшь больше таких уроков

  • @ПращурАмбатьелло
    @ПращурАмбатьелло 3 года назад

    А когда будет видос про Nullish Coalescing?

  • @dihaneeer
    @dihaneeer 3 года назад

    Идеально!

  • @vladk3111
    @vladk3111 3 года назад

    6:20 либо я что-то не так делаю, либо short circuit не работает
    let x = 10;
    let object = {
    num: 1,
    };
    let res = object?.[x++];
    console.log(res) // undefined
    в независимости от того, существует object или равен null, результат всегда undefined.

  • @konjinni
    @konjinni 4 года назад

    название видео хорошее, не так то просто найти поиском "?."

  • @froststorm77
    @froststorm77 5 лет назад +1

    Блин, уменьшил скорость видео, увеличил громкость, 10 раз пересматривал момент с ?? и все равно не понял что говорит автор . То ли "нолижкалесен" то ли "нулєжкалессен" ... =(

    • @goodcodetv2744
      @goodcodetv2744  5 лет назад

      Сейчас автор пересмотрит и точно скажет :)

    • @goodcodetv2744
      @goodcodetv2744  5 лет назад +2

      Nullish Coalescing - это совершенно брутальное название для оператора "??" - два знака вопроса, который подставляет значение по-умолчанию, если левый операнд null или undefined. Скоро залью про него видео.

    • @Andrey-il8rh
      @Andrey-il8rh 5 лет назад

      Nullish Coalescing - более строгая версия двойного пайпа ||, отличие в том что у двойного пайпа больше кейсов ухода а правую часть выражения, например если слева будет 0 или false.

    • @tasatko
      @tasatko 5 лет назад

      @@Andrey-il8rh По приведенным вами отличиям "более строгой" версией являеться таки двойной пайп)

    • @Andrey-il8rh
      @Andrey-il8rh 5 лет назад

      ​@@tasatko что значит "более строгой" ?