итак я дочитала первую часть учебника
из чего же состоит джаваскрипт по впечатлениям оттуда
10% — типы данных, разные типы данных, символы, мапы, викмапы, массивы, объекты (про объекты будет чуть позже), число не отличить от строки, когда оно приходит с сервера, конст не работает, смиритесь с этим
50% — объекты. Давайте создавать объекты, давайте наследовать объекты, давайте объектам задавать прототипы, всё есть объект. Ни в коем случае не теряйте контекст
30% — функции. Функции могут создавать объекты, можно через функции устанавливать прототип для объектов (но это не совсем тот прототип, что передается через объекты), вот новый синтаксис для создания объектов через функции, не забудьте про конструктор, но есть ещё и обычные функции
10% — промисы, генераторы, ошибки, ивент луп, функциональное программирование
из чего же состоит джаваскрипт по впечатлениям оттуда
10% — типы данных, разные типы данных, символы, мапы, викмапы, массивы, объекты (про объекты будет чуть позже), число не отличить от строки, когда оно приходит с сервера, конст не работает, смиритесь с этим
50% — объекты. Давайте создавать объекты, давайте наследовать объекты, давайте объектам задавать прототипы, всё есть объект. Ни в коем случае не теряйте контекст
30% — функции. Функции могут создавать объекты, можно через функции устанавливать прототип для объектов (но это не совсем тот прототип, что передается через объекты), вот новый синтаксис для создания объектов через функции, не забудьте про конструктор, но есть ещё и обычные функции
10% — промисы, генераторы, ошибки, ивент луп, функциональное программирование
немного про гриды
есть свойства
но я уловила
есть свойства
justify-items, justify-content, align-items, align-content и они совершенно неразличимыно я уловила
justify — влияет на ряды и элементы внутри рядовalign — влияет на колонки и элементы внутри колонокitems — влияет на элементы внутри рядов или колонокcontent — влияет на расположение рядов/колонок внутри гридавсе возможные варианты:
auto
normal
start
end
center
stretch
baseline
first baseline
last baseline
главное, что стоит помнить про гриды:
- все их элементы по умолчанию имеют все выраванивания типа
- из-за какого-то внутреннего бага все элементы грида имеют странные настройки
у нас на работке есть миксин:
- все их элементы по умолчанию имеют все выраванивания типа
stretch и это часто бывает очень неудобно, так что можно сразу это сбрасывать- из-за какого-то внутреннего бага все элементы грида имеют странные настройки
min-width / min-height так что их тоже стоит сбрасыватьу нас на работке есть миксин:
display: grid;
* > {
min-width: 0;
min-height: 0;
}
Forwarded from Про
How to use nulish coalescing with destructuring
const {a} = (b.c?.d?.e || {})в субботу обнаружила, что путаю fifo и lifo
FIFO — first in, first out — это обычная очередьLIFO — last in, first out — это stack (пачка карт например)вторая часть учебника назвается «Браузер: документ, события, интерфейсы» и вообще не показалась мне интересной — либо всё то, что я уже знаю, либо информация, которую сложно использовать ирл
самая полезная статья — про ивенлуп, микротаски, макротаски, всё такое
https://learn.javascript.ru/event-loop
самая полезная статья — про ивенлуп, микротаски, макротаски, всё такое
https://learn.javascript.ru/event-loop
learn.javascript.ru
Событийный цикл: микрозадачи и макрозадачи
что такое макротаски и микротаски?
макротаск это
микротаск это промис
сначала выполняется макротаск, потом все микротаски в очереди, потом другой макротаск (если он есть)
то есть порядок выполнения этого кода
будет такой
макротаск это
setTimeoutмикротаск это промис
сначала выполняется макротаск, потом все микротаски в очереди, потом другой макротаск (если он есть)
то есть порядок выполнения этого кода
Promise.resolve().then(() => console.log('first'))
setTimeout(() => {
console.log('second')
}, 0)
console.log('third')будет такой
log: "third"
log: "first"
log: "second"
1. макротаск — запуск скрипта
2. синхронный код (
3. микротаск — промис(
4. следующий макротаск(
2. синхронный код (
third)3. микротаск — промис(
first)4. следующий макротаск(
second)вроде всё понятно
но что еще является макротасками и микротасками кроме промисов и
но что еще является макротасками и микротасками кроме промисов и
setTimeout?читайте дальше в этом канале после того как я посмотрю доклад Ивана Тулупа
https://habr.com/ru/company/oleg-bunin/blog/417461/?_ga=2.168408545.1795064703.1569303890-521919562.1565182091
https://habr.com/ru/company/oleg-bunin/blog/417461/?_ga=2.168408545.1795064703.1569303890-521919562.1565182091
Хабр
Иван Тулуп: асинхронщина в JS под капотом
А вы знакомы с Иваном Тулупом? Скорее всего да, просто вы еще не знаете, что это за человек, и что о состоянии его сердечно-сосудистой системы нужно очень заботи...
[JavaScript] напишите функцию, которая вернёт n-ное самое большое число
второй вариант (работает как надо):
largestN([2, 4, 1, 5, 3], 1) // 5
largestN([2, 4, 1, 5, 3], 2) // 4
largestN([1, 8, 3, 2], 4) // 1
сначала я написала:const largestN = arr => Math.max(...arr)а потом вчиталась в задачу — не самое большое число, а n-ное самое большое. то есть второе по большести или пятое по большести
второй вариант (работает как надо):
const largestN = (arr, index) => arr.sort((a, b) => -a - -b)[index - 1]
Я приостановила чтение учебника Кантора (прототипы в нем закончились, а остальное меня не интересует) и начала читать «Функциональное программирование на JavaScript» от Луиса Атенсио
и первое понятие, которое я не могу запомнить это лямбда-выражения (lambda expressions)
в джаваскрипте лямбда-выражением называется анонимная функция
самый распространённый пример это iife
второй по распространённости:
в джаваскрипте лямбда-выражением называется анонимная функция
самый распространённый пример это iife
второй по распространённости:
names.sort(function (a, b) {
if (a.name < b.name) {
return -1;
} else if (a.name > b.name) {
return 1;
} else {
return 0;
}
});и очень часто в джс, когда говорят о лямбдах еще упоминают стрелочные функции
но это разные вещи
но это разные вещи