5. // Imperative programming
var x = 1, y = 2, z = y + x;
console.log(z); //3
x = 2;
console.log(z); //3
// Reactive programming
var x = 1, y = 2, z = y + x;
console.log(z); //3
x = 2;
console.log(z); //4
11. PURE FUNCTIONS
DECLARATIVE PROGRAMMING
REFERENTIAL TRANSPARENCY
INMUTABILITY
// Impure function
var likes = 0;
function addLike() {
return ++likes;
}
// Pure function
function addLike(likes) {
return ++likes;
}
addLike(addLike(0)); // 2
12. DECLARATIVE PROGRAMMING
REFERENTIAL TRANSPARENCY
INMUTABILITY
PURE FUNCTIONS
// Referential transparent function
int plusOne(int x)
{
return x+1;
}
// Referential opaqueness function
int G = 10;
int plusG(int x)
{//G can be modified externally returning different values.
return x + G;
}
13. DECLARATIVE PROGRAMMING
REFERENTIAL TRANSPARENCY
INMUTABILITY
PURE FUNCTIONS
// Referential transparent function
int plusOne(int x)
{
return x+1;
}
// Referential opaqueness function
int G = 10;
int plusG(int x)
{//G can be modified externally returning different values.
return x + G;
}