0. Базовый JS Flashcards
Что такое Javascript?
Это язык программирования при помощи которого мы можем оживит наш сайт, по больше части в JS все работает при помощи событий (то есть произошло событие и на это событие мы отреагировали каким-то действием)
Как подключить JS к HTML?
1) Код писать внутри тега
2) Подключить с помощью атрибута src
Как загрузиться сайт если подключить js в конце head или в начале body?
Загружается JS, а потом теги (плохой вариант)
Как загрузиться сайт если подключить js в середине body?
Загружается теги, потом JS, потом опять остальные теги
Как загрузиться сайт если подключить js в конце body?
Загружаются все теги, а потом JS (лучший вариант)
Как загрузиться сайт если подключить js с помощью атрибута async?
Загружаются теги, а JS ассинхронно скачивается, как только загрузиться то сразу JS выполняет код и только потом загружаются другие теги
Как загрузиться сайт если подключить js с помощью атрибута defer?
Загружается теги, ассинхронно скачивается JS, только после того как загрузиться теги выполняется JS (второй лучший вариант)
Разница между подключениями: async / defer?
Разница в моменте выполнения JS
Зачем нужны переменные?
Чтобы хранить данные
Какие символы доступны в начале имени переменной?
Имя должно начинаться с буквы либо с символа $ или _
Каким не должно быть имя переменной?
Не должно начинаться с цифры
Нельзя ставить пробелы
Различия между const, let, var?
У const и let область видимости блочная, их нельзя переобявлять, let можно перезаписать, доступны после объявления
У var область видимости функциональная, можно перезаписать переобъявлять, доступна до объяления со значением undefined
Какую переменную используем по стандарту?
По стандарту используем const, если значение будет менятся то используем let
Как узнать тип переменной?
Через оператор typeof или typeof()
Какой тип данных у null?
Object (ошибка JS которую не исправят)
Какие типы данных есть в JS?
Примитивы и не примитивы
Перечислите все типы данные?
Их 8: string, number, boolean, null, undefined, symbol, bigInt, object
Какие числа входят в number?
Целые, дробные, отрицательные, Infinity, -Infinity, NaN
Разница между null и undefined?
null - это явно присвоенное пустое или неизвестное значение
undefined - это переменная была объявлена, но ей не было присвоено значение
Как ставить комментарии в JS?
// однострочные
/* многострочные */
Что получиться при typeof typeof переменная?
Получиться строка (первый typeof вернет ответ в виде строки)
Что такое массив?
Структура данных чтобы хранить данные в виде списка
Как создать массив?
С помощью квадратный скобок
Что такое индекс массива?
У каждого элемента массива есть свой порядковый номер и начинается он с нуля
Как вывести длину массива?
С помощью .length
Как добавить новое значение в массив по индексу?
С помощью индекса array[index] = newElement или array.index = newElement
Что такое объект?
Структура данных где данные храняться в виде свойство: значение
Как создать объект?
С помощью фигурных скобок
Каким должно быть название ключа объекта?
Название ключа должно быть строкой, ковычки можно не писать
Если название ключа и значения одинаковые, то можно пропустить написания значения
Как достать данные из объекта?
С помощью ключа object.key
Как добавить новое свойство в объект?
С помощью ключа можно присвоить новое свойство
object.newKey = newElement
Как удалить свойство из объекта?
С помощью оператора delete
delete object.key
Оператор возвыщения в степень?
**
Оператор остатка?
%
Оператор инкремента?
++
Оператор декремента?
--
Старая версия сравнения?
== он сравнивает только значения
Новая версия сравнения?
=== он сравнивает строго по значению и типу данных
Старая версия неравенства?
!= неравенство по значению
Новая версия неравенства?
!== строгое неравенство по значению и типу данных
Оператор чтобы каждое условие было верным?
Логический оператор И &&
Оператор чтобы один из условий должен быть верным?
Логический оператор ИЛИ ||
Оператор который переворачивает булевое значение?
Логический оператор НЕ !
Как узнать есть ли такое свойство у объекта?
оператор in
‘smth’ in obj
Базовая конструкция условий в JS?
Конструкция if else
if (condition) { if true code } else { if false code }
Как сделать много условий в JS?
Добавить else if к конструкции if else
if (condition) { if true code } else if (condition2) { if true code } else { if false code }
Простые условия в JS?
Конструкция switch/case
switch (condition) { case вариант: code break; default: code; }
Оператор для однострочных условий?
Тернарный оператор ? и :
? - true
: - false
condition ? if true code : if false code
`
Какие значения возвращают false?
false, null, undefined, 0, NaN, пустая строка
Зачем нужны циклы?
По большей части нужны для обхода по элементам массива
Цикл в JS?
for
while
do/while (исп. очень редко)
Цикл for?
for (let i = 0; condition; step) {code}
Цикл while?
while (condition) {code and step}
Цикл do/while?
do {code and step} while (condition is true)
Как выйти из цикла заранее?
break + condition
Как пропустить шаг в цикле?
continue + condition
Как создать функцию?
function name (arguments) {code}
Как возвращать что-то из функции?
Используем return
если не написать то функция сама возвращает undefined
Как выйти из функции заранее?
break + condition
Как вернуть из функции сразу два значения?
Возвращаем в виде объекта либо массиваreturn {one: result, two: result2}
Что такое аргументы в функции?
Могут быть использованы внутри функции для выполнения операций или передачи данных внутри функции
Как сделать значение по умолчанию в аргументах?
argument = default argument
Стрелочные функции?
const name = (arguments) => {code}
без имени используем в callback
Если стрелочная функция выполняет только одно выражение что можно не писать?
Фигурные скобки и оператор return можно не писать
Можно ли использовать круглые скобки вместо фигурных в стрелочных функциях?
Да
можно еще не писать return
Если стрелочная функция принимает только один аргумент что можно не писать?
Скобки вокруг аргумента
Что такое функция обратного вызова (callback)?
Это функция которая передаётся другой функции как аргумент
Таймер, сделать что-то через какое-то время?
функция setTimeout(function, time)
Что такое самовызывающиеся функции (IIFE)?
Это функция которая вызывает себя
- имя не надо
- функцию оборачиваем в скобки
- после функции ставим круглые скобки (function (arguments){code})()