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 (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), , .
!