Базовый JavaScript. ч.5. Работа со строками.
Предыдущие части:
2. Назначение переменных (var,let,const)
4. Операции с числами при помощи различных выражений.
Строки в JavaScript – это ещё один тип данных (тут). Чтобы назначить строку, нужно выделить написанное кавычками.
Примеры:
const q = ‘Alan go’; // переменная q станет строкой Alan go
let a = “What do you?’;// переменная a станет строкой What do you
Но порой необходимо выделять цитаты, как в книгах, и тут уже возникают вопрос: а как это сделать? Ведь кавычки – это непосредственно выделение строки.
На помощь идёт «косая черта», а именно \
Пример:
const z = ‘Oliver said, \“Peter sick \”.’; // на консоли будет результат: Oliver said, “Peter sick”.
const w = ‘Ann go \’Nina go\’ Pit go \‘Ket go\’.’; // ответ будет Ann go ’Nina go’ Pit go ‘Ket go’. Т.е. тут двойная цитата в одной строчке.
Иногда всё же необходимо добавить ‘ сверху, особенно в английских выражениях. Тогда снова необходимо разделение при помощи \
Пример:
const s = ‘Oliver said, “Hey, let\’s go!” ‘; // ответ будет Oliver said, “Hey, let’s go!”
const x = “Oliver said, ‘Hey, let\”s go!’ “; // ответ будет Oliver said, ‘Hey, let”s go!‘, заметили разницу? Именно кавычка. Так что двойные тоже можно так ставить, это роли не играет.
const e = ‘No!\\Yes!’; // ответ будет No!\Yes!, т.к. тут одна косая черта экранирует другую для написания.
Чаще всего такое цитирование необходимо для вставки ссылок, при этом происходит соединение двух кодов – HTML и JS при помощи -данный оператор уже является оператором HTML
Иногда к \ добавляются некоторые буквы, чтобы можно было писать код в одну строчку, но при этом он делился. \n – это новая строка, а \t – табуляция.
Примеры:
const d = ‘Apple! \n Green’;
console.log (d)
Apple
Green // именно так выведется это на экран
const с = ‘Apple! \t\n Green’;
console.log (с)
Apple
_____Green // именно так выведется это на экран. Заметьте, что Green уехало вперёд, это из-за прописанного перед новой строкой табуляции \t. Т.к. сайт тут не поддерживает такое, пришлось делать "табуляцию" видимой при помощи _.
\r практически не используется, но встречается. Называется эта операция - возврат каретки-создания управляющего символа или механизма для возврата к началу строки позицию устройства. Иногда встречается в Windows, но в сочетании с \n. Однако, система понимает и просто строку, так что \r\n сочетание достаточно редкое и устаревшее.
\b, \f, \v – также выбывшие из обихода языка части. Раньше они обозначали пробел, форму и вертикальную табуляцию. Ныне всё упрощено, но в старых версиях кода могут встречаться.
Пример «сложной» строки:
const r = ‘One\n\Two\n\t\\Three’;
console.log (r)
One
Two
_____Three // вот так всё выведется на экран. Т.к. сайт тут не поддерживает такое, пришлось делать "табуляцию" видимой при помощи _.
Как и числа, строки можно соединять между собой при помощи оператора +.
Пример:
const f = ‘First Line ’ + ‘Second Line’; // ответ будет First Line Second Line. Ещё отмечу один момент, если хотите, чтобы появился пробел, необходимо и его забрать в кавычках, как сделано это в части строки ‘First Line ’.
И как же с числами, строки можно прибавлять при помощи +=.
Пример:
let v = “I am ready! ”;
v += “Now!”; // ответ будет I am ready! Now! Заметьте, что пробел снова вписан в строку “I am ready! ”
Из-за этого, некоторые программисты любят создавать свои стили, в которых потом приходится разбираться. Порой, не сразу понимаешь, что засунули предыдущие кодеры в тип данных.
Пример:
const t = ‘Boris’;
const g = ‘My name is ’ + t + “ and I well”; // ответ будет My name is Boris and I well. Почему? Строки соединились со значением переменной.
Пример создания строкового литерала:
const b = ‘One, Two’;
let y = ‘Zero, ’;
y += b; // ответ будет: Zero, One, Two – так как к переменной у была прибавлена переменная b.
Функция.length позволяет увидеть кол-во символов, которые используются в строке.
Примеры:
console.log (‘Dima Pavel’.length); // Dima – 4 символа, Pavel – 5 символов, и пробел – 1 символ. При выполнении этой функции ответ будет 10 в сумме (4+5+1)
let h = 0;
const n = ‘Criminal’;
h = n.length; // ответ будет h = 8, т.к. criminal – это 8 символов.