Рубрики
Uncategorized

Отладка нот

Уловить использование оператора присваивания вместо оператора оператора равенства, то есть на … Tagged с JavaScript, учебником, начинающим, DEVOPS.

Поймать использование оператора назначения вместо оператора равенства

  • Развлекательные программы, то есть те, которые делают разные вещи, если определенные условия встречаются, полагаются на Если , еще если и еще заявления в JavaScript. Состояние иногда принимает форму тестирования, равен ли результату значением.

  • Эта логика произносится (по крайней мере, на английском языке) как «если x равен y, то …», что может буквально перевести в код, используя = или оператор назначения. Это приводит к неожиданному контрольному потоку в вашей программе.

  • Как показано на других постах, оператор назначения ( = ) в JavaScript присваивает значение имени переменной. И ==. и === Операторы проверяют равенство (тройной === тесты для строгого равенства, то есть как значение, так и тип одинаковы).

  • Почти каждое значение самостоятельно в JavaScript оценивает true, за исключением того, что известно как «Falsy» значения: false, 0, «» (пустая строка), NAN, undefined и null.

  • Бывший:

let x = 7;
let y = 9;
let result = "to come";

if(x == y) {
  result = "Equal!";
} else {
  result = "Not equal!";
}

console.log(result);
  • Здесь мы получаем результат «не равных», потому что Х не строго равен Y. (7) <— не равно

Поймать без вести и закрывать скобки После вызова функции

  • Когда функция или метод не принимает аргументы, вы можете забыть включить (пустые) открытие и закрытие скобок при вызове его. Часто результат вызова функции сохраняется в переменной для другого использования в вашем коде. Эта ошибка может быть обнаружена путем регистрации значений переменной (или их типов) на консоль и увидеть, что один устанавливается на ссылку на функцию, вместо ожидаемого значения возвращается функция.
  • Переменные в следующем примере различны:
function getNine() {
  let x = 6;
  let y = 3;
  return x + y;
}

let varOne = getNine;
let varTwo = getNine();
console.log(varOne);
console.log(varTwo);
  • Здесь VarOne отобразится [Функция: getnine], и vartwo будет отображаться 9

Поймать аргументы, переданные в неправильном порядке при вызове функции

  • Следующая ошибка, чтобы остерегаться, когда аргументы функции поставляются в неверном порядке. Если аргументы являются разными типами, такие как функция, ожидающая массива и целое число, это, скорее всего, бросит ошибку выполнения. Если аргументы одинакового типа (например, все целые числа), то логика кода не имеет смысла. Обязательно поставляйте все необходимые аргументы в правильном порядке, чтобы избежать этих проблем.
  • Бывший:
let base = 2;
let exp = 3;
let power = raiseToPower(exp, base);

function raiseToPower(b, e) {
  return Math.pow(b, e);
}

console.log(power); console will display 9
  • Функция RaiseToPower поднимает основу до показателя. К сожалению, это не вызывается должным образом. Давайте исправим код, чтобы значение мощности — ожидаемый 8.
let base = 2;
let exp = 3;
let power = raiseToPower(base, exp);

function raiseToPower(b, e) {
  return Math.pow(b, e);
}

console.log(power); console will display 8

Утомить одним ошибками при использовании индексации

  • Выкл. По одному ошибкам (иногда называемым гобом), когда вы пытаетесь нацелить определенный индекс строки или массива (для среза или доступа к сегменту) или при закреплении по индексам их.
  • Индексирование JavaScript начинается с нуля, а не один, что означает, что последний индекс всегда один меньше длины элемента. Если вы попытаетесь получить доступ к индексу, равным длине, программа может выбросить «индекс из диапазона» справочной ошибки или печатать undefined.
  • Вот несколько примеров от одной ошибки:
let alphabet = "abcdefghijklmnopqrstuvwxyz";
let len = alphabet.length;
for (let i = 0; i <= len; i++) {
  console.log(alphabet[i]);
}
for (let j = 1; j < len; j++) {
  console.log(alphabet[j]);
}
for (let k = 0; k < len; k++) {
  console.log(alphabet[k]);
}
  • Первый пример здесь петли слишком много раз, а вторая петли слишком много раз (отсутствуют первый индекс, 0). Третий пример правильный.

  • Еще один бывший:

function countToFive() {
  let firstFive = "12345";
  let len = firstFive.length;
  for (let i = 0; i < len; i++) {
    console.log(firstFive[i]);
  }
}
countToFive(); console will display 
1
2
3 
4
5

Оригинал: «https://dev.to/rthefounding/debugging-notes-4kf0»