Skip to content

Commit

Permalink
Merge pull request #732 from emp7yhead/remove-quotes
Browse files Browse the repository at this point in the history
Remove quotes from examples
  • Loading branch information
emp7yhead committed Mar 9, 2023
2 parents 9358970 + 5058b4b commit b83fd6a
Show file tree
Hide file tree
Showing 22 changed files with 71 additions and 71 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ theory: |
// Оператор такой же, как и при сложении чисел
// но здесь он имеет другой смысл (семантику)
console.log('Dragon' + 'stone');
// => 'Dragonstone'
// => Dragonstone
```
Склеивание строк всегда происходит в том же порядке, в котором записаны операнды. Левый операнд становится левой частью строки, а правый — правой.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ theory: |
50 * 1.25 // 62.5
120 / 10 * 2 // 24
'hello' // "hello"
'Good' + 'will' // "Goodwill"
'hello' // hello
'Good' + 'will' // Goodwill
```
Правила построения кода (грамматика языка) таковы, что в тех местах, где ожидается выражение, можно поставить любое вычисление (не только математическое, но и, например, строковое — как конкатенация), и программа останется работоспособной. По этой причине невозможно описать и показать все случаи использования всех операций.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ theory: |
```javascript
let what = 'Kings' + 'road';
console.log(what); // => 'Kingsroad'
console.log(what); // => Kingsroad
```
… а значит сумеем конкатенировать строку и одну переменную, в которой записана строка:
Expand All @@ -16,7 +16,7 @@ theory: |
let first = 'Kings';
let what = first + 'road';
console.log(what); // => 'Kingsroad'
console.log(what); // => Kingsroad
```
… и даже конкатенировать две переменные, в которых записаны строки:
Expand All @@ -26,7 +26,7 @@ theory: |
let last = 'road';
let what = first + last;
console.log(what); // => 'Kingsroad'
console.log(what); // => Kingsroad
```
https://replit.com/@hexlet/variables-expression
Expand Down
4 changes: 2 additions & 2 deletions modules/30-variables/25-interpolation/description.ru.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ theory: |
const greeting = 'Hello';
console.log(greeting + ', ' + firstName + '!');
// => 'Hello, Joffrey!'
// => Hello, Joffrey!
```
Это довольно простой случай, но даже здесь нужно приложить усилия, чтобы увидеть, какая в итоге получится строка. Нужно следить за несколькими кавычками и пробелами, и без вглядывания не понять, где что начинается и кончается.
Expand All @@ -24,7 +24,7 @@ theory: |
// Обратите внимание на ограничители строки, это бектики
// Интерполяция не работает с одинарными и двойными кавычками
console.log(`${greeting}, ${firstName}!`);
// => 'Hello, Joffrey!'
// => Hello, Joffrey!
```
https://replit.com/@hexlet/js-basics-interpolation
Expand Down
6 changes: 3 additions & 3 deletions modules/30-variables/30-symbols/description.ru.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ theory: |
```javascript
const firstName = 'Tirion';
console.log(firstName[0]); // => 'T'
console.log(firstName[0]); // => T
```
Квадратные скобки с цифрой — это специальный синтаксис извлечения символа из строки. Цифра называется **индексом** — позицией символа внутри строки. Индексы начинаются с 0 почти во всех языках программирования — поэтому, чтобы получить первый символ, нужно указать индекс `0`. Индекс последнего элемента равен длине строки минус единица:
Expand All @@ -17,7 +17,7 @@ theory: |
// Длина строки 6, поэтому последний индекс — это 5
const firstName = 'Tirion';
console.log(firstName[5]); // => 'n'
console.log(firstName[5]); // => n
```
Вопрос на самопроверку. Что выведет этот код?
Expand All @@ -40,7 +40,7 @@ theory: |
const firstName = 'Tirion';
const index = 0;
console.log(firstName[index]); // => 'T'
console.log(firstName[index]); // => T
```
Технически можно указать индекс и за пределами слова. Для нашего примера — это числа от 6 и выше. JavaScript не считает такое поведение ошибкой. Обращение по несуществующему индексу вернет значение `undefined`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ theory: |
JavaScript позволяет узнать тип данных с помощью оператора `typeof`:
```javascript
typeof 3; // 'number'
typeof 'Game'; // 'string'
typeof 3; // number
typeof 'Game'; // string
```
https://replit.com/@hexlet/js-basics-data-types-primitive-data-types
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ theory: |
let firstName = 'Alexander';
// Код выполнится без ошибок
firstName[0] = 'B';
console.log(firstName); // => 'Alexander'
console.log(firstName); // => Alexander
```
Как это ни странно, но значение переменной `firstName` останется прежним, хотя код выполнится без ошибок. Так происходит из-за неизменяемости примитивных типов в JavaScript — язык не дает никакой физической возможности поменять строку. Неизменяемость примитивных типов важна по многим причинам, ключевая — производительность. Но что делать, если нам действительно нужно её изменить? Для этого и существуют переменные:
Expand All @@ -20,7 +20,7 @@ theory: |
let firstName = 'Alexander';
// Код выполнится без ошибок
firstName = 'Blexander'
console.log(firstName); // => 'Blexander'
console.log(firstName); // => Blexander
```
Есть большая разница между изменением значения переменной и изменением самого значения. Примитивные типы в JavaScript поменять нельзя (а вот составные можно, подробнее о них уже на самом Хекслете), а заменить значение переменной — без проблем.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ theory: |
А что, если применить эту операцию не к двум числам, а к числу и строке?
```javascript
console.log(1 + '7'); // => '17'
console.log(1 + '7'); // => 17
```
Несмотря на то, что `'7'` — это строка, а не число, интерпретатор JavaScript выдал ответ `17`, как если бы мы складывали две строки. Когда JavaScript видит несоответствие типов, он сам пытается преобразовать информацию. В данном случае он преобразовал число `1` в строку `'1'`, а потом спокойно сделал конкатенацию `'1'` и `'7'`.
Expand Down Expand Up @@ -37,7 +37,7 @@ instructions: |
Выведите на экран результат выражения: `7 - (-8 - -2)`. Попробуйте сделать число 7 не числом, а строкой. Поэкспериментируйте с другими числами тоже.
tips:
tips:
- |
[Типизация](https://ru.wikipedia.org/wiki/Сильная_и_слабая_типизация)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ theory: |
```javascript
const name = 'Robb';
const upperName = name.toUpperCase();
console.log(upperName); // => 'ROBB'
console.log(upperName); // => ROBB
```
https://replit.com/@hexlet/js-basics-properties-methods
Expand All @@ -22,11 +22,11 @@ theory: |
// Округление до одного знака после запятой
const roundedTemperature = temperature.toFixed(1);
// Метод возвращает строку, которая содержит преобразованное число
console.log(roundedTemperature); // => '22.9'
console.log(roundedTemperature); // => 22.9
// Напрямую можно вызывать так
// Скобки нужны обязательно, иначе не заработает
(22.93).toFixed(1); // '22.9'
(22.93).toFixed(1); // 22.9
```
*Хозяйке на заметку. Технически всё несколько сложнее. Методы есть не у самих чисел, а у данных (объектов) типа Number. Числа, записанные в переменные или константы, автоматически преобразуются к данному типу во время обращения к ним, в это время происходит так называемый boxing.*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ theory: |
```javascript
const peopleCount = 5;
peopleCount.toString(); // '5'
peopleCount.toString(); // 5
```
Попробуйте ответить на вопрос, заработает ли следующий код — и если да, то что он напечатает на экран?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ theory: |
}
// Вызов функции
showGreeting(); // => "Hello, Hexlet!"
showGreeting(); // => Hello, Hexlet!
```
https://replit.com/@hexlet/js-basics-functions-define
Expand Down Expand Up @@ -73,7 +73,7 @@ instructions: |
Реализуйте функцию с именем `printMotto()`, которая выведет на экран фразу *Winter is coming*.
```javascript
printMotto(); // => "Winter is coming"
printMotto(); // => Winter is coming
```
В задачах, в которых нужно реализовать функцию, эту функцию вызывать не нужно. Вызывать функцию будут автоматизированные тесты, которые проверяют её работоспособность. Пример с вызовом выше показан только для того, чтобы вы понимали, как ваша функция будет использоваться.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,12 +121,12 @@ instructions: |
```javascript
// Передаём текст напрямую
// Обрезаем текст, оставляя 2 символа
truncate('hexlet', 2); // 'he...'
truncate('hexlet', 2); // he...
// Через переменную
const text = 'it works!';
// Обрезаем текст, оставляя 4 символа
truncate(text, 4); // 'it w...'
truncate(text, 4); // it w...
```
Вам нужно самостоятельно реализовать функцию `truncate()`, в JavaScript такой функции не существует. Реализовать эту функцию можно различными способами, подскажем лишь один из них. Для решения этим способом вам понадобится взять подстроку из строки, переданной первым параметром в функцию. Используйте для этого метод [slice()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice). Подумайте, исходя из задания, с какого индекса и по какой вам надо извлечь подстроку?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ theory: |
const print = (text = 'nothing') => console.log(text);
print(); // "nothing"
print("Hexlet"); // "Hexlet"
print("Hexlet"); // Hexlet
```
Параметров со значениями по умолчанию может быть сколько угодно:
Expand Down Expand Up @@ -63,17 +63,17 @@ instructions: |
```javascript
// Кредитка передается внутрь как строка
getHiddenCard('1234567812345678', 2); // "**5678"
getHiddenCard('1234567812345678', 3); // "***5678"
getHiddenCard('1234567812345678'); // "****5678"
getHiddenCard('2034399002121100', 1); // "*1100"
getHiddenCard('1234567812345678', 2); // **5678
getHiddenCard('1234567812345678', 3); // ***5678
getHiddenCard('1234567812345678'); // ****5678
getHiddenCard('2034399002121100', 1); // *1100
```
Для выполнения задания вам понадобится метод строки `repeat()`, который повторяет строку указанное количество раз
```javascript
'+'.repeat(5); // "+++++"
'o'.repeat(3); // "ooo"
'+'.repeat(5); // +++++
'o'.repeat(3); // ooo
```
tips:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,19 +47,19 @@ instructions: |
```javascript
const name = 'arya';
console.log(capitalize(name)); // => "Arya"
console.log(capitalize(name)); // => Arya
```
Чтобы получить подстроку (или символ) из строки, используйте метод [slice()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice):
```javascript
'welcome'.slice(2, 5); // "lco"
'welcome'.slice(2, 5); // lco
```
Для приведения строки к верхнему регистру используйте метод [toUpperCase()](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase)
```javascript
'welcome'.toUpperCase(); // "WELCOME"
'welcome'.toUpperCase(); // WELCOME
```
tips:
Expand Down
2 changes: 1 addition & 1 deletion modules/45-logic/28-logical-negation/description.ru.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ instructions: |
Для определения палиндрома необходимо перевернуть строку и сравнить ее с исходной. Для этого воспользуйтесь функцией `reverse()`
```javascript
reverse('мама'); // 'амам'
reverse('мама'); // амам
```
2. Функция `isNotPalindrome()` проверяет что слово НЕ является палиндромом:
Expand Down
4 changes: 2 additions & 2 deletions modules/48-conditionals/30-if/description.ru.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ instructions: |
Реализуйте функцию `guessNumber()`, которая принимает число и проверяет, равно ли число заданному (пусть это будет 42). Если равно, то функция должна вернуть строку `'You win!'`, в противном случае нужно вернуть строку `'Try again!'`.
```javascript
guessNumber(42) // 'You win!'
guessNumber(61) // 'Try again!'
guessNumber(42) // You win!
guessNumber(61) // Try again!
```
tips:
Expand Down
20 changes: 10 additions & 10 deletions modules/48-conditionals/50-else-if/description.ru.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ theory: |
return `Sentence is ${sentenceType}`;
};
getTypeOfSentence('Who?'); // 'Sentence is question'
getTypeOfSentence('No'); // 'Sentence is normal'
getTypeOfSentence('No!'); // 'Sentence is exclamation'
getTypeOfSentence('Who?'); // Sentence is question
getTypeOfSentence('No'); // Sentence is normal
getTypeOfSentence('No!'); // Sentence is exclamation
```
https://replit.com/@hexlet/js-basics-conditionals
Expand Down Expand Up @@ -53,9 +53,9 @@ theory: |
return `Sentence is ${sentenceType}`;
};
getTypeOfSentence('Who?'); // 'Sentence is question'
getTypeOfSentence('No'); // 'Sentence is normal'
getTypeOfSentence('No!'); // 'Sentence is exclamation'
getTypeOfSentence('Who?'); // Sentence is question
getTypeOfSentence('No'); // Sentence is normal
getTypeOfSentence('No!'); // Sentence is exclamation
```
Теперь все условия выстроены в единую конструкцию. `else if` — это «если не выполнено предыдущее условие, но выполнено текущее». Получается такая схема:
Expand All @@ -81,10 +81,10 @@ instructions: |
Примеры вызова:
```javascript
whoIsThisHouseToStarks('Karstark'); // 'friend'
whoIsThisHouseToStarks('Frey'); // 'enemy'
whoIsThisHouseToStarks('Joar'); // 'neutral'
whoIsThisHouseToStarks('Ivanov'); // 'neutral'
whoIsThisHouseToStarks('Karstark'); // friend
whoIsThisHouseToStarks('Frey'); // enemy
whoIsThisHouseToStarks('Joar'); // neutral
whoIsThisHouseToStarks('Ivanov'); // neutral
```
tips:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,8 @@ instructions: |
Примеры вызова:
```javascript
convertText('Hello'); // 'Hello'
convertText('hello'); // 'olleh'
convertText('Hello'); // Hello
convertText('hello'); // olleh
// Не забудьте учесть пустую строку
convertText(''); // ''
Expand All @@ -93,7 +93,7 @@ instructions: |
```javascript
const result = reverse('Hello!');
console.log(result); // => '!olleH'
console.log(result); // => !olleH
```
Есть разные подходы к решению этой задачи. Возможно, вам пригодится метод [toUpperCase()](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase) и возможность получения символа из строки (например, `str[0]`).
Expand Down
6 changes: 3 additions & 3 deletions modules/48-conditionals/65-switch/description.ru.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,9 +109,9 @@ instructions: |
getNumberExplanation(8); // null
// Объяснения есть только для указанных ниже чисел
getNumberExplanation(666); // 'devil number'
getNumberExplanation(42); // 'answer for everything'
getNumberExplanation(7); // 'prime number'
getNumberExplanation(666); // devil number
getNumberExplanation(42); // answer for everything
getNumberExplanation(7); // prime number
```
tips:
Expand Down
8 changes: 4 additions & 4 deletions modules/50-loops/23-aggregation-strings/description.ru.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ theory: |
Представьте себе функцию, которая умеет «умножать» строку, то есть она повторяет её указанное количество раз:
```javascript
repeat('hexlet', 3); // 'hexlethexlethexlet'
repeat('hexlet', 3); // hexlethexlethexlet
```
Принцип работы этой функции довольно простой: в цикле происходит «наращивание» строки указанное количество раз:
Expand Down Expand Up @@ -46,9 +46,9 @@ instructions: |
Реализуйте функцию `joinNumbersFromRange()`, которая объединяет все числа из диапазона в строку:
```javascript
joinNumbersFromRange(1, 1); // '1'
joinNumbersFromRange(2, 3); // '23'
joinNumbersFromRange(5, 10); // '5678910'
joinNumbersFromRange(1, 1); // 1
joinNumbersFromRange(2, 3); // 23
joinNumbersFromRange(5, 10); // 5678910
```
tips:
Expand Down

0 comments on commit b83fd6a

Please sign in to comment.