f
, по которому каждому элементу x
множества X
ставится в зависимость единственный элемент y
множества Y
X
на множество 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!"