Стрелочная функція - неявно завжди повертає значения

Анонимная функція \ функціональний вираз - треба добавляти return

Объявление функції

Объявление функции (стандарт можно визивать до ее обявления)

function a(){
console.log('assgbfxv')
return ('this is to return'+'data')
}

Обявление фунционального виражения 1 (нельзя визивать до ее обявления)

через константу щоб її потім випадково не змінили

const a=()=> {
console.log('Hey there')
}

Обявление фунционального виражения 2 (нельзя визивать до ее обявления)

через константу щоб її потім випадково не змінили

const multiply = function (x, y, z) {
console.log(x * y * z);
};

Обявление функции анонимной (для коллБека)

const myFuncrion = function(a,b){
let c
a=a+1
c=a+b
return c
}
myFuncrion (5,6)

Обявление стрелочной функции

const myFunc=(a,b)=>{
let c
return c}

al=>console.log(el * 2)

Обявление коллбєк функції

//funcWithCallback - просто функція
//callbackfunc- змінна куди будемо передавати посисалання на функцию (тільки посилання а не виклик самої функції)
function funcWithCallback (callbackfunc) {
callbackfunc()
}
//описуємо функцию що буде у нас як коллбек та її функціонал
function prinnn(){
console.log('fdgdbfb')
}
//А теперь визиваємо просто функцію у котру у якості параметра передаємо іньшу функцію, а в середині ця функція буде визиватись і виконуватись
funcWithCallback(prinnn)

- коротка стрілочна функція

const myArray = [1, 2, 3]
const myArray2 = myArray.map(elementOfMassiv=>elementOfMassiv*3)

- повна стрілочна функція

const myArray = [1, 2, 3]
const myArray2 = myArray.map((elementOfMassiv)=>{
return elementOfMassiv*3
})

- анонімний функціональний вираз

const myArray = [1, 2, 3]
const myArray2 = myArray.map(function (elementOfMassiv){
return elementOfMassiv*3
})

Встановлення значення параметру за-замовчанням

function greet(username = "Guest") {
console.log(`Hello, ${username}!`);
}

Получение аргументов в функции

arguments

змінна (псевдомасив) за замовченням куди будуть передаватись усі передані аргументи

function multiply() {
let total = 1;
for (const arg of arguments) {
total *= arg;
}
return total;
}
console.log(multiply(1, 2, 3)); // 6

rest

(...rest). Це спеціальний синтаксис, який дозволяє зібрати групу незалежних елементів у масив. Тих що не попали у очикувані параметри. Замість rest може бути люба назва. Головне синтаксис. Використовуєтся при описі функції.

function multiply(first, second, ...args) {
console.log(first, second, args);
}
multiply(1, 2); // 1 2
multiply(1, 2, 3); // 1 2 [3]
multiply(1, 2, 3, 4); // 1 2 [3, 4]

spread

(...spread) оператор розпилення. Коли функціонал використовується при виклику функції, він перетворює масив на список аргументів.

const temps = [14, -4, 25, 8, 11];
console.log(...temps); // 14 -4 25 8 11 набір окремих чисел
console.log(Math.max(...temps)); // 25