Побитовый оператор

Побитовые операторы обрабатывают свои операнды как последовательность из 32 битов (нули и единицы), а не как десятичные, шестнадцатеричные или восьмеричные numbers. Например, десятичное число девять имеет двоичное представление 1001. Побитовые операторы выполняют свои операции над такими двоичными представлениями, но возвращают стандартные числовые значения JavaScript.

console.log(5 & 13); // 0101 & 1101 = 0101
// expected output: 5;
console.log(parseInt('0101', 2) & parseInt('1101', 2));
// expected output: 5;

Как найти название дня по заданной дате?

function getDayName(dateString) {
let dayName;
// Write your code here
   const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday',   'Thursday', 'Friday', 'Saturday'];
   const date = new Date(dateString);
   dayName = days[date.getDay()];
  return dayName;
}
getDayName("5 / 15 / 2020") //Friday

Выражение регулярного выражения

Регулярные выражения используются в языках программирования для сопоставления частей строк. Вы создаете шаблоны, чтобы помочь вам сделать это сопоставление.

Если вы хотите найти слово "the" в строке "The dog chased the cat", вы можете использовать следующее регулярное выражение: /the/. Обратите внимание, что в регулярном выражении не требуются кавычки.

В JavaScript есть несколько способов использования регулярных выражений. Один из способов проверить регулярное выражение — использовать метод .test(). Метод .test() принимает регулярное выражение, применяет его к строке (которая помещена в круглые скобки) и возвращает true или false, если ваш шаблон что-то находит или нет.

let testStr = "freeCodeCamp";
let testRegex = /Code/;
testRegex.test(testStr);
// Returns true

Условное утверждение: переключатель

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

Мы можем использовать оператор switch, чтобы найти название дня, подобное этому.

switch (new Date().getDay()) {
  case 0:
    day = "Sunday";
    break;
  case 1:
    day = "Monday";
    break;
  case 2:
     day = "Tuesday";
    break;
  case 3:
    day = "Wednesday";
    break;
  case 4:
    day = "Thursday";
    break;
  case 5:
    day = "Friday";
    break;
  case 6:
    day = "Saturday";
}

Массив.прототип.сортировка()

Метод sort() сортирует элементы массива по месту и возвращает отсортированный массив. Порядок сортировки по умолчанию — восходящий, основанный на преобразовании элементов в строки и последующем сравнении их последовательностей значений кодовых единиц UTF-16.

const months = ['March', 'Jan', 'Feb', 'Dec'];
months.sort();
console.log(months);
// expected output: Array ["Dec", "Feb", "Jan", "March"]
const array1 = [1, 30, 4, 21, 100000];
array1.sort();
console.log(array1);
// expected output: Array [1, 100000, 21, 30, 4]

Строка.прототип.заменить()

Метод replace() возвращает новую строку, в которой некоторые или все совпадения pattern заменены на replacement. pattern может быть строкой или RegExp, а replacement может быть строкой или функцией, вызываемой для каждого совпадения. Если pattern является строкой, будет заменено только первое вхождение.

Исходная строка остается неизменной.

const p = 'The quick brown fox jumps over the lazy dog. If the dog reacted, was it really lazy?';
const regex = /dog/gi;
console.log(p.replace(regex, 'ferret'));
// expected output: "The quick brown fox jumps over the lazy ferret. If the ferret reacted, was it really lazy?"
console.log(p.replace('dog', 'monkey'));
// expected output: "The quick brown fox jumps over the lazy monkey. If the dog reacted, was it really lazy?"

Итерация по массивам

Основной цикл for: мы можем использовать стандартный цикл for для перебора элементов массива.

const arr = ['a', 'b', 'c', 'd'];
// 'i' is the index
for (let i = 0; i < arr.length; i++) {
    console.log('arr[' + i + ']: ' + arr[i]);
}

Операция for…in. Оператор for…in выполняет итерацию по перечислимым свойствам объекта в произвольном порядке, что позволяет нам выполнять инструкции для каждого отдельного свойства. В случае массива свойством будут его элементы. В случае объекта это будут его свойства.

const o = ['first', 'second', false];
// 'p' is the index
for (let p in o) {
    console.log(p + ' ' + o[p]);
}

Метод forEach.Метод forEach перебирает массив и для каждого элемента выполняет функцию один раз.

const arr = ['a', 'b', 'c', 'd'];
arr.forEach((value, index, array) => {
    console.log('index', index, 'has a value of', value,
    'which correlates to array[' + index + ']:', array[index]);
});
arr.forEach((value, index) => {
    console.log('index', index, 'has a value of', value);
});
arr.forEach((value) => {
    console.log('value:', value);
});

Даты в JavaScript

Экземпляр даты JavaScript представляет собой один момент времени, основанный на количестве миллисекунд, прошедших с 1 января 1970 года по всемирному координированному времени.

Создание экземпляра даты

1.Использование new Date()

Конструктор по умолчанию создает объект JavaScript Date для текущей даты и времени (в соответствии с настройками вашей системы).

2.Использование new Date(value)

Этот конструктор имеет параметр «значение», который представляет собой целое число, представляющее количество миллисекунд, прошедших с 00:00:00 1 января 1970 года.

3. Использование new Date(dateString)

Этот конструктор имеет параметр «dateString», который представляет собой строку, описывающую дату. «Строка даты» должна быть в формате, распознаваемом функцией Date.parse(), например MM/DD/YYYY или Month Day, Year. Например, 01/01/1980 и Jan 1, 1980 — это строки, которые можно успешно проанализировать с помощью функции parse.

Ошибка выполнения (исключение)

Этот тип ошибок, обычно называемый исключениями, возникает во время выполнения (т. е. после компиляции или интерпретации).

При обнаружении ошибки во время выполнения генерируется исключение в надежде, что оно будет перехвачено последующим разделом кода, содержащим инструкции по устранению ошибки.

Подобно синтаксическим ошибкам, они влияют на поток, в котором они произошли, но позволяют другим, независимым потокам продолжать нормальное выполнение. Например, рассмотрим следующий код, содержащий ошибку времени выполнения:

function sum(a, b) {}
add(2, 3)

Это приводит к следующей ошибке: ReferenceError: add is not defined. Это связано с тем, что мы пытались вызвать функцию add, даже не объявляя и не определяя ее.

Логическая ошибка

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

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

function sum(a, b) {
    var result = a - b;
    console.error("The sum of " + a + " and " + b + " is " + result);
    return result;
}

Следующая строка будет напечатана в нашей консоли ошибок во время выполнения: The sum of 2 and 3 is -1. Это делает очевидным во время отладки, что существует логическая проблема с тем, как наша функция вычисляет сумму «a» и «b».

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