Какое значение примет result?
Anonymous Quiz
7%
[95, 2009, 20009, 95]
11%
4
72%
[2009, 95, 95, 2009]
7%
false
3%
3
Что такое прототип объекта?
В двух словах, прототип — это план (схема или проект) объекта. Он используется как запасной вариант для свойств и методов, существующих в данном объекте. Это также один из способов обмена свойствами и функциональностью между объектами. Это основная концепция прототипного наследования в JS.
В двух словах, прототип — это план (схема или проект) объекта. Он используется как запасной вариант для свойств и методов, существующих в данном объекте. Это также один из способов обмена свойствами и функциональностью между объектами. Это основная концепция прототипного наследования в JS.
const o = {}
console.log(o.toString()) // [object Object]
Несмотря на то, что объект «о» не имеет свойства toString, обращение к этому свойству не вызывает ошибки. Если определенного свойства нет в объекте, его поиск осуществляется сначала в прототипе объекта, затем в прототипе прототипа объекта и так до тех пор, пока свойство не будет найдено. Это называется цепочкой прототипов. На вершине цепочки прототипов находится Object.prototype. console.log(o.toString === Object.prototype.toString) // trueУвидимся в следующем счастливом году
Вы прощаетесь со своим другом и говорите ему: "Увидимся в следующем счастливом году"
Счастливый год - число, состоящее из неповторяющихся символов.
Напишите функцию, которая принимает текущий год и возвращает следующий ближайший "счастливый год"
Примеры:
Вы прощаетесь со своим другом и говорите ему: "Увидимся в следующем счастливом году"
Счастливый год - число, состоящее из неповторяющихся символов.
Напишите функцию, которая принимает текущий год и возвращает следующий ближайший "счастливый год"
Примеры:
nextHappyYear (7712) ==> return (7801)
nextHappyYear (8989) ==> return (9012)
nextHappyYear (1001) ==> return (1023)Какой шрифт из перечисленных является шрифтом с засечками (serif)?
Anonymous Quiz
10%
Verdana
23%
Helvetica
18%
Arial
48%
Times
Что такое функциональное программирование и какие особенности JS позволяют говорить о нем как о функциональном языке программирования?
Функциональное программирование — это декларативная концепция программирования или образец (паттерн) того, как строятся приложения, как используются функции, содержащие выражения, которые вычисляют значения без изменения аргументов, которые им передаются.
Объект Array содержит методы map, filter и reduce, которые являются самыми известными функциями в мире функционального программирования из-за их полезности, а также потому, что они не изменяют массив, что делает эти функции «чистыми». Также в JS имеются замыкание и функции высшего порядка, которые являются характеристиками функционального языка программирования.
Функциональное программирование — это декларативная концепция программирования или образец (паттерн) того, как строятся приложения, как используются функции, содержащие выражения, которые вычисляют значения без изменения аргументов, которые им передаются.
Объект Array содержит методы map, filter и reduce, которые являются самыми известными функциями в мире функционального программирования из-за их полезности, а также потому, что они не изменяют массив, что делает эти функции «чистыми». Также в JS имеются замыкание и функции высшего порядка, которые являются характеристиками функционального языка программирования.
Что такое функции высшего порядка (Higher Order Functions)?
Функция высшего порядка — это функция, возвращающая другую функцию или принимающая другую функцию в качестве аргумента.
Предположим, у нас имеется массив чисел, и мы хотим создать новый массив, который содержит результаты умножения этих чисел на 2. Рассмотрим способы решения этой задачи с использованием функций высшего порядка и без них.
Решение задачи без использования функций высшего порядка:
Функция высшего порядка — это функция, возвращающая другую функцию или принимающая другую функцию в качестве аргумента.
Предположим, у нас имеется массив чисел, и мы хотим создать новый массив, который содержит результаты умножения этих чисел на 2. Рассмотрим способы решения этой задачи с использованием функций высшего порядка и без них.
Решение задачи без использования функций высшего порядка:
const arr1 = [1, 2, 3];Решение задачи с помощью функции высшего порядка map:
const arr2 = [];
for(let i = 0; i < arr1.length; i++) {
arr2.push(arr1[i] * 2);
}
// выводит [ 2, 4, 6 ]
console.log(arr2);
const arr1 = [1, 2, 3];
const arr2 = arr1.map(function(item) {
return item * 2;
});
console.log(arr2);Почему функции в JS называют объектами первого класса (First-class Objects)?
Функции называют объектами первого класса, потому что они обрабатываются также, как и любое другое значение в JS. Они могут присваиваться переменным, быть свойством объекта (методом), элементом массива, аргументом другой функции, значением, возвращаемым функцией. Единственным отличием функции от любого другого значения в JS является то, что функция может быть выполнена или вызвана.
Функции называют объектами первого класса, потому что они обрабатываются также, как и любое другое значение в JS. Они могут присваиваться переменным, быть свойством объекта (методом), элементом массива, аргументом другой функции, значением, возвращаемым функцией. Единственным отличием функции от любого другого значения в JS является то, что функция может быть выполнена или вызвана.
/* функция не имеет имени и находится в правой части команды присваивания переменной.*/
var dog = function(num) {
for (var i = 0; i < num; i++) {
alert("Woof");
}
};
dog(3); //Эту функцию можно вызвать через переменную dog.Макконнелл "Совершенный код"
Более 10 лет первое издание этой книги считалось одним из лучших практических руководств по программированию. Сейчас эта книга полностью обновлена с учетом современных тенденций и технологий и дополнена сотнями новых примеров, иллюстрирующих искусство и науку программирования. Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО - с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство. Каков бы ни был ваш профессиональный уровень, с какими бы средствами разработками вы ни работали, какова бы ни была сложность вашего проекта, в этой книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код.
Более 10 лет первое издание этой книги считалось одним из лучших практических руководств по программированию. Сейчас эта книга полностью обновлена с учетом современных тенденций и технологий и дополнена сотнями новых примеров, иллюстрирующих искусство и науку программирования. Опираясь на академические исследования, с одной стороны, и практический опыт коммерческих разработок ПО - с другой, автор синтезировал из самых эффективных методик и наиболее эффективных принципов ясное прагматичное руководство. Каков бы ни был ваш профессиональный уровень, с какими бы средствами разработками вы ни работали, какова бы ни была сложность вашего проекта, в этой книге вы найдете нужную информацию, она заставит вас размышлять и поможет создать совершенный код.
Сумма двух массивов
Напишите функцию, которая принимает два массива и возвращает сумму из чисел этих массивов.
Особенность этой задачи в том, что прежде чем складывать массивы, нужно составить число из элементов массива.
Например [3,2,9] будет равно числу 329.
Примеры:
Напишите функцию, которая принимает два массива и возвращает сумму из чисел этих массивов.
Особенность этой задачи в том, что прежде чем складывать массивы, нужно составить число из элементов массива.
Например [3,2,9] будет равно числу 329.
Примеры:
[3,2,9],[1,2] --> [3,4,1]
[4,7,3],[1,2,3] --> [5,9,6]
[1],[5,7,6] --> [5,7,7]
Также, первый элемент массива может быть отрицательным: [3,2,6,6],[-7,2,2,8] --> [-3,9,6,2] # 3266 + (-7228) = -3962Разработка требований к программному обеспечению
Эта книга — подробное руководство по разработке качественных требований к программному обеспечению. Здесь описаны десятки проверенных на практике приемов выявления, формулирования, разработки, проверки, утверждения и тестирования требований, которые помогут разработчикам, менеджерам и маркетологам создать эффективное ПО. Настоящее издание дополнено новыми приемами, посвященными разработке требований в проектах гибкой разработки (agile).
Эта книга — подробное руководство по разработке качественных требований к программному обеспечению. Здесь описаны десятки проверенных на практике приемов выявления, формулирования, разработки, проверки, утверждения и тестирования требований, которые помогут разработчикам, менеджерам и маркетологам создать эффективное ПО. Настоящее издание дополнено новыми приемами, посвященными разработке требований в проектах гибкой разработки (agile).
Что нового привнес в JS стандарт ES6 или ECMAScript2015?
1. Стрелочные функции (Arrow Functions).
2. Классы (Classes).
3. Шаблонные строки (Template Strings).
4. Расширенные объектные литералы (Enhanced Object literals).
5. Деструктуризация (Object Destructuring).
6. Промисы (Promises).
7. Генераторы (Generators).
8. Модули (Modules).
9. Symbol.
10. Прокси (Proxies).
11. Множества (Sets).
12. Параметры по умолчанию.
13. Операторы rest и spread.
14. Блочная область видимости (ключевые слова «let» и «const»).
1. Стрелочные функции (Arrow Functions).
2. Классы (Classes).
3. Шаблонные строки (Template Strings).
4. Расширенные объектные литералы (Enhanced Object literals).
5. Деструктуризация (Object Destructuring).
6. Промисы (Promises).
7. Генераторы (Generators).
8. Модули (Modules).
9. Symbol.
10. Прокси (Proxies).
11. Множества (Sets).
12. Параметры по умолчанию.
13. Операторы rest и spread.
14. Блочная область видимости (ключевые слова «let» и «const»).