В теории null = пусто (нет данных), undefined = переменная определена, но данных не определены (т.е. тоже самое что null, по идее), но как это наложить на практику в JS, не понятно.
// пример использования null
let data = null;
button.click(loadData(result => {
data = result .data;
}));
// еще пример с null
function getSmth(type = null) {
if (type === null) { // если null, то вернуть все
return data.types;
}
// если не null, то фильтруем по значению
return data.types.filter(t => t.type === type)
}
// пример с undefined
const data = {
type: 8,
index: 15,
};
console.log(data.type); // 8
console.log(data.option); // undefined, потому что не объявлено, попробуй получить тут null без проверок...
arr1.slice(0, arr2.length - 1).forEach((name, id) => {
console.log(`name: ${name} val1: ${arr2[id]} val2: ${arr2[id + 1]}`);
});
try {
$(".asdasd").each();
}
catch(err) {
console.warn(err)
}
а можно все то же самое сделать, но только добавлять классы css к слайдам?
const extractNodesFrom = selector => {
[...document.querySelectorAll(selector)].forEach(inl => {
const parent = inl.parentNode;
[...inl.children].forEach(child => {
parent.appendChild(child);
});
parent.removeChild(inl);
});
};
extractNodesFrom(".inl");
const likeButtons = Array.from(document.querySelectorAll(".photos__like-icon"));
const likeCounts = Array.from(document.querySelectorAll(".photos__like-count"));
likeButtons.forEach((button, index) => {
button.addEventListener("click", () => {
button.classList.toggle("is-active");
const current = Number(likeCounts[index].innerHTML);
const inc = button.classList.contains("is-active") ? 1 : -1;
likeCounts[index].innerHTML = current + inc;
});
});
const Comp = () => {
const [ready, setReady] = useState(false);
const dispatch = useDispatch();
useEffect(() => {
if (ready === false) { // после отображения элемента будет вызвана функция, `ready` все еще будет `false`, поэтому выполнив свой код, надо вручную задать ей true, чтоб код не вызывался дважды.
dispatch({ type: 'increment-counter' });
setReady(true);
}
});
};
class b {
a = 123;
func = () => {
console.log(this.a)
}
}
function func(f) {
return f()
}
func(new b().func) // 123