From a238574d92fc990e8e32d14e2bcb0fe9279e8e68 Mon Sep 17 00:00:00 2001 From: Nikolay Gagarinov Date: Wed, 10 Jun 2026 17:03:33 +0500 Subject: [PATCH 1/2] fix(38-objects): bridge from length() helper to .length, properties in expressions (T02) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлен абзац-мостик в раздел «Свойства»: объясняет переход от учебной функции length() из hexlet-basics/string к встроенному свойству .length. Добавлен раздел «Свойства и методы в выражениях» с примерами арифметики со свойством и передачи свойства как аргумента функции. T02 (docs/python-alignment-javascript/AUDIT.md, P1-2). Co-Authored-By: Claude Fable 5 --- modules/38-objects/100-objects/ru/README.md | 34 +++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/modules/38-objects/100-objects/ru/README.md b/modules/38-objects/100-objects/ru/README.md index bf7c66de..8237283a 100644 --- a/modules/38-objects/100-objects/ru/README.md +++ b/modules/38-objects/100-objects/ru/README.md @@ -19,6 +19,17 @@ const len = name.length; console.log(len); // => 4 ``` +В предыдущих модулях для получения длины строки мы использовали учебную функцию `length()` из библиотеки `hexlet-basics/string`: + +```javascript +import { length } from 'hexlet-basics/string'; + +const name = 'Robb'; +console.log(length(name)); // => 4 +``` + +Это была временная замена — во многих языках длина строки действительно вычисляется через специальную функцию. В JavaScript же длина встроена прямо в язык как свойство `.length`. Начиная с этого урока учебная функция больше не понадобится: везде используем `.length`. + Во многих языках длину строки получают через специальную функцию, а в JavaScript свойства встроены прямо в язык. Свойства связаны с данными, у которых они берутся. Для примитивных типов все свойства описаны в документации, как, например, у [строк](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String). При этом у чисел свойств нет. JavaScript позволяет обращаться к свойствам, которые не существуют (например, при опечатках). В таком случае их значением является `undefined`: @@ -117,3 +128,26 @@ const name = 'hexlet'; console.log(name.toUpperCase()); // => HEXLET console.log(name); // => hexlet ``` + +## Свойства и методы в выражениях + +Свойства и методы — такие же выражения, как переменные, константы или вызовы функций. Их можно использовать в арифметических операциях и передавать как аргументы другим функциям. + +Использование в операциях: + +```javascript +const name = 'Shaya'; +console.log(name.length + 5); // => 10 +console.log(`hi, ${name.toUpperCase()}!`); // => hi, SHAYA! +``` + +Использование как аргументов функций: + +```javascript +const firstName = 'Robb'; +const lastName = 'Shaya'; +// Передаём свойства прямо в вызов функции +console.log(Math.min(firstName.length, lastName.length)); // => 4 +``` + +Это позволяет писать компактный и выразительный код, не сохраняя промежуточные результаты в отдельных переменных. From 5ab09b782e4a6becde6b1447ee69485fdd22ec18 Mon Sep 17 00:00:00 2001 From: Nikolay Gagarinov Date: Wed, 10 Jun 2026 17:10:34 +0500 Subject: [PATCH 2/2] fix(100-objects): remove duplicated sentence after bridge paragraph Co-Authored-By: Claude Fable 5 --- modules/38-objects/100-objects/ru/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/38-objects/100-objects/ru/README.md b/modules/38-objects/100-objects/ru/README.md index 8237283a..b1f912f4 100644 --- a/modules/38-objects/100-objects/ru/README.md +++ b/modules/38-objects/100-objects/ru/README.md @@ -30,7 +30,7 @@ console.log(length(name)); // => 4 Это была временная замена — во многих языках длина строки действительно вычисляется через специальную функцию. В JavaScript же длина встроена прямо в язык как свойство `.length`. Начиная с этого урока учебная функция больше не понадобится: везде используем `.length`. -Во многих языках длину строки получают через специальную функцию, а в JavaScript свойства встроены прямо в язык. Свойства связаны с данными, у которых они берутся. Для примитивных типов все свойства описаны в документации, как, например, у [строк](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String). При этом у чисел свойств нет. +Свойства связаны с данными, у которых они берутся. Для примитивных типов все свойства описаны в документации, как, например, у [строк](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String). При этом у чисел свойств нет. JavaScript позволяет обращаться к свойствам, которые не существуют (например, при опечатках). В таком случае их значением является `undefined`: