Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Optional chaining ?.#146

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged

Conversation

didostap
Copy link
Contributor

No description provided.

@CLAassistant
Copy link

CLAassistant commentedJul 21, 2021
edited
Loading

CLA assistant check
All committers have signed the CLA.

Copy link
Collaborator

@dolgachiodolgachio left a comment

Choose a reason for hiding this comment

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

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

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


[recent browser="new"]

The optional chaining`?.`is a safe way to access nested object properties, even if an intermediate property doesn't exist.
Опціональний ланцюжок`?.`- це безпечний спосіб доступу до влатсивостей об'єктів з вкладеностями, навіть якщо проміжних властивостей не існує.
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
Опціональний ланцюжок`?.` - це безпечний спосіб доступу довлатсивостейоб'єктів з вкладеностями, навіть якщо проміжних властивостей не існує.
Опціональний ланцюжок`?.` -- це безпечний спосіб доступу довкладених властивостейоб'єктів, навіть якщо проміжних властивостей не існує.


In such case, when we attempt to get `user.address.street`, and the user happens to be without anaddress, we get an error:
Отож якщо користувач не вказав адресу, а ми в свою чергу намагаємось отримати доступ до властивості `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
Отож якщо користувач не вказав адресу, а ми в свою чергунамагаємось отримати доступ до властивості`user.address.street` отримаємо помилку.
Отож якщо користувач не вказав адресу, а ми в свою чергуспробуємо отримати доступ до властивості`user.address.street`, то отримаємо помилку.


In many practical cases we'd prefer to get`undefined`instead of an error here (meaning "no street").
Проте в багатьох життєвих ситуаціях було б набагато зручніше отримати просто`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
Проте в багатьох життєвих ситуаціях було б набагато зручніше отримати просто`undefined` ("немає вулиці").
Проте в багатьох життєвих ситуаціях було б набагато зручніше отримати просто`undefined`, що буде означати"немає вулиці".


...And another example. In the web development, we can get an object that corresponds to a web page element using a special method call, such as`document.querySelector('.elem')`, and it returns `null` when there's no such element.
Ще один приклад. У веб розробці ми можемо отримати об'єкт котрий відповідає елементу на веб сторінці за допомогою стеціальних методів, наприклад:`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
Ще один приклад. У веб розробці ми можемо отримати об'єкт котрий відповідає елементу на веб сторінці за допомогоюстеціальних методів, наприклад:`document.querySelector('.elem')`. Проте якщо ми намагатимось отримати елемент якого немає на сторінці, то нам вернеться`null`.
Ще один приклад. У веб розробці ми можемо отримати об'єкт котрий відповідає елементу на веб сторінці за допомогоюспеціальних методів, наприклад:`document.querySelector('.elem')`. Проте якщо ми намагатимось отримати елемент якого немає на сторінці, то нам вернеться`null`.

// document.querySelector('.elem')is nullif there's no element
let html = document.querySelector('.elem').innerHTML; //error if it's null
// document.querySelector('.elem')рівний 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 html = document.querySelector('.elem').innerHTML; // помилкаосткільки null
let html = document.querySelector('.elem').innerHTML; // помилкаоскільки null

};

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
let user2 = null; //уявимо що користувач не авторизувався
let user2 = null; //уявімо, що користувач не авторизувався


```js run
delete user?.name; //delete user.nameif user exists
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
delete user?.name; // видалити user.name якщо користувач існує
delete user?.name; // видалити user.name, якщо користувач існує

````warn header="We can use `?.`for safe reading and deleting, but not writing"
The optional chaining`?.`has no use at the left side of an assignment.
````warn header="Ми можемо використовувати `?.`для безпечного читання і видалення властивостей, але не для запису"
Опціональний ланцюжок`?.`не має сенсу лівій частині просвоювання.
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
Опціональний ланцюжок`?.` не має сенсу лівій частині просвоювання.
Опціональний ланцюжок`?.` не має сенсуу лівій частині просвоювання.


Still, we should apply `?.` carefully, only where it's acceptable that the left part doesn't exist. So that it won't hide programming errors from us, if they occur.
Тим не менш, потрібно розумно застосовувати `?.`, тільки в тих випах де допустимо що ліва частина не існує. Щоб таким чином не приховувати потенційні помилки програмування.
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
ContributorAuthor

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

dolgachio and tarasyyyk reacted with thumbs up emoji

@tarasyyyktarasyyyk merged commitc226523 intojavascript-tutorial:masterJul 25, 2021
@tarasyyyk
Copy link
Collaborator

@all-contributors add@didostap for translation

@allcontributors
Copy link
Contributor

@tarasyyyk

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

@tarasyyyk
Copy link
Collaborator

@all-contributors add @stas-dolgachov for review

@allcontributors
Copy link
Contributor

@tarasyyyk

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

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

@dolgachiodolgachiodolgachio left review comments

Assignees
No one assigned
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

5 participants
@didostap@CLAassistant@tarasyyyk@dolgachio@javascript-translate-bot

[8]ページ先頭

©2009-2025 Movatter.jp