Каким будет результат?
Anonymous Quiz
17%
[0, 10], [10, 20]
13%
20, 20
60%
10, 20
10%
0, 10 and 10, 20
Объяснения к задаче выше
Обычные функции не могут быть остановлены на полпути после вызова. Однако функцию генератор можно "остановить" на полпути, а затем продолжить с того места, где она остановилась. Каждый раз, когда в функции-генераторе встречает ключевое слово yield, функция возвращает значение, указанное после него. Обратите внимание, что функция генератора в этом случае не return значение, оно yields значение.
Сначала мы инициализируем функцию генератор с i, равным 10. Мы вызываем функцию генератор, используя метод next (). Когда мы в первый раз вызываем функцию генератора, i равно 10. Он встречает первое ключевое слово yield, получая значение i. Генератор теперь "приостановлен", и 10 выводится в консоль.
Затем мы снова вызываем функцию с помощью метода next (). Она запускается с того места, где остановилась ранее, все еще с i, равным 10. Теперь он встречает следующее ключевое слово yield и возвращает i 2. i равно 10, поэтому он возвращает 10 2, то есть 20. Это приводит к 10, 20.
Обычные функции не могут быть остановлены на полпути после вызова. Однако функцию генератор можно "остановить" на полпути, а затем продолжить с того места, где она остановилась. Каждый раз, когда в функции-генераторе встречает ключевое слово yield, функция возвращает значение, указанное после него. Обратите внимание, что функция генератора в этом случае не return значение, оно yields значение.
Сначала мы инициализируем функцию генератор с i, равным 10. Мы вызываем функцию генератор, используя метод next (). Когда мы в первый раз вызываем функцию генератора, i равно 10. Он встречает первое ключевое слово yield, получая значение i. Генератор теперь "приостановлен", и 10 выводится в консоль.
Затем мы снова вызываем функцию с помощью метода next (). Она запускается с того места, где остановилась ранее, все еще с i, равным 10. Теперь он встречает следующее ключевое слово yield и возвращает i 2. i равно 10, поэтому он возвращает 10 2, то есть 20. Это приводит к 10, 20.
Окей, я джуниор, как начать управлять?
Когда я только пришел в мир IT, для меня, как и, наверняка, для вас, было много чего непонятного и неизученного. Это было мостиком моей мотивации, удерживающим меня в этой индустрии, но по мере того как ты завязываешь в узелок все свои накопленные знания, появляется уверенность в кое-какой стабильности, а следовательно — новый вопрос.
Cсылка
#статьи
Когда я только пришел в мир IT, для меня, как и, наверняка, для вас, было много чего непонятного и неизученного. Это было мостиком моей мотивации, удерживающим меня в этой индустрии, но по мере того как ты завязываешь в узелок все свои накопленные знания, появляется уверенность в кое-какой стабильности, а следовательно — новый вопрос.
Cсылка
#статьи
Причины говнокода во фронтенде.
Как известно, изначальной задачей JavaScript было обеспечение интерактивности на HTML-странице, и предназначался язык, в первую очередь, для верстальщиков и дизайнеров, а для программистов предлагалось использовать интегрируемые в страницу Java-апплеты. И, несмотря на сходство в названии с Java, общего у JS с нею было только оно да C-подобный синтаксис. Под капотом же JavaScript был значительно вдохновлен языком Scheme, но именно этому странному языку, написанному в кратчайшие сроки, суждено было стать одним из самых популярных на планете, и решать задачи, для которых он никогда не проектировался.
Ссылка
#статьи
Как известно, изначальной задачей JavaScript было обеспечение интерактивности на HTML-странице, и предназначался язык, в первую очередь, для верстальщиков и дизайнеров, а для программистов предлагалось использовать интегрируемые в страницу Java-апплеты. И, несмотря на сходство в названии с Java, общего у JS с нею было только оно да C-подобный синтаксис. Под капотом же JavaScript был значительно вдохновлен языком Scheme, но именно этому странному языку, написанному в кратчайшие сроки, суждено было стать одним из самых популярных на планете, и решать задачи, для которых он никогда не проектировался.
Ссылка
#статьи
const firstPromise = new Promise((res, rej) => {
setTimeout(res, 500, 'один');
});
const secondPromise = new Promise((res, rej) => {
setTimeout(res, 100, 'два');
});
Promise.race([firstPromise, secondPromise]).then(res => console.log(res));
Бинарный поиск
Бинарный поиск гораздо более эффективный в сравнении с линейным поиском.
Бинарный поиск основан на идее деления данных на половины и последующем поиске в одной из них с последующим делением.
Принцип бинарного поиска
Предположим, что в нашем отсортированном списке чисел от 1 до 100 мы будем искать число 87.
Ссылка
#js
Бинарный поиск гораздо более эффективный в сравнении с линейным поиском.
Бинарный поиск основан на идее деления данных на половины и последующем поиске в одной из них с последующим делением.
Принцип бинарного поиска
Предположим, что в нашем отсортированном списке чисел от 1 до 100 мы будем искать число 87.
Ссылка
#js
JavaScript повсюду или почему веб-технологии захватили мир
Я давно слежу за развитием веб-технологий и каждый раз, натыкаясь на очередной холивар в интернете про злой и страшный JavaScript, залезающий на чужую территорию, инстинктивно хочу побыть его адвокатом. Обычно все мои доводы сводятся к банальному “не мы такие, жизнь такая” или “ничего личного, просто бизнес”, но в этот раз захотелось развернуто обосновать причины популярности веб-технологий.
Ссылка
#js
Я давно слежу за развитием веб-технологий и каждый раз, натыкаясь на очередной холивар в интернете про злой и страшный JavaScript, залезающий на чужую территорию, инстинктивно хочу побыть его адвокатом. Обычно все мои доводы сводятся к банальному “не мы такие, жизнь такая” или “ничего личного, просто бизнес”, но в этот раз захотелось развернуто обосновать причины популярности веб-технологий.
Ссылка
#js
[1, 2, 3].map(num => {
if (typeof num === 'number') return;
return num * 2;
});
Каким будет результат?
Anonymous Quiz
23%
[]
11%
[null, null, null]
53%
[undefined, undefined, undefined]
12%
[ 3 x empty ]
При использовании метода map, значение num равно элементу, над которым он в данный момент зацикливается. В этом случае элементы являются числами, поэтому условие оператора if typeof num === "number" возвращает true. Функция map создает новый массив и вставляет значения, возвращаемые функцией.
Однако мы не возвращаем значение. Когда мы не возвращаем значение из функции, функция возвращает значение undefined. Для каждого элемента в массиве вызывается функциональный блок, поэтому для каждого элемента мы возвращаем undefined.
Однако мы не возвращаем значение. Когда мы не возвращаем значение из функции, функция возвращает значение undefined. Для каждого элемента в массиве вызывается функциональный блок, поэтому для каждого элемента мы возвращаем undefined.
Почему не любят JavaScript?
Пока сообщество продолжает накрывать php могильной плитой, стоит обратить внимание на еще одного всеобщего любимчика. Mocha. LiveScript. JavaScript. Этот язык прошел довольно долгий путь, пережил много изменений и трудных поворотов, обошел конкурентов, таких как ActionScript и JScript, окреп и теперь активно пользуется большой частью сообщества.
В этом году самым популярным языком для коммерческого использования стал JavaScript — 19% разработчиков пишут на нем коммерческие проекты.
JS используется в Microsoft, PayPal, Netflix, Groupon, Uber, Facebook, Google.
Но почему JavaScript не любят?
Я постараюсь ответить на этот вопрос.
Ссылка
#js
Пока сообщество продолжает накрывать php могильной плитой, стоит обратить внимание на еще одного всеобщего любимчика. Mocha. LiveScript. JavaScript. Этот язык прошел довольно долгий путь, пережил много изменений и трудных поворотов, обошел конкурентов, таких как ActionScript и JScript, окреп и теперь активно пользуется большой частью сообщества.
В этом году самым популярным языком для коммерческого использования стал JavaScript — 19% разработчиков пишут на нем коммерческие проекты.
JS используется в Microsoft, PayPal, Netflix, Groupon, Uber, Facebook, Google.
Но почему JavaScript не любят?
Я постараюсь ответить на этот вопрос.
Ссылка
#js
Что такое состояние ?
В данной статье хотелось бы описать и раскрыть формальную сторону вопроса «что такое состояние» для лучшего понимания фундаментальных основ надёжности любого клиентского приложения. Хочется уже поставить точки в некоторых вопросах терминологии, чтобы чётче отвечать на вопросы «что, когда и зачем брать» при выборе библиотек и технологий для клиентского веб-приложения.
Ссылка
#статьи
В данной статье хотелось бы описать и раскрыть формальную сторону вопроса «что такое состояние» для лучшего понимания фундаментальных основ надёжности любого клиентского приложения. Хочется уже поставить точки в некоторых вопросах терминологии, чтобы чётче отвечать на вопросы «что, когда и зачем брать» при выборе библиотек и технологий для клиентского веб-приложения.
Ссылка
#статьи
function greeting() {
throw 'Hello world!';
}
function sayHi() {
try {
const data = greeting();
console.log('It worked!', data);
} catch (e) {
console.log('Oh no an error:', e);
}
}
sayHi();
Каким будет результат?
Anonymous Quiz
25%
It worked! Hello world!
12%
Oh no an error: undefined
15%
SyntaxError: can only throw Error objects
48%
Oh no an error: Hello world!
С помощью оператора throw мы можем создавать собственные ошибки. С этим оператором вы можете генерировать исключения. Исключением может быть строка, число, логическое значение или объект. В этом случае нашим исключением является строка 'Hello world'.
С помощью оператора catch мы можем указать, что делать, если в блоке try выдается исключение. Исключение: строка 'Hello world'. e теперь равно той строке, которую мы записываем. Это приводит к 'Oh no an error: Hello world'.
С помощью оператора catch мы можем указать, что делать, если в блоке try выдается исключение. Исключение: строка 'Hello world'. e теперь равно той строке, которую мы записываем. Это приводит к 'Oh no an error: Hello world'.
Архитектура и реактивное программирование
Что такое реактивное программирование? Не Rx. И даже не Excel. Это архитектурный паттерн, позволяющий абсолютно иначе писать код. В статье мы устаканим фундаментальные знания, утвердимся в том, что React.js всё же является реактивным, и подумаем о том, как и когда нужно, а когда не нужно применять паттерны реактивного программирования.
Ссылка
#статьи
Что такое реактивное программирование? Не Rx. И даже не Excel. Это архитектурный паттерн, позволяющий абсолютно иначе писать код. В статье мы устаканим фундаментальные знания, утвердимся в том, что React.js всё же является реактивным, и подумаем о том, как и когда нужно, а когда не нужно применять паттерны реактивного программирования.
Ссылка
#статьи
function Car() {
this.make = 'Lamborghini';
return { make: 'Maserati' };
}
const myCar = new Car();
console.log(myCar.make);
Каким будет результат?
Anonymous Quiz
28%
"Lamborghini"
53%
"Maserati"
15%
ReferenceError
4%
TypeError