JavaScript Strings
используются для хранения и управления текстом или последовательностью символов.
Есть два способа инициализировать строку в JS.
Это как числа и логические значения в JS. У них есть примитивные и объектные версии.
const string1 = "A string primitive"; // first way
const str = new String("A String object"); // second way
console.log(typeof(string1)) // output : String console.log(typeof(str)) // output : Object
Примитивы против. Непримитивы.
- В JavaScript числа, строки, значения NULL и логические значения называются примитивами.
- Массивы, функции и объекты называются непримитивами.
- Примитивы неизменяемы, а непримитивные - изменяемые.
Строка неизменна. Это означает, что вы не можете изменить определенную его часть. Вместо этого вам нужно изменить всю строку.
let name = "Anas" name[0] = “B” console.log(name) // output : Anas // no errors. it won't happen anything. ////// let name = "Anas" name = "Bnas" console.log(name) // output : Bnas
Массив изменчив. Это означает, что вы не можете изменить конкретную или любую его часть.
let arr = [0,5,3] arr[0] = 10 console.log(arr) // [10, 5, 3]
4. Мы можем сравнивать примитивы по их значению, но в непримитивных мы не можем этого сделать.
для примера
// Number let num1 = 10 let num2 = 20 console.log(num1 === num2) // output : true // String const x = "hi" const y = "hi" console.log(x === x) // output : true ----------- // Functions function test(){} function test2(){} console.log(test === test2) // output : False --------- // Objects var obj = { name : "anas" } var obj2 = { name: "anas" } console.log(obj === obj2) // output : False
Строка в javascript может быть заключена в одинарные или двойные кавычки.
let x = 'this is a string' // single qoute let y = "this is a string" // double qoute
нам нужно знать несколько вещей:
- одинарная кавычка не может содержать одинарную кавычку.
const myString1 = ' this is 'anas' '; // error var mystr = '<img src='myimage.png' />' // error -------------------------- const myString2 = 'this is "anas" ' // correct var mystr = '<img src="myimage.png" alt="test" />' // correct
2. двойные кавычки не могут содержать двойные кавычки.
const myString1 = " this is "anas" "; // error var mystr = "<img src="myimage.png" />" // error ------------------- const myString2 = "this is 'anas' " // correct var mystr = "<img src='myimage.png' />" // correct
3. Обратная косая черта игнорирует любые ошибки. это означает, что он может содержать что угодно, или, если строка включает переменные и одинарные или двойные кавычки, заключите ее в. `
Ex1: var myStr = ` it's me. my name is "Anas" ` // output : it's me. my name is "anas" Ex2: var name = "Anas" var myStr = `it's me. my name is ${name}` console.log(myStr) // output: it's me. my name is "Anas" Ex3: let myImage = `<img src="${myImage}" alt='test' width="500" height="600">` // it can contain single or double quotes with no errors.
Иногда ваша строка содержит специальные символы, чтобы этого избежать. Мы можем использовать escape-обозначение
var title = " test \"ok\" " // output : test "ok" var str = 'it\'s me ' // output : it's me \' single quote \" double quote \\ backslash quote \n newline
Дополнительные обозначения Escape вы найдете здесь.
Конкатенация
это процесс добавления одной строки в конец другой строки. Вы объединяете строки с помощью оператора + или функции Concat ().
var x = “Anas” + “Shahwan”; // output : Anasshahwan // no space var y= “Anas”+" "+“Shahwan”; // output : Anas shahwan // with space --------- var title = “Anas”; title += “Shahwan” // output : Anasshahwan --------- var middleName = “this is my middle name” var fullName = “Anas” + middleName + “ Shahwan” // output : Anas this is my middle name Shahwan ------------ var firstName= "Anas" var middleName = “this is my middle name” var LastName = “Shahwan” var fullName = firstName fullName += middleName fullName += lastName console.log(fullName) // output : Anas this is my middle name Shahwan
Concat () можно использовать вместо оператора плюс
let text1 = "Java"; let text2 = "Script"; let text3 = text1.concat(" ", text2); // " " means space console.log(text3) // Java Script
2. строковые функции
1. Длина
Это свойство, которое возвращает длину строки.
let name = "Anas" console.log(name.length) // 4
2. Извлекая части строки, у нас есть три функции
slice(start, end)
извлечь часть строки и вернуть извлеченную часть в новой строке.
Let name= “Anas Shahwan” str.slice(0,4) // Anas str.slice(5) // Shahwan str.slice(5,9) // Shah str.slice(-7) // Shahwan
2. substring(start, end)
похож на slice, но разница в том, что substring () не может принимать отрицательные индексы.
Let name= “Anas Shahwan” str.substring(0,4) // Anas str.substring(5) // Shahwan str.substring(5,9) // Shah
3. substr(start, length)
похож на slice()
. Разница в том, что второй параметр указывает длину извлеченной части. Если первый параметр отрицательный, позиция отсчитывается от конца строки.
Let name= “Anas Shahwan” str.substr(2) // as Shahwan // by default length will slice out the rest of the string str.substr(2,7) // as Shah
3. заменить ()
он заменяет указанное значение другим значением в строке.
let str = “Love JavaScript” let newStr = str.replace(“JavaScript”,”JS”); console.log(newStr) // Love JS
По умолчанию метод replace () чувствителен к регистру. Чтобы заменить нечувствительность к регистру, используйте регулярное выражение с флагом /i
var str = “Love JavaScript JavaScript” var newStr = str.replace(/JavaScript/i,”JS”); console.log(newStr) // Love JS JavaScript
Чтобы заменить все совпадения, используйте регулярное выражение на /g
var str = “Love JavaScript JavaScript” var newStr = str.replace(/JavaScript/g,”JS”); var all = str.replace(/JAVASCRipt/ig,”JS”); // RG combine i + g console.log(newStr) // Love JS JS
4. Преобразование в верхний регистр () и в нижний регистр ()
toLowerCase()
возвращает строку, преобразованную в нижний регистр.
var title = "JavaScript" console.log(title.toLowerCase()); // javascript
toUpperCase()
Возвращает строку, преобразованную в верхний регистр.
var title = "JavaScript" console.log(title.toUpperCase()); // JAVASCRIPT
5. включает (searchWord, позиция)
он определяет, существует ли строка в другой строке. Он возвращает true
, если искомая строка или слово найдено, или false
, если нет.
const myStr = 'I love javascript'; const myWord = "love"; const sentence = "Do you love JS?" console.log(myStr.includes("javascript")); // output: true console.log(myStr.includes(myWord)); // output: true console.log(sentence.includes("?")); // output: true
Это чувствительно к регистру. Слово должно совпадать.
const myStr = 'I love javascript'; console.log(myStr.includes("javaScript")); // output: false
position
По умолчанию 0. Но вы можете выбрать, по какому индексу начать поиск.
const myStr = 'I love javascript'; console.log(myStr.includes("javascript",8)); // output: false why?? becasue it starts from position number 8 'avascript' == 'javascript' --------- const myStr = 'I love javascript'; console.log(myStr.includes("javascript",7)); // output: true why?? becasue it starts from position number 7 'javascript' == 'javascript'
6. Удаление пробелов из строки
Метод trim()
удаляет пробелы с обеих сторон строки:
let text = " Love JS! "; text.trim(). // output: "Love JS!"
используйте trimStart()
. если вы хотите обрезать пробелы в начале строки,
let text = " Love JS! "; text.trimStart() // output: "Love JS! "
используйте trimEnd()
. если вы хотите обрезать пробелы в конце строки,
let text = " Love JS! ";
text.trimEnd
() // output: " Love JS!"
7. Извлечение строковых символов
Есть 3 метода извлечения строковых символов:
charAt(position)
он возвращает символ по указанному индексу (позиции) в строке:
let text = "JavaScript"; console.log(text.charAt(0)) return first letter // J console.log(text.charAt(text.length-1)) return last letter // t
2. charCodeAt(position)
он возвращает Unicode символа по указанному индексу в строке.
let text = "JavaScript" text.charCodeAt(0) // Returns 74
3. Property access[]
var name = "Anas" console.log(name[0]) // return first letter A console.log(name[name.length - 1]) // return last letter S
8. преобразование строки в массив
- строка может быть преобразована в массив с помощью метода
split()
var name = "Anas Sh" console.log(name.split("")) // ["A", "n", "a", "s", " ", "S", "h"] console.log(name.split(" ")) // ["Anas", "Sh"] var str = "I,Love,JavaScript" console.log(str.split(",")) // ["I", "Love", "JavaScript"]
2. Array.from(string)
var title = "JS" console.log(Array.from(title)) // ["J", "S"]
3. Object.assign([], string)
var title = "JS" console.log(Object.assign([], title)) // ["J", "S"]
Чтобы узнать больше о методах String, здесь.
Наконец, мы рассмотрели все, что касается струн.
Любые отзывы, пожалуйста, не стесняйтесь обращаться ко мне.
Спасибо за чтение.