Javascript. Строки. Поиск в строке, регулярные выражения [Урок 9]
Как настроить отслеживание запросов из поисковой строки на сайте с помощью GTM и Java Script
Нам понадобится ВСЕГО ОДНА строчка кода. Но начнем с основ, чтобы вы смогли самостоятельно выполнить задачу вне зависимости от сайта. Нам поможет особое свойство, которое есть у полей ввода, — value. Допустим, на странице есть поле ввода input: <input type="text"> Откроем консоль разработчика. Сделать это можно нажав на поле ввода правой кнопкой мыши и нажать “показать код”. Далее открывается консоль разработчика. Находим в коде элемент сайта. Самое сложное остается с помощью команды document.querySelector() обратиться к поисковой строке...
🖥 JavaScript — проверка на строковый тип 🟡Если вы разрабатывали на Java, то вы, наверное, привыкли проверять тип переменной на строку через instanceof. В JavaScript это не совсем так работает, так как в JS есть примитивный тип строка и класс строка. 🟡Примитивный тип строки создаётся, когда какой-либо переменной присваивается строковый литерал: let var1 = "Vasya"; let var2 = 'Oksana'; Класс строки создаётся, когда используется конструктор new String: let var1 = new String("I am an object"); 🟡String можно использовать не только как конструктор, но и как функцию, тогда будет создан строковый примитив, правда особого смысла в этом нет: let var1 = String("I am a primitive"); Класс строка и примитивный тип строка — это всё разные вещи. 🟡Проверить, что переменная содержит значение примитивного типа строки можно через typeof: let var1 = "Vasya"; // можно так: let var1 = String("Vasya"); alert(typeof var1 === 'string'); // можно typeof вызвать как функцию alert(typeof(var1) === 'string'); 🟡Проверить, что переменная ссылается на объект строки можно с помощью instanceof: const var1 = new String("Vasya"); alert(var1 instanceof String); 🟡Суммируя всё, что описано выше, проверять на строковый тип нужно так: const house = 'Дом'; const oksana = "Оксана"; const petya = new String('Петя'); const sum = 100.0; console.log(checkIsString(house)); // true console.log(checkIsString(oksana)); // true console.log(checkIsString(petya)); // true console.log(checkIsString(sum)); // false function checkIsString(var1) { return typeof var1 === 'string' || var1 instanceof String; } 📎 Подробнее @javascript_react