Skip to content

Optional chaining ?.#146

Merged
tarasyyyk merged 3 commits intojavascript-tutorial:masterfrom
didostap:optional-chining
Jul 25, 2021
Merged

Optional chaining ?.#146
tarasyyyk merged 3 commits intojavascript-tutorial:masterfrom
didostap:optional-chining

Conversation

@didostap
Copy link
Contributor

No description provided.

@CLAassistant
Copy link

CLAassistant commented Jul 21, 2021

CLA assistant check
All committers have signed the CLA.

Copy link
Collaborator

@dolgachio dolgachio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Дякую за чудовий переклад!

Будь-ласка, подивіться мої коментарі і пропозиції.
Деякі з них обов'язково потрібно виправити (друкарські помилки), інші після того, як пулл реквест подивиться
@tarasyyyk ;)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Опціональний ланцюжок `?.` - це безпечний спосіб доступу до влатсивостей об'єктів з вкладеностями, навіть якщо проміжних властивостей не існує.
Опціональний ланцюжок `?.` -- це безпечний спосіб доступу до вкладених властивостей об'єктів, навіть якщо проміжних властивостей не існує.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Отож якщо користувач не вказав адресу, а ми в свою чергу намагаємось отримати доступ до властивості `user.address.street` отримаємо помилку.
Отож якщо користувач не вказав адресу, а ми в свою чергу спробуємо отримати доступ до властивості `user.address.street`, то отримаємо помилку.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Проте в багатьох життєвих ситуаціях було б набагато зручніше отримати просто `undefined` ("немає вулиці").
Проте в багатьох життєвих ситуаціях було б набагато зручніше отримати просто `undefined`, що буде означати "немає вулиці".

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Ще один приклад. У веб розробці ми можемо отримати об'єкт котрий відповідає елементу на веб сторінці за допомогою стеціальних методів, наприклад: `document.querySelector('.elem')`. Проте якщо ми намагатимось отримати елемент якого немає на сторінці, то нам вернеться `null`.
Ще один приклад. У веб розробці ми можемо отримати об'єкт котрий відповідає елементу на веб сторінці за допомогою спеціальних методів, наприклад: `document.querySelector('.elem')`. Проте якщо ми намагатимось отримати елемент якого немає на сторінці, то нам вернеться `null`.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
let html = document.querySelector('.elem').innerHTML; // помилка осткільки null
let html = document.querySelector('.elem').innerHTML; // помилка оскільки null

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
let user2 = null; // уявимо що користувач не авторизувався
let user2 = null; // уявімо, що користувач не авторизувався

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
delete user?.name; // видалити user.name якщо користувач існує
delete user?.name; // видалити user.name, якщо користувач існує

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Опціональний ланцюжок `?.` не має сенсу лівій частині просвоювання.
Опціональний ланцюжок `?.` не має сенсу у лівій частині просвоювання.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Тим не менш, потрібно розумно застосовувати `?.`, тільки в тих випах де допустимо що ліва частина не існує. Щоб таким чином не приховувати потенційні помилки програмування.
Тим не менш, потрібно розумно застосовувати `?.`, тільки в тих випадках де допустимо що ліва частина не існує. Щоб таким чином не приховувати потенційні помилки програмування.

@didostap
Copy link
Contributor Author

@stas-dolgachov дякую за коментарі, все поправив
Прогнав додатково текст через сервіс, він дозволив виявити ще більше орфографічних, граматичних і лексичних помилок. В подальшому всім рекомендую використовувати.

@tarasyyyk tarasyyyk merged commit c226523 into javascript-tutorial:master Jul 25, 2021
@tarasyyyk
Copy link
Collaborator

@all-contributors add @didostap for translation

@allcontributors
Copy link
Contributor

@tarasyyyk

I've put up a pull request to add @didostap! 🎉

@tarasyyyk
Copy link
Collaborator

@all-contributors add @stas-dolgachov for review

@allcontributors
Copy link
Contributor

@tarasyyyk

I've put up a pull request to add @stas-dolgachov! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

Comments