javascript - How does `Array.from({length: 5}, (v, k) => k)` work? -
i may missing obvious here breakdown step step why array.from({length: 5}, (v, k) => k) returns [0, 1, 2, 3, 4]?
https://developer.mozilla.org/en/docs/web/javascript/reference/global_objects/array/from
i didn't understand in detail why works
javascript uses duck-typing. means when call method foo object, supposed of type bar doesn't check if object bar checks if has method foo.
to sum up:
let fakearray = {length:5}; fakearray.length //5 let realarray = [1,2,3,4,5]; realarray.length //5 first 1 "fake" javascript array (which has property length). when array.from checks property length returns 5 , therefore creates real array length 5. can call fakearray object "arraylike".
second part lamba populates array values of indices (second argument).
this technique useful mocking object test. example:
let ourfilereader = {} ourfilereader.result = "someresult" //ourfilereader mock real filereader
Comments
Post a Comment