«Единственный способ творить великие дела – это любить то, что ты делаешь»
JavaScript
site.komp36.ru Создание сайтов. Твой сайт фотографа Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Продающий лендинг. Создание сайтов Установка и продажа окон, установка дверей, перегородок. Одностраничный продающий сайт. Заявки прямо с сайта
site.komp36.ru Универсальный лендинг. Выбрать тему для сайта! Лендинг адаптируется под любую тему: ремонт, отделка, продажа окон, дверей, лестниц, мебели и многое другое
site.komp36.ru Создание сайтов. Сайт сервисного центра. Сайт компании. Новости и отзывы. Несколько прайс-листов – под каждый отдельная страница. Возможность размещения статей


Игра «Морской Бой» на JavaScript: Простая Игра и Игра для Двоих



Здесь будут рассмотрены задачи JavaScript, задаваемые на реальных собеседованиях.

Желательно самостоятельно решить задачи на понимание основ языка JavaScript.

Ниже представлены условия задач. И далее их решения.

1) Какое будет выведено значение: let x = 5; console.log(x++); ?

2) Чему равно такое выражение: [ ] + false - null + true ?

3) Что выведет этот код: let y = 1; let x = y = 2; alert(x); ?

4) Чему равна сумма [ ] + 1 + 2?

5) Что выведет этот код: alert( "1"[0] )?

6) Чему равно 2 && 1 && null && 0 && undefined ?

7) Есть ли разница между выражениями? !!( a && b ) и (a && b)?

8) Что выведет этот код: alert( null || 2 && 3 || 4 ); ?

9) a = [1, 2, 3]; b = [1, 2, 3]; Правда ли что a == b ?

10) Что выведет этот код: alert( +"Infinity" ); ?

11) Верно ли сравнение: "Ёжик" > "яблоко"?

12) Чему равно 0 || "" || 2 || undefined || true || falsе ?



1-я задача - Постфикс и Префикс

1) Какое будет выведено значение: let x = 5; console.log(x++); ?


let x = 5; 

console.log(x++);

Результат


5

Ответ 5. Потому что постфиксная форма записи сначала возвращает старое значение. Об этом шла речь здесь.

Если снова вывести переменную в консоль, то мы увидим уже новое значение.

let x = 5; 

console.log(x++);

console.log(x);

Результат


5
6

Или нужно было сделать так...


let x = 5; 

x++;

console.log(x);

Результат


6

Или воспользоваться префиксной формой записи.


let x = 5; 

console.log(++x);

Результат


6

Сложение различных типов данных

Задача №2 - Сложение различных типов данных в JavaScript

Чему равно такое выражение: [ ] + false - null + true ?

Чтобы правильно решить эту задачу требуется анализ. Поэтому это задание следует выполнить поэтапно.

Математические операции: сложение и вычитание - выполняются последовательно друг за другом. О порядке выполнения операторов читайте здесь.

1-ый этап. Что дает сложение пустого массива с булевым значением [ ] + false ?


console.log([ ] + false); // 'false'
console.log(typeof([ ] + false));

Результат

false
string

Результат false и это строка. Почему?

Следует запомнить, что в подобных выражениях пустой массив [ ] конвертируется в строку "". Это уже не тип данных object, а тип данных string.

Таким образом в данном контексте запись [ ] + false (сложение массива и false) идентична записи "" + false (сложение строки и false) .

Из прошлой статьи известно, что сложение чего-либо со строкой дает строку.

Тут стоит обратить внимание и на цвет false в консоли - он белый (при темной теме браузера) или черный (при светлой теме): это говорит о строковом типе данных. В то время как булевы значения true или false в консоли имеют фиолетовый цвет.

Итак, сложение пустого массива с булевым значением дает в результате строку.

2-ой этап. Из строки нужно отнять (вычесть) null. Каков результат?


console.log([ ] + false); // 'false'

console.log([ ] + false - null);

Результат

false
NaN

Вычитание из строки другого типа данных - это бессмысленная математическая операция. Поэтому в результате мы увидим NaN - не число.

3-ий этап. Что дает сложение NaN с булевым значением?


console.log([ ] + false); // 'false'

console.log([ ] + false - null); // NaN

console.log([ ] + false - null + true);

Результат

false
NaN
NaN

Сложение не числа NaN с булевым значением дает в результате NaN.

Итог. Чему равно такое выражение: [ ] + false - null + true ? Ответ NaN.

При решении этой задачи нужно понимать, как работает динамическая типизация.

И самое главное - запомнить особенность с пустым массивом (см. 1-ый этап).

Читайте также...

site.komp36.ruТвой сайт фотографа. Создание сайтов Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Акция Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Акция Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта

Отзывы и комментарии:

Комментариев нет...

Оставить отзыв:

Ваше Имя:

Текст комментария:

Ответьте на вопрос:

Сколько дней в Високосном году?


Рунет - Часть 3
Тематические публикации
site.komp36.ru Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта
Популярные заметки
Последние заметки