Основы Flashcards

1
Q

Типизация в js

A

в js динамическая типизация => нужно следить за присваиваемыми типами
const может предотвратить проблему не дав тем самым переприсвоить переменную

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

const,letиvar

A

–const
1.нельзя объявлять переменные без значения
2.объект внутри можно мутировать( изменение объекта не приводит к изменению ссылки на него)
–let
1.можно объявить без присвоения значения undef
–let и const
1.К переменнымletиconstнельзя обращаться до их объявления в коде
2.Уlet иconst есть так называемаяtemporal dead zone
(TDZ) — момент выполнения скрипта до объявления переменной. Переменная может использоваться и выше объявления, при условии, что содержащая её часть кода будет выполнена после инициализации
3.имеют блочнуюобласть видимости
Блочная область видимости не даёт получить значение переменной вне блока, где она была объявлена.
–var
1.можно объявить без присвоения = undef
2.функциональная область видимости или глобальный объект
3.можно обращаться до объявления - hosting

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

use strict

A

более строгая проверка синтаксиса
- Нельзя присваивать значения или обращаться к необъявленным переменным
- Запрещено присваивать значения глобальный переменным, доступным только для чтения или записи
- Нельзя удалить «неудаляемое» свойство объекта
- Запрещено дублирование параметров
- Нельзя создавать функции с помощью функции eval
- Значением «this» по умолчанию является undefined

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

операторы логического и нулевого присваивания

A
  • ||(ИЛИ) - находит первое истинное значение
    • ||=(Оператор логического присваивания ИЛИ)a ||= b;вычисляет операнды слева направо.
      • Конвертируетaв логическое значение.
      • Еслиaложно, присваиваетaзначениеb.
  • &&(И) -true, если оба аргумента истинны, а иначе –false
  • Приоритет оператора&&больше, чем у||
  • &&=(Оператор логического присваивания И)&&=присвоитaзначениеbтолько в том случае, еслиaистинно.
  • !(НЕ)
  • ??(Оператор нулевого слияния)
    • ??=(Оператор нулевого присваивания
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

==, ===

A

=== - проверяет типы

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

null и undefined

A

При строгом равенстве===

Эти значения различны, так как различны их типы.

При нестрогом равенстве==

Эти значения равны друг другу и не равны никаким другим значениям. Это специальное правило языка.

При использовании математических операторов и других операторов сравнения< > <= >=

Значенияnull/undefinedпреобразуются к числам:nullстановится0, аundefinedNaN.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

null и 0
alert( null > 0 );
alert( null == 0 );
alert( null >= 0 );

A

null преобразуется в 0
alert( null > 0 ); // (1) false
alert( null == 0 ); // (2) false
alert( null >= 0 ); // (3) true

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

как хранятся данные

A

–по ссылке(объекты)
учитывается факт ссылку на один объект
Изменения внутри объекта будут видны всем у кого есть ссылка на этот объект.
Прямое изменение данных объекта называетсямутирование

–по значению(примитивы)
безопасная смена значений

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

типы данных

A

Num
str
bool
bigint
symbol
object
undef
null

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

типизация

A

строковое
-при сложении числа с строкой = строка
-String() приводит все к строке кроме объектов

числовое
-Number() / +str / (str/1) / str*1
-Number(undefined); // NaN
-Number(null); // 0
-Number(true); // 1
-Number(false); // 0

Логическое
Boolean(1); // true
Boolean(‘строка’); // true
Boolean(0); // false
Boolean(null); // false
Boolean(undefined); // false
Boolean(NaN); // false
Boolean(‘’); // false

typeof
возвращает не тип а строку с типов для всех кроме null = Object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Math

A

— это объект, хранящий в себе различные математические константы
round()— округление по обычным правилам;

floor()— округление вниз;

ceil()— округление вверх;

trunc()— отбрасывание дробной части, не обращая внимания на знак аргумента.
- Math.random()
Возвращает случайное число от 0 до 1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

спред

A

позволяет передавать итерируемые коллекции как список аргументов функции или добавлять содержащиеся в них элементы в новый массив.

Спред применятся и для объектов, чтобы копировать пары ключ-значение из одного объекта в другой.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

циклы

A

while
for
break
continue
for in
позволяет пройти вциклепо перечисляемым свойствам объекта, в том числе по свойствам из прототипа.
for of
не предоставляет доступа к номеру текущего элемента, только к его значению

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

условные конструкции

A

if else
switch case break
?:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

отладка

A

debugger
линтер
devtools
throw
try/catch

How well did you know this?
1
Not at all
2
3
4
5
Perfectly