es
Feedback
CodeRoll | Frontend

CodeRoll | Frontend

Ir al canal en Telegram

OZ — Лучшее для разработчика и дизайнера / IT инструменты, курсы и книги — Веб-разработка на JS, HTML, CSS, React, Vue,Angular Купить рекламу: https://telega.in/c/coderoll Чат: https://t.me/coderoll_chat По всем вопросам пишите сюда - @yankovsky_ads

Mostrar más
4 234
Suscriptores
Sin datos24 horas
-77 días
-5230 días
Archivo de publicaciones
Пояснение к ответу Когда в массив добавляется значение, которое выходит за пределы длины массива, JavaScript создает "пустые ячейки". На самом деле они имеют значение undefined, но в консоль выводятся как [1, 2, 3, 7 x empty, 11] (зависит от среды выполнения кода, от браузера).

Что будет в консоли ?
Anonymous voting


const numbers = [1, 2, 3]
numbers[10] = 11
console.log(numbers)

Пояснение к ответу Функция sayHi возвращает значение немедленно вызываемого функционального выражения (Immediately Invoked Function Expression, IIFE). Результатом является число 0 типа number. Для информации: в JavaScript имеется 8 встроенных типов данных: string, number, bigint, boolean, null, undefined, object и symbol. function не является отдельным типом, функции - это объекты.

Что будет в консоли ?
Anonymous voting


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

console.log(typeof sayHi())

Руководство по Next.js. 2/3 Представляю вашему вниманию вторую часть обновленного руководства по Next.js. На мой взгляд, Next
Руководство по Next.js. 2/3 Представляю вашему вниманию вторую часть обновленного руководства по Next.js. На мой взгляд, Next.js — это лучший на сегодняшний день инструмент для разработки веб-приложений. Предполагается, что вы хорошо знаете JavaScript и React, а также хотя бы поверхностно знакомы с Node.js. Обратите внимание: руководство актуально для Next.js версии 14. При подготовке руководства я опирался в основном на официальную документацию, но в "отсебятине" мог и приврать (или просто очепятаться) 😁 Ссылка #статьи

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

Что будет в консоли ?
Anonymous voting


const person = { name: "John" }

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

sayHi.call(person, 30)
sayHi.bind(person, 30)

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

Что будет в консоли ?
Anonymous voting


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

bar()
foo()
baz()

Руководство по Next.js. Представляю вашему вниманию первую часть обновленного руководства по Next.js. На мой взгляд, Next.js
Руководство по Next.js. Представляю вашему вниманию первую часть обновленного руководства по Next.js. На мой взгляд, Next.js — это лучший на сегодняшний день инструмент для разработки веб-приложений. Предполагается, что вы хорошо знаете JavaScript и React, а также хотя бы поверхностно знакомы с Node.js. Обратите внимание: руководство актуально для Next.js версии 14. При подготовке руководства я опирался в основном на официальную документацию, но в "отсебятине" мог и приврать (или просто очепятаться) 😁 Ссылка #статьи

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

Что будет в консоли ?
Anonymous voting


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

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

console.log(a[b])

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

Что будет в консоли ?
Anonymous voting


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

const name = "John"

console.log(name.giveMePizza())