Строки, как мы знаем, это тип данных JavaScript. Мы используем их для хранения данных, которые могут быть представлены в текстовой форме. Эти данные могут быть любой последовательностью символов.
Например, имя пользователя нового пользователя в Twitter Can (& следует) завернуть внутри строку.
Для вас очень важен для вас, как разработчик JavaScript, чтобы понять, какие строки есть, и как их манипулировать им, потому что строки просто повсюду, в массивах, объектах, функциях, классах.
Это один из типов данных, которые вы всегда будете использовать.
Как мы используем строки
Я собираюсь использовать Crud (Create, Read/Access, Update, Delete), чтобы проанализировать это.
Создание струн
Строки в JavaScript могут быть созданы как строковые литералы (примитивы) или в виде строковых объектов.
Струнные литералы – это распространенный способ создания строк, это примитивный путь.
Струнные литералы созданы с использованием одиночных цитат ( ''
) или двойные кавычки ( ""
), или backticks ( ``
).
let username = 'john_doe';
Одноместные кавычки и двойные кавычки связаны, поэтому мы можем изменить пример выше для
let username = 'john_doe';
Это просто вопрос предпочтений, но также рекомендуется придерживаться одного во всех ваших строках. Так что не используйте отдельные цитаты для имени пользователя, а затем используйте двойные кавычки для фамилии. Просто придержи себя.
И если вы делаете палку с одним, скажем, одиночные кавычки, могут быть времена, когда ваш текст имеет одну цитату в нем. Возможно, вы пробовали это, но не собирается работать, потому что JavaScript запутается.
Вы не можете использовать ту же цитату, что и окружающая цитата внутри строки. Я
let error = 'john's wife'; // will return a syntax error
Есть два способа решения этого
- Избежать этого: вы можете использовать
\
(эварт-символ), чтобы избежать цитаты внутри строки. Мы используем его непосредственно перед внутренней цитатой I.E
let msg = 'john\'s wife'; // will return john's wife
- Используйте другую цитату: это значение по умолчанию для большинства формцателей JavaScript (например, красивее), они просто используют другую цитату в качестве окружающей цитаты, как это
let msg = "john's wife"; // will return john's wife
Шаблонные литералы
Мы используем Backticks, когда мы хотим добавить несколько выражений JavaScript в строку.
let age = `${currentYear - birthYear} years old`;
Мы называем выражение над шаблоном литерала. JavaScript преобразует значение оценки Currentyear - рождение
в строку.
Примите к сведению знак доллара и фигурные брекеты, так как он используется для обертывания экспрессии внутри буквального шаблона.
Без откровений, возраст просто будет $ {currentyear - рождение} лет
Отказ
Все вышеперечисленные примеры являются примитивы, они неизменяются, они не могут быть изменены, но их можно переназначить. Мы увидим больше об этом позже
Струнные объекты создаются с помощью Новый
Ключевое слово и Строка ()
объект.
let username = new String('john_doe'); // typeof username = object
Чтение/доступ к струнам
В JavaScript мы можем получить доступ к символу строки, используя
- .charat. (): метод, который занимает в качестве параметра, и возвращает символ в этом положении.
let username = 'john_doe'; username.charAt(1); // will return o (the first o)
По умолчанию строка выше представляет собой примитивные и примитивные строки не имеют никаких свойств или методов. Таким образом, JavaScript преобразует примитивную строку в строковый объект, и с этим мы можем использовать свойства и методы строковых объектов.
Как .charat. ()
Метод действительно работает?
Если вы console.log (новая строка ('john_doe'))))
, возвращаемый значение – это объект с ключами в виде номеров (на основе нуля, индекс). Каждый из этих ключей назначен значение из нашего имени пользователя (John_doe) соответственно не случайным образом.
Итак, мы можем воспроизвести Чарт ()
функция такая
function charAt(object, position) { return object[position]; // custom way of accessing special keys in objects } let username = new String('john_doe'); console.log(charAt(username, 1)); // returns o (the first o)
Это приведет нас к следующему под названием
- Обозначение кронштейна: мы видели это уже в
Чарат ()
функция. Это самый простой способ получить доступ к символу в строке.
let username = 'john_doe'; username[1]; // will return o
То, что мы видим JavaScript, давая нам здесь, является вторым элементом (элемент, символ) в строке, как в массивах, но какой JavaScript фактически возвращается, является свойство под названием 1. Вы помните наши строковые объекты?
Мы могли бы сказать Имя пользователя.1
Что распространено в объектах, но это вернет синтаксическую ошибку, поэтому обычный способ решения этого использует нотацию кронштейна. Вот пример
let newUser = { username: 'john_doe', proUser: true };
Допустим, я хочу получить доступ к Дреутер
, не зная имени недвижимости; это я доступа к этому массиву, будет зависеть от другой переменной, и что я понятия не имею о его ценности
let propertyName = 'proUser'; // pretend i never declared this
Как бы вы получили доступ к объекту с переменной, вы, безусловно, не будете использовать newuser.propertyname.
это просто будет неопределенный
. Решение – это нотация кронштейна
newUser[propertyName]; // as simple as ABC
Петли строку Мы можем зацикливаться через строку для доступа к своим символам.
let username = 'john_doe'; for (let i = 0; i < username.length; i++) { console.log(username[i]); }
Мы можем использовать петлю для/в цикле, потому что помните, что это объект за капюшоном.
Совет: username.length
это свойство для проверки количества символов в строке.
Обновление строк
Строки не могут быть обновлены, но мы можем их переназначить.
let username = 'john_doe'; username.replace('j', 'h'); console.log(username); // john_doe
Но
let username = 'john_doe'; username = username.replace('j', 'h'); console.log(username); // hohn_doe
Совет: .заменять ()
это метод, который заменяет первый матч символа или символов в строке. Первый параметр обычно заменяется на второй.
Удаление строк
Строки не могут быть мутированы, что означает, что вы не можете полностью удалить объявленную и назначенную строку. Вы можете переназначить его значение undefined или NULL, но обычно не рекомендуется.
Поверьте мне, вам вряд ли нужно полностью удалить строку, в большинстве случаев, когда вы хотите удалить строку, находится в массиве или объекте, который возможен.
Это говорит, вы можете удалить тексты или части строки из строки. Но мы увидим это дальше.
Строковые методы
Строки JavaScript имеют много методов, которые мы можем использовать для манипулирования строками. Давайте посмотрим, как вы часто используете
.charat. ()
Мы видели это раньше. Возвращает персонаж в указанном положении
.заменять ()
Опять же, мы видели это раньше. Мы используем это, чтобы заменить символ или символы новыми. Давайте увидеть еще один пример
let msg = 'I will see Drake tomorrow'; msg = msg.replace('Drake', 'Kevin Hart'); console.log(msg); // I will see Kevin Hart tomorrow
.индекс чего-либо ()
Это вернет позицию первого найденного возникновения указанного значения в строке.
let msg = 'john_doe'; console.log(msg.indexOf('o')); // 1
Этот метод вернет -1, если это значение или символ не найден.
.lastindexof. ()
Так же, как indexof ()
Единственное отличие состоит в том, что это вернет последний. Так что это определенно собирается пройти все персонажи в этой строке. (Это так стресс)
let msg = 'john_doe'; console.log(msg.lastIndexOf('o')); // 6
Если персонаж не найден, он возвращает -1.
.substr (), .substring () и .slice ()
Все они делают ту же работу; вырезать часть строки, но по-разному
.slice ()
: принимает два параметра; Начать и конец. Ломтики строки из указанного пускового положения (включительно) в указанное конечное положение (не включено). Возвращает нарезанную строку
let msg = 'I will see Drake tomorrow'; console.log(msg.slice(11, 16)); // Drake
ломтик ()
Метод поддерживает отрицательные значения в качестве параметров. Это заставит его начать подсчитывать с конца.
let msg = 'I will see Drake tomorrow'; console.log(msg.slice(-14, -9)); // Drake
.субринг ()
: принимает два параметра, начать и конец. Ломтики строки из указанного пускового положения (включительно) в указанное конечное положение (не включено). Это возвращает нарезанную строку.
let msg = 'I will see Drake tomorrow'; console.log(msg.substring(11, 16)); // Drake
Как вы можете видеть, это сестра-близнеца ломтик ()
Отказ Есть разница, однако, Подстрока ()
не поддерживает отрицательные значения.
Substr ()
: принимает два параметра, начать и длину. Ломтики строки из указанного пускового положения (включительно) на количество символов, которые вы хотите нарезать (начиная с начальной позиции).
Теперь нарезка Дрейка динамически будет намного проще
let username = 'Drake'; let msg = 'I will see Drake tomorrow'; console.log(msg.substr(msg.indexOf(username), username.length)); // Drake
Это также поддерживает отрицательные значения.
.split () && .tim ()
Мы используем Сплит ()
Способ разделить строку в массив. Требуется строка в качестве параметра для разделения строки.
Так что если бы у нас был список фруктов как строка, мы можем разделить его в массив, как это
let listOfFruits = 'Banana, Apple, Orange' let fruitsArr = listOfFruits.split(',') // ['Banana', ' Apple', ' Orange']
Чтобы избавиться от этих пробелов или любых других пробелов в строке, мы используем Отделка ()
метод. Итак, давайте рефакторируем код выше
fruitsArr = fruitsArr.map((fruit) => { return fruit.trim(); }) console.log(fruitsArr) // ['Banana', 'Apple', 'Orange']
.touppercase () && .tolowercase ()
JavaScript предлагает метод преобразования строки в верхний регистр или в нижний регистр, используя .touppercase ()
и .Ольтерсс ()
соответственно.
let username = 'john_doe' console.log(username.substr(0,1).toUpperCase()+username.substr(1)) // John_doe
.нанизывать ()
Этот метод используется для преобразования в строку. Мы можем преобразовать номер, например, в строку, используя этот метод
let age = 30; age = age.toString() console.log(typeof age) // string
Есть больше методов в javaScript Strings, которые очень распространены, как .соответствовать (), .earch ()
Но это, надеюсь, будет темой еще на другой день. Но в то же время вы можете проверить их на MDN.
Заключение
Строки очень важные, это то, что вы всегда будете использовать на любом языке вообще. Знание того, как это работает, поможет вам сэкономить много времени во время кодирования.
Хорошо, вот это на сегодня. Оставьте комментарий для меня, если вы хотите «Холла» или исправить что-то. Вы можете следовать за мной в Twitter @elijahtrillionz. . Я ежедневно чиривет полезный контент для вас. До встречи!
Оригинал: “https://dev.to/elijahtrillionz/javascript-strings-are-too-vital-20i2”