Регулярные выражения

Lesson 4, Advanced JS, Shashkov/Bonarchuk

by shurikation

JavaScript

/* //Лайфхак - создание словарика для того, чтобы создать новый класс в зависимости от входящих данных,условий, и чо надо в данный момент
//...
class ProductItem {
}
//...
class CartItem {
//...
//Создание словарика:
const list = {
  ProductList: ProductItem,
  Cart: CartItem
}
}

//В зависимости от того ProductItem или CartItem, то будет вызываться метод создания в базовом классе Item, который принимает ProductItem или CartItem в качестве аргумента list - будет создан или новый ProductItem или CartItem. Мы сслаемся на словарик в базовом классе, который создали в дочернем классе, например.

class Item {
constructor(img, url, list)
//...

render() {
//...
const productObj = new this.list[this.constructor.name]();
}
} */


//Еще один вариант румной работы с событиями, когда мы вешаем обработчик не на каждую кнопку, а на родительский блок, а уже условием проверяем куда прошел клилк. И если событие прошло не по кнопке - то ничего не произойдет. (см. Тарасов - Умная работа с событиями)
/* document.querySelector(this.container).addEventListener('click', e => {
if (e.target.classList.contains('buy-btn')) {
    this.cart.addProduct(e.target);
}
})
 */ 
 
 //В Реакте, Вью - в основном функциональное программирование - создание и описывание функциями - используется, а не ООП
 
 
 //**************************УРОК 4*****************************************************//
 //********************РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ*********************************************//
 //Используютмя для валидации текста, формы и так далее
 
 //Два способа:
 //1. new RegExp
 //let regexp = new RegExp('выражание/шаблон', 'флаги'); Удобно ибо можно передвать в выражения любые строки типа ${text} и они будут нормально работать. Вроде
 
 //2. Литаральная нотация
 //let regExp = /'регулряное выражение'/'флаги'
 
let str = 'Язык JavaScript называется так из-за популярности языка Java';
let regExp = new RegExp('java'); 

console.log(regExp); // /java/ 


//**** String - Методы ****
search(); //поиск по...