From eedbe4ea94aee115fa435249c767046bc636ea14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C2=A1ke?= <77801554+front42@users.noreply.github.com> Date: Tue, 9 Dec 2025 23:04:40 +0300 Subject: [PATCH] fix: correct spelling in object to primitive article.md ru --- 1-js/04-object-basics/09-object-toprimitive/article.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/1-js/04-object-basics/09-object-toprimitive/article.md b/1-js/04-object-basics/09-object-toprimitive/article.md index ed6a70e668..681bc15b70 100644 --- a/1-js/04-object-basics/09-object-toprimitive/article.md +++ b/1-js/04-object-basics/09-object-toprimitive/article.md @@ -9,7 +9,7 @@ JavaScript совершенно не позволяет настраивать, Это важное ограничение: результатом `obj1 + obj2` (или другой математической операции) не может быть другой объект! -К примеру, мы не можем создавать объекты, представляющие векторы или матрицы (или достижения или может ещё что-то), складывать их и ожидать в качестве результата "суммированный" объект. Такие архитектурные ходы автоматически оказываются "за бортом". +К примеру, мы не можем создавать объекты, представляющие векторы или матрицы (или достижения, или может ещё что-то), складывать их и ожидать в качестве результата "суммированный" объект. Такие архитектурные ходы автоматически оказываются "за бортом". Итак, поскольку мы технически здесь мало что можем сделать, в реальных проектах нет математики с объектами. Если она всё же происходит, то за редким исключением, это из-за ошибок в коде. @@ -83,7 +83,7 @@ JavaScript совершенно не позволяет настраивать, Операторы сравнения больше/меньше, такие как `<` `>`, также могут работать как со строками, так и с числами. Тем не менее, по историческим причинам, они используют хинт `"number"`, а не `"default"`. -Впрочем на практике, всё немного проще. +Впрочем, на практике всё немного проще. Все встроенные объекты, за исключением одного (объект `Date`, который мы рассмотрим позже), реализуют `"default"` преобразование тем же способом, что и `"number"`. И нам следует поступать так же. @@ -216,7 +216,7 @@ alert(user + 500); // toString -> John500 ```smart header="Историческая справка" По историческим причинам, если `toString` или `valueOf` вернёт объект, то ошибки не будет, но такое значение будет проигнорировано (как если бы метода вообще не существовало). Это всё потому, что в древние времена в JavaScript не было хорошей концепции "ошибки". -А вот `Symbol.toPrimitive` уже "четче", этот метод *обязан* возвращать примитив, иначе будет ошибка. +А вот `Symbol.toPrimitive` уже "чётче", этот метод *обязан* возвращать примитив, иначе будет ошибка. ``` ## Дальнейшие преобразования @@ -243,7 +243,7 @@ alert(obj * 2); // 4, объект был преобразован к прими 1. Умножение `obj * 2` сначала преобразует объект в примитив (это строка `"2"`). 2. Затем `"2" * 2` становится `2 * 2` (строка преобразуется в число). -А вот, к примеру, бинарный плюс в подобной ситуации соединил бы строки, так как он совсем не брезгует строк: +А вот, к примеру, бинарный плюс в подобной ситуации соединил бы строки, так как он совсем не брезгует строками: ```js run let obj = {