JavaScript Цикл for и while отрабатывает по разному, почему?

Объясните пжл, почему вот это выполняется с ошибкой (возвращает всегда результат 0):

const p = (sent, symbol) => {
  let count = 0;
  for(let i = 0; i< sent.legth; i++) {
    if(sent[i] === symbol) {
      count++ ;
    }
  }
  return console.log(count);
}
p('le идеален дддля', 'д') //тут всегда 0 почему-то

А вот это считает правильно:

const f = (sent, symbol) => {
  let i = 0;
  let count = 0;
  while(i < sent.length) {
    if(sent[i] === symbol) {
      count++ ;
    }
    i++;
  }
  return console.log(count);
}
f('le идеалендд ддля', 'д') //а тут все правильно, 5

Ответы (1 шт):

Автор решения: Алексей Шиманский

Потому что в первом случае написан legth, а должен быть length

Если бы вы писали код в IDE, то спокойно это увидели.

→ Ссылка