f, по которому каждому элементу x множества X ставится в зависимость единственный элемент y множества YX на множество Y
const multiplyByFive = (x) => 5 * x;
const y = multiplyByFive(4);
// y === 20;
y - зависимая переменная, наша функцияx - независимая переменная или аргументmultiply - наша f - набор действий, которые нужно произвести над переданным x для получения y(просто и понятно, к этому стоит стремиться и в программировании)
const multiplyByFive = (x) => 5 * x;
const y = multiplyByFive(4);
// y === 20;
const multiplyByFive = () => x * 5;
const x = 4;
const y = multiplyByFive();
// y === 20;
let y;
const multiplyByFive = () => {
y = 5 * x;
};
const x = 4;
multiplyByFive();
// y === 20;
const multiplyByFive = () => {
y = x * 5;
};
const x = 4;
multiplyByFive();
// y === 20;
var number = 1;
function increment() {
return number++;
}
// глобальная переменная изменяется: number = 2
increment();
var number = 1;
function increment(n) {
return n + 1;
}
// глобальная переменная НЕ изменяется: возвращает 2
increment(number);
Неизменяемый - значение объекта не может быть изменено после создания
Изменяемый - значение объекта может быть изменено после создания
Императивный код - как достичь
Декларативный код - что достичь
function incrementArray(arr) {
let resultArr = [];
for (let i = 0; i < arr.length; i++) {
resultArr.push(arr[i] + 1);
}
return resultArr;
}
function incrementArray(arr) {
return arr.map(item => item + 1);
}
const multiplyByFive = (x) => 5 * x;
const y = multiplyByFive(4);
// y === 20;
const double = function(x) {
return x * 2;
}
const timesTwo = double;
timesTwo(4); // результат: возвращает 8
function sayHi() {
alert('Hi!');
}
function greet(greeting) {
greeting();
}
greet(sayHi); // "Hi!"
function whenMeetingJohn() {
return function() {
alert('Hi!');
}
}
var atLunchToday = whenMeetingJohn();
atLunchToday(); // "Hi!"