При выборе между объявлением функции и функциональным выражением помните, что первые записываются в память, а вторые — нет. Другими словами, вы можете вызвать функцию до того, как объявите ее, но не можете вызвать функцию, созданную с помощью функционального выражения, так как это вызовет ошибку.
Создадим несколько функций, которые дают значения и управляют консолью. Нам понадобятся: функция, которая дает одну секунду; функция, которая дает текущее время; несколько функций, которые регистрируют сообщения на консоли и очищают консоль. В функциональных программах нужно использовать функции вместо значений везде, где это возможно
Первая категория функций высшего порядка — это функции, которые ожидают другие функции в качестве аргументов. Например, функции Array.map, Array.filter и Array.reduce принимают функции в качестве аргументов