-
Notifications
You must be signed in to change notification settings - Fork 8
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
translation(JS): web/javascript/reference/global_objects/isnan #3764
base: master
Are you sure you want to change the base?
translation(JS): web/javascript/reference/global_objects/isnan #3764
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Дякую. Поганої якості переклад, як завжди %-)
|
||
### Повернене значення | ||
|
||
`true`, якщо задане значення є {{jsxref("NaN")}} після [перетворення на число](/uk/docs/Web/JavaScript/Reference/Global_Objects/Number#number_coercion); інакше `false`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`true`, якщо задане значення є {{jsxref("NaN")}} після [перетворення на число](/uk/docs/Web/JavaScript/Reference/Global_Objects/Number#number_coercion); інакше `false`. | |
`true`, якщо задане значення після [перетворення на число](/uk/docs/Web/JavaScript/Reference/Global_Objects/Number#zvedennia-do-chysla) є {{jsxref("NaN")}}; інакше `false`. |
|
||
`isNaN()` є властивістю-функцією глобального об'єкта. | ||
|
||
Для числових значень `isNaN()` перевіряє, чи є число значенням [`NaN`](/uk/docs/Web/JavaScript/Reference/Global_Objects/NaN). Коли аргумент функції `isNaN()` не є типу [Number](/uk/docs/Web/JavaScript/Data_structures#number_type), значення спочатку приводиться до числа, і отримане значення порівнюється з {{jsxref("NaN")}}. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Для числових значень `isNaN()` перевіряє, чи є число значенням [`NaN`](/uk/docs/Web/JavaScript/Reference/Global_Objects/NaN). Коли аргумент функції `isNaN()` не є типу [Number](/uk/docs/Web/JavaScript/Data_structures#number_type), значення спочатку приводиться до числа, і отримане значення порівнюється з {{jsxref("NaN")}}. | |
У разі числових значень `isNaN()` перевіряє, чи є число значенням [`NaN`](/uk/docs/Web/JavaScript/Reference/Global_Objects/NaN). Коли аргумент функції `isNaN()` не належить до типу [Number](/uk/docs/Web/JavaScript/Data_structures#typ-number), значення спочатку зводиться до числа, і отримане значення порівнюється з {{jsxref("NaN")}}. |
|
||
Для числових значень `isNaN()` перевіряє, чи є число значенням [`NaN`](/uk/docs/Web/JavaScript/Reference/Global_Objects/NaN). Коли аргумент функції `isNaN()` не є типу [Number](/uk/docs/Web/JavaScript/Data_structures#number_type), значення спочатку приводиться до числа, і отримане значення порівнюється з {{jsxref("NaN")}}. | ||
|
||
Ця поведінка `isNaN()` з нечисловими аргументами може бути заплутаною! Наприклад, порожній рядок перетворюється на 0, а булеве значення — на 0 або 1; обидва варіанти інтуїтивно сприймаються як «не числа», проте вони не дають `NaN`, і тому `isNaN()` повертає `false`. Отже, `isNaN()` не відповідає ні на питання «чи є вхідне значення саме числовим значенням {{jsxref("NaN")}}», ні на питання «чи є вхідне значення нечисловим». |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ця поведінка `isNaN()` з нечисловими аргументами може бути заплутаною! Наприклад, порожній рядок перетворюється на 0, а булеве значення — на 0 або 1; обидва варіанти інтуїтивно сприймаються як «не числа», проте вони не дають `NaN`, і тому `isNaN()` повертає `false`. Отже, `isNaN()` не відповідає ні на питання «чи є вхідне значення саме числовим значенням {{jsxref("NaN")}}», ні на питання «чи є вхідне значення нечисловим». | |
Така поведінка `isNaN()` щодо нечислових аргументів може плутати! Наприклад, порожній рядок зводиться до 0, а булеве значення — до 0 або 1; обидва ці типи інтуїтивно сприймаються як «не числа», проте вони не обчислюються до `NaN`, і тому `isNaN()` повертає `false`. Отже, `isNaN()` не відповідає ні на питання «чи є вихідне значення саме числовим значенням {{jsxref("NaN")}}», ні на питання «чи є вихідне значення нечислом». |
|
||
Ця поведінка `isNaN()` з нечисловими аргументами може бути заплутаною! Наприклад, порожній рядок перетворюється на 0, а булеве значення — на 0 або 1; обидва варіанти інтуїтивно сприймаються як «не числа», проте вони не дають `NaN`, і тому `isNaN()` повертає `false`. Отже, `isNaN()` не відповідає ні на питання «чи є вхідне значення саме числовим значенням {{jsxref("NaN")}}», ні на питання «чи є вхідне значення нечисловим». | ||
|
||
{{jsxref("Number.isNaN()")}} — це більш надійний спосіб з'ясувати, чи справді значення дорівнює `NaN`. Також можна скористатися виразом `x !== x`, і жоден із цих методів не дає хибних спрацювань, які виникають із глобальною `isNaN()`. Аби перевірити, чи є значення числом, скористайтеся виразом [`typeof x === "number"`](/uk/docs/Web/JavaScript/Reference/Operators/typeof). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{{jsxref("Number.isNaN()")}} — це більш надійний спосіб з'ясувати, чи справді значення дорівнює `NaN`. Також можна скористатися виразом `x !== x`, і жоден із цих методів не дає хибних спрацювань, які виникають із глобальною `isNaN()`. Аби перевірити, чи є значення числом, скористайтеся виразом [`typeof x === "number"`](/uk/docs/Web/JavaScript/Reference/Operators/typeof). | |
{{jsxref("Number.isNaN()")}} — це більш надійний спосіб з'ясувати, чи справді значення є числовим значенням `NaN`. Інший варіант: можна скористатися виразом `x !== x`, і жоден з обох методів не дає хибних спрацювань, які роблять глобальну `isNan()` ненадійною. Аби перевірити, чи є значення числом, слід користуватися виразом [`typeof x === "number"`](/uk/docs/Web/JavaScript/Reference/Operators/typeof). |
|
||
{{jsxref("Number.isNaN()")}} — це більш надійний спосіб з'ясувати, чи справді значення дорівнює `NaN`. Також можна скористатися виразом `x !== x`, і жоден із цих методів не дає хибних спрацювань, які виникають із глобальною `isNaN()`. Аби перевірити, чи є значення числом, скористайтеся виразом [`typeof x === "number"`](/uk/docs/Web/JavaScript/Reference/Operators/typeof). | ||
|
||
Функція `isNaN()` відповідає на питання "чи є вхідне значення функціонально еквівалентним {{jsxref("NaN")}} у числовому контексті". Якщо `isNaN(x)` повертає `false`, змінну `x` можна безпечно використовувати в арифметичних операціях, наче це дійсне число. Якщо `isNaN(x)` повертає `true`, `x` прирівнюється до `NaN`, і більшість обчислень з ним теж повернуть `NaN`. Це зручно, щоб перевірити, чи можна з аргументом працювати як із числом, і, за потреби, викинути помилку або підставити усталене значення тощо. У такий спосіб можна створити гнучку функцію, яка користується неявним перетворенням JavaScript залежно від контексту. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Функція `isNaN()` відповідає на питання "чи є вхідне значення функціонально еквівалентним {{jsxref("NaN")}} у числовому контексті". Якщо `isNaN(x)` повертає `false`, змінну `x` можна безпечно використовувати в арифметичних операціях, наче це дійсне число. Якщо `isNaN(x)` повертає `true`, `x` прирівнюється до `NaN`, і більшість обчислень з ним теж повернуть `NaN`. Це зручно, щоб перевірити, чи можна з аргументом працювати як із числом, і, за потреби, викинути помилку або підставити усталене значення тощо. У такий спосіб можна створити гнучку функцію, яка користується неявним перетворенням JavaScript залежно від контексту. | |
Функція `isNaN()` відповідає на питання "чи є вихідне значення функціонально еквівалентним {{jsxref("NaN")}}, коли скористатися цим значенням у числовому контексті". Якщо `isNaN(x)` повертає `false`, то змінну `x` можна безпечно використовувати в арифметичних операціях, наче це валідне число, що не є `NaN`. Якщо `isNaN(x)` повертає `true`, то `x` зводиться до `NaN`, і більшість обчислень з ним теж повернуть `NaN` (адже значення `NaN` – заразне). Цим можна скористатися, наприклад, щоб перевірити, чи можна обробляти аргумент арифметично (користуватися ним, "неначе" числом), і обробляти значення, що не схожі на числа, викидаючи помилку, підставляючи усталене значення тощо. У такий спосіб можна створити гнучку функцію, яка повною мірою користується з різносторонності JavaScript – неявного перетворення значень залежно від контексту. |
|
||
Функція `isNaN()` відповідає на питання "чи є вхідне значення функціонально еквівалентним {{jsxref("NaN")}} у числовому контексті". Якщо `isNaN(x)` повертає `false`, змінну `x` можна безпечно використовувати в арифметичних операціях, наче це дійсне число. Якщо `isNaN(x)` повертає `true`, `x` прирівнюється до `NaN`, і більшість обчислень з ним теж повернуть `NaN`. Це зручно, щоб перевірити, чи можна з аргументом працювати як із числом, і, за потреби, викинути помилку або підставити усталене значення тощо. У такий спосіб можна створити гнучку функцію, яка користується неявним перетворенням JavaScript залежно від контексту. | ||
|
||
> [!NOTE] > [`+` оператор](/uk/docs/Web/JavaScript/Reference/Operators/Addition) виконує як додавання чисел, так і конкатенацію рядків. Тому, навіть якщо `isNaN()` повертає `false` для обох операндів, оператор `+` все одно може повернути рядок, оскільки він не використовується як арифметичний оператор. Наприклад, `isNaN("1")` повертає `false`, але `"1" + 1` повертає `"11"`. Щоб бути впевненим, що ви працюєте з числами, [приведіть значення до числа](/uk/docs/Web/JavaScript/Reference/Global_Objects/Number#number_coercion) і скористайтеся {{jsxref("Number.isNaN()")}} для перевірки результату. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
> [!NOTE] > [`+` оператор](/uk/docs/Web/JavaScript/Reference/Operators/Addition) виконує як додавання чисел, так і конкатенацію рядків. Тому, навіть якщо `isNaN()` повертає `false` для обох операндів, оператор `+` все одно може повернути рядок, оскільки він не використовується як арифметичний оператор. Наприклад, `isNaN("1")` повертає `false`, але `"1" + 1` повертає `"11"`. Щоб бути впевненим, що ви працюєте з числами, [приведіть значення до числа](/uk/docs/Web/JavaScript/Reference/Global_Objects/Number#number_coercion) і скористайтеся {{jsxref("Number.isNaN()")}} для перевірки результату. | |
> [!NOTE] | |
> | |
> [Оператор `+`](/uk/docs/Web/JavaScript/Reference/Operators/Addition) виконує як додавання чисел, так і зчеплення рядків. Тож навіть якщо `isNaN()` повертає `false` для обох операндів, оператор `+` все одно може повернути рядок, оскільки спрацьовує не як арифметичний оператор. Наприклад, `isNaN("1")` повертає `false`, але `"1" + 1` повертає `"11"`. Щоб мати певність, що відбувається робота з числами, [зведіть значення до числа](/uk/docs/Web/JavaScript/Reference/Global_Objects/Number#zvedennia-do-chysla) і скористайтеся {{jsxref("Number.isNaN()")}} для перевірки результату. |
isNaN(" "); // false: рядок із пробілами перетворюється на 0, який не є NaN | ||
|
||
// Дати | ||
isNaN(new Date()); // false; Date-об'єкт можна перетворити на число (мітку часу) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isNaN(new Date()); // false; Date-об'єкт можна перетворити на число (мітку часу) | |
isNaN(new Date()); // false; об'єкт Date можна перетворити на число (мітку часу) |
|
||
// Дати | ||
isNaN(new Date()); // false; Date-об'єкт можна перетворити на число (мітку часу) | ||
isNaN(new Date().toString()); // true; рядкове представлення Date не можна перетворити на число |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isNaN(new Date().toString()); // true; рядкове представлення Date не можна перетворити на число | |
isNaN(new Date().toString()); // true; рядкове представлення об'єкта Date не можна розібрати як число |
Коментар про якість перекладу стосується машини, що його виконувала, а не людини, звісно |
Оригінальний вміст: isNaN()@MDN, сирці isNaN()@GitHub