Что такое приведение типов?
Конвертация встроенных типов данных друг в друга в JavaScript называется приведением типов (coercion). Оно бывает явное (explicit) и неявное (implicit).
Пример явного приведения:
Конвертация встроенных типов данных друг в друга в JavaScript называется приведением типов (coercion). Оно бывает явное (explicit) и неявное (implicit).
Пример явного приведения:
let a = '42'; //строкаПример неявного приведения:
let b = Number(a);
a; // "42" - строка
b; // 42 - число
let a = '42'; //строка
let b = a * 1; //строка неявно приводится к числу
a; // "42" - строка
b; // 42 - числоКакое значение примет result?
Anonymous Quiz
8%
[1, 2, 3]
10%
4
63%
[0, 1, 2, 3]
12%
[1, 2, 3, 0]
6%
3
Какие есть виды сравнения в JavaScript
В JavaScript есть два вида сравнения:
1. строгое (strict) без приведения типов (===);
2. абстрактное с приведением типов.
1. Если значения (стороны сравнения) могут принимать значения true или false, избегайте нестрогого сравнения и используйте ===;
2. Если в сравнении участвуют специфические значения (0, "", [] — пустой массив), избегайте нестрогого сравнения.
3. В остальных случаях можно использовать ==. Это безопасно и во многих случаях делает код более читаемым.
В JavaScript есть два вида сравнения:
1. строгое (strict) без приведения типов (===);
2. абстрактное с приведением типов.
var a = "42"
var b = 42
a == b; //true - абстрактное, строка привелась к числу
a === b; //false - строгое
Сравнение осуществляется по некоторым простым правилам:1. Если значения (стороны сравнения) могут принимать значения true или false, избегайте нестрогого сравнения и используйте ===;
2. Если в сравнении участвуют специфические значения (0, "", [] — пустой массив), избегайте нестрогого сравнения.
3. В остальных случаях можно использовать ==. Это безопасно и во многих случаях делает код более читаемым.
Кто убийца?
Вам удалось сузить список подозреваемых до небольшого числа людей.
К счастью, у вас есть информация о том, кто с кем встречался.
Вам дан список имен подозреваемых и всех, с кем подозреваемые встречались в этот день.
Вам удалось сузить список подозреваемых до небольшого числа людей.
К счастью, у вас есть информация о том, кто с кем встречался.
Вам дан список имен подозреваемых и всех, с кем подозреваемые встречались в этот день.
{'James': ['Jacob', 'Bill', 'Lucas'],
'Johnny': ['David', 'Kyle', 'Lucas'],
'Peter': ['Lucy', 'Kyle']}
А также список убитых['Lucas', 'Bill']
Найдите имя убийцы. В нашем случае это James, так как он единственный, кто видел Lucas и BillКакое значение свойства color у элемента h1?
Anonymous Quiz
4%
зависит от значения свойства color в браузере
4%
black
60%
green
33%
red
Почему объекты с идентичными свойствами не равны?
Непримитивные значения в JavaScript (объекты) передаются по ссылке, а операторы сравнения (== и ===) сравнивают именно ссылки. Поэтому два разных объекта с идентичными свойствами не будут равны друг другу.
Непримитивные значения в JavaScript (объекты) передаются по ссылке, а операторы сравнения (== и ===) сравнивают именно ссылки. Поэтому два разных объекта с идентичными свойствами не будут равны друг другу.
let a = [1, 2, 3];
let b = [1, 2, 3];
a == b //false
a === b //falseКак проверить, является ли объект массивом?
Лучший способ узнать, является ли объект инстансом определенного класса, — использовать метод
Лучший способ узнать, является ли объект инстансом определенного класса, — использовать метод
Object.prototype.toString().
let arr = [1, 2, 3];
let obj = {'a': 1, 'b': 2};
let str = "hello";
let foo = function() {};
console.log(Object.prototype.toString.call(arr)); // [object Array]
console.log(Object.prototype.toString.call(obj)); // [object Object]
console.log(Object.prototype.toString.call(str)); // [object String]
console.log(Object.prototype.toString.call(foo)); // [object Function]Какое значение примет result?
Anonymous Quiz
71%
Brendan
11%
ReferenceError
10%
undefined
4%
name
3%
""
Д. Дакетт – Javascript и jQuery. Интерактивная веб-разработка
Тот редкий случай, когда книга рассчитана на программистов, контент-менеджеров и веб-дизайнеров. Автор рассматривает все необходимые основы для того, чтобы начать разработку простого софта. По окончании обучения вы сможете создавать JS-сценарии и интерактивные сайты, использовать библиотеку jQuery для упрощения кода, улучшать формы и проверять данные.
Тот редкий случай, когда книга рассчитана на программистов, контент-менеджеров и веб-дизайнеров. Автор рассматривает все необходимые основы для того, чтобы начать разработку простого софта. По окончании обучения вы сможете создавать JS-сценарии и интерактивные сайты, использовать библиотеку jQuery для упрощения кода, улучшать формы и проверять данные.
Двойной сэндвич
Вам дан список элементов. Все элементы кроме одного уникальны. Единственный элемент появляется в списке дважды.
Напишите функцию, которая вернет список элементов, которые находятся между неуникальными элементами.
Примеры:
Вам дан список элементов. Все элементы кроме одного уникальны. Единственный элемент появляется в списке дважды.
Напишите функцию, которая вернет список элементов, которые находятся между неуникальными элементами.
Примеры:
[0, 1, 2, 3, 4, 5, 6, 1, 7, 8] => [2, 3, 4, 5, 6]
["None", "Hello", "Example", "hello", "None", "Extra"] => ["Hello", "Example", "hello"]
[0, 0] => []
[true, false, true] => [false]
"example" => "xampl"Л. Атенсио – Функциональное программирование на JavaScript
Функциональное программирование облегчает поддержание и сопровождение кода, способствуя «наведению порядка» в слабосвязанных элементах и отдельно взятых компонентах. Автор подробно разбирает способы улучшения приложений, расширения и увеличения производительности. Вы научитесь понимать разницу между императивным, объектно-ориентированным и функциональным подходами к программированию на практических примерах.
Функциональное программирование облегчает поддержание и сопровождение кода, способствуя «наведению порядка» в слабосвязанных элементах и отдельно взятых компонентах. Автор подробно разбирает способы улучшения приложений, расширения и увеличения производительности. Вы научитесь понимать разницу между императивным, объектно-ориентированным и функциональным подходами к программированию на практических примерах.