📜 ⬆️ ⬇️

Redefining javascript: death for

image

for , , .

, , , , !

for JavaScript?

for (. mutation of state — — . ) (. side effects — — . ), .

, — , . , , , . , , .

, (. mutable state — — . ), , . , .

. , . . ? , !

?

, - . , , api, , ..

— , .

, , , . , , . , , .

, . for, .

const cats = [
 { name: 'Mojo',    months: 84 },
 { name: 'Mao-Mao', months: 34 },
 { name: 'Waffles', months: 4 },
 { name: 'Pickles', months: 6 }
]
var kittens = []
// ,     for
for (var i = 0; i < cats.length; i++) {
 if (cats[i].months < 7) {
   kittens.push(cats[i].name)
 }
}
console.log(kittens)

, .

-, :

const isKitten = cat => cat.months < 7
var kittens = []
for (var i = 0; i < cats.length; i++) {
 if (isKitten(cats[i])) {
   kittens.push(cats[i].name)
 }
}

— . “ 7 ” “ ” — . . 7 ? . , !

, isKitten , , .

— ( ) . , .

const isKitten = cat => cat.months < 7 
const getName = cat => cat.name
var kittens = []
for (var i = 0; i < cats.length; i++) {
 if (isKitten(cats[i])) {
   kittens.push(getName(cats[i]))
 }
}

filter map, , , (filter map — . ) . , .

const isKitten = cat => cat.months < 7
const getName = cat => cat.name
const kittens =
 cats.filter(isKitten)
     .map(getName)

, kittens.push(...). var.

const var let


, const , ( ), , !

, ( ).

:

const isKitten = cat => cat.months < 7
const getName = cat => cat.name
const getKittenNames = cats =>
 cats.filter(isKitten)
     .map(getName)
const cats = [
 { name: 'Mojo',    months: 84 },
 { name: 'Mao-Mao', months: 34 },
 { name: 'Waffles', months: 4 },
 { name: 'Pickles', months: 6 }
]
const kittens = getKittenNames(cats)
console.log(kittens)


filter map . : .


break


, “ break”, “ JavaScript: break GOTO ”.



. for?

, - (@joelnet), , .

!

')

Source: https://habr.com/ru/post/329004/


All Articles