Регулярные выражения
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(); //поиск по...