Это приведение к целому. В JavaScript нет отдельного типа целых. Все переменные вещественные. Но есть битовые операции, которые приводят свои аргументы к целому. "n | 0" - тривиальная битовая операция, которая сохраняет свой левый аргумент (предварительно округлённый к целому).
Ktina, пожалуйста, не делайте так. JavaScript - язык с неудачной системой типов, которая научит вас плохому. Вы научитесь бороться с особенностями языка, а не решать задачи. Сама по себе такая борьба может быть интересной и увлекательной, но для обучения подходит плохо.
Вот
интерпретатор Python. В Python система типов более традиционная, на нём легче учиться программировать.