CodeRoll | Frontend
4.89K subscribers
1.61K photos
73 videos
1 file
942 links
— Лучшее для разработчика и дизайнера / IT инструменты, курсы и книги
— Веб-разработка на JS, HTML, CSS, React, Vue,Angular

Купить рекламу: https://telega.in/c/coderoll

Чат: https://t.me/coderoll_chat

По всем вопросам пишите сюда - @yankovsky_ads
Download Telegram
В чем разница между движками и средами выполнения JavaScript?

Вы скорее всего слышали термины "движок JavaScript" и "среда выполнения JavaScript", которые используются, как взаимозаменяемые понятия, подразумевающие под собой "программу, которая выполняет JavaScript". Их часто смешивают, ссылаясь на V8, Node.js или некоторые другие комбинации схожих программ. Однако, существует значительная разница между движком и средой выполнения JavaScript с точки зрения их области применения и функциональности. Понимания этого различия является ключом к хорошему пониманию языка JavaScript в целом.

Ссылка

#статьи
April 26, 2024
April 27, 2024
April 27, 2024

for (let i = 1; i < 5; i++) {
if (i === 3) continue
console.log(i)
}
April 29, 2024
Что будет в консоли ?
Anonymous Quiz
9%
1 2
13%
1 2 3
73%
1 2 4
5%
1 3 4
April 29, 2024
Redux это бойлерплейт, а Mobx нет! Но есть нюанс

Я прочитал несколько статей и посмотрел другие доклады, где все как один говорят, что Mobx лучше, чем Redux. Возможно это и так, но почему в сравнение всегда идет Redux, а не Redux-Toolkit, я не понимаю. Попытаемся конструктивно посмотреть действительно ли Mobx настолько хорош как о нем говорят.

Ссылка

#статьи
April 29, 2024

String.prototype.giveMePizza = () => {
return "Give me pizza!"
}

const name = "John"

console.log(name.giveMePizza())
April 30, 2024
Что будет в консоли ?
Anonymous Quiz
74%
Give me pizza!
14%
ошибка
4%
""
8%
undefined
April 30, 2024
Пояснение к ответу

String - это встроенный конструктор, к которому можно добавлять новые свойства. Мы добавили метод giveMePizza к его прототипу. Строки-примитивы автоматически конвертируются (преобразуются) в строки-объекты (благодаря объектной обертке). Поэтому все строки (объекты) имеют доступ к указанному методу.
April 30, 2024

const a = {}
const b = { key: "b" }
const c = { key: "c" }

a[b] = 123
a[c] = 456

console.log(a[b])
May 1, 2024
Что будет в консоли ?
Anonymous Quiz
44%
123
25%
456
13%
undefined
18%
ошибка
May 1, 2024
Пояснение к ответу


Ключи объекта (кроме Symbol) автоматически преобразуются в строки (даже индексы в массиве). Мы пытаемся добавить объект в качестве ключа со значением 123 к объекту a. Однако, когда мы приводим объект к строке, он превращается в [object Object]. Таким образом, мы говорим, что a["object Object"] = 123. Затем мы повторяем процедуру. c - это другой объект, который мы также неявно приводим к строке. Поэтому a["object Object"] = 456. Наконец, когда мы выводим a[b] в консоль, мы на самом деле обращаемся к a["object Object"]. Поэтому в консоль выводится 456.
May 1, 2024
Руководство по Next.js.

Представляю вашему вниманию первую часть обновленного руководства по Next.js.


На мой взгляд, Next.js — это лучший на сегодняшний день инструмент для разработки веб-приложений.


Предполагается, что вы хорошо знаете JavaScript и React, а также хотя бы поверхностно знакомы с Node.js.


Обратите внимание: руководство актуально для Next.js версии 14.


При подготовке руководства я опирался в основном на официальную документацию, но в "отсебятине" мог и приврать (или просто очепятаться) 😁

Ссылка

#статьи
May 1, 2024

const foo = () => console.log("first")
const bar = () => setTimeout(() => console.log("second"))
const baz = () => console.log("third")

bar()
foo()
baz()
May 2, 2024
May 2, 2024
Пояснение к ответу

Сначала мы вызываем функцию setTimeout. Однако, ее колбек выполняется последним. Это происходит из-за того, что в браузерах у нас имеется не только движок для запуска (выполнения) кода, но и WebAPI. WebAPI предоставляет нам setTimeout и много других возможностей, например, DOM. После того, как setTimeout отправляется в WebAPI, функция bar удаляется из стека вызовов (call stack). После этого вызывается функция foo, и first выводится в консоль. foo удаляется из стека и вызывается функция baz. third выводится в консоль. WebAPI отправляет функцию обратного вызова setTimeout в очередь событий (task queue, второе слово читается как "кью"). Цикл событий (event loop) проверяет стек вызовов и очередь задач. Если стек оказывается пустым, то в него помещается первый элемент из очереди. Вызывается функция bar и в консоль выводится second.
May 2, 2024

const person = { name: "John" }

function sayHi(age) {
console.log(`${this.name} is ${age}`)
}

sayHi.call(person, 30)
sayHi.bind(person, 30)
May 3, 2024
Пояснение к ответу

В обоих случаях мы передаем объект, на который будет указывать this. Но метод call выполняется сразу, а метод bind возвращает копию функции с привязанным контекстом. Эту функцию следует вызывать отдельно или можно сделать так: sayHi.bind(person, 30)().
May 3, 2024
Руководство по Next.js. 2/3

Представляю вашему вниманию вторую часть обновленного руководства по Next.js.

На мой взгляд, Next.js — это лучший на сегодняшний день инструмент для разработки веб-приложений.


Предполагается, что вы хорошо знаете JavaScript и React, а также хотя бы поверхностно знакомы с Node.js.


Обратите внимание: руководство актуально для Next.js версии 14.


При подготовке руководства я опирался в основном на официальную документацию, но в "отсебятине" мог и приврать (или просто очепятаться) 😁

Ссылка

#статьи
May 3, 2024

function sayHi() {
return (() => 0)()
}

console.log(typeof sayHi())
May 4, 2024