1. Напишите пример чистой и нечистой функции для добавления значения в массив
// Impure Example
let arr = [];
const impureAddition = (num) => arr.push(num);
impureAddition(10);
// Pure Example
const pureAddition = (num) => (newArr) => [...newArr, num];
pureAddition(10)([]);

2. Что будет на выходе приведенного ниже кода?

console.log(['a']+['b']);

Ответ: "аб"

3. Что будет на выходе приведенного ниже кода?

console.log([1, 3, 4, 2]["sort"]());

Ответ: [1,2,3,4]

4. Что будет на выходе приведенного ниже кода?

console.log([1, 3, 4, 2]["sort"]["constructor"](alert("Boom")));

Ответ: Оповещения Boom

5. Что будет на выходе приведенного ниже кода?

const clothes = ['jacket', 't-shirt'];
clothes.length = 0;
clothes[0]; // => ???

Ответ:
undefined
одежда.длина = 0; удаляет массив и, следовательно, одежда [0] не существует

6. Что будет на выходе приведенного ниже кода?

const length = 4;
const numbers = [];
for (var i = 0; i < length; i++);{
  numbers.push(i + 1);
}
numbers;

Ответ: [5]
Почему? =› после цикла for и перед исполняемым блоком стоит точка с запятой, а var делает iглобальным . Таким образом, ко мне можно получить доступ после окончания цикла со значением 4.

7. Что будет на выходе приведенного ниже кода?

const length = 4;
const numbers = [];
for (let j = 0; j < length; j++);{
  numbers.push(j + 1);      // reference error
}
console.log(j);         // reference error
numbers;

Ответ: здесь let не создает глобальную переменную и, следовательно, выдает ошибку

8. Как очистить массив в JavaScript?

var list =  ['a', 'b', 'c', 'd', 'e', 'f'];
-> list.length = 0
-> list = []
-> arrayList.splice(0, arrayList.length);

9. Что выведет приведенный ниже код?

var arr1 = "john".split('');
var arr2 = arr1.reverse();     // returns the ref to arr1 only
var arr3 = "jones".split('');
arr2.push(arr3);
 
console.log("array 1: length=" + arr1.length + " last=" + arr1.slice(-1));
 
console.log("array 2: length=" + arr2.length + " last=" + arr2.slice(-1));

Ответ:
«массив 1: length=5 last=j,o,n,e,s»
«массив 2: length=5 last=j,o,n ,е,с”

Поскольку и arr1, и arr2 относятся к одному и тому же массиву, обратный метод для массива возвращает тот же массив, а не новый массив.