Wprowadzenie słowa kluczowego
To co jest naprawdę ciekawe to jak zachowuje się zasięg
https://babeljs.io/repl/#?experimental=false&evaluate=true&loose=false&spec=false&code=%2F%2F%20When%20you%20use%20let%20in%20a%20for%20loop%2C%0A%2F%2F%20the%20value%20has%20two%20levels%20of%20scoping.%0A%2F%2F%20Once%3A%20within%20the%20parentheses%20of%20the%20for%20()%20(_i%20in%20the%20es5%20version)%0A%2F%2F%20And%20again%3A%20within%20each%20iteration%20block%20(_i2%20in%20the%20es5%20version)%0Afor%20(let%20i%20%3D%200%3B%20i%20%3C%2010%3B%20i%2B%2B)%20%7B%0A%20%20%2F%2F%20If%20I%20log%20within%20a%20setTimeout%2C%0A%20%20%2F%2F%20I%20get%20the%20value%20of%20i%20in%20this%20scope%0A%20%20setTimeout(()%20%3D%3E%20console.log('timeout'%2C%20i)%2C%201000)%3B%0A%20%20%0A%20%20%2F%2F%20But%20here's%20the%20magic%2C%20if%20I%20alter%20this%20block's%20i%0A%20%20%2F%2F%20during%20the%20iteration%2C%20its%20value%20is%20passed%20back%0A%20%20%2F%2F%20to%20the%20i%20in%20the%20parent%20scope.%0A%20%20%2F%2F%20You%20can%20see%20this%20happening%20in%20line%2021%20of%20the%0A%20%20%2F%2F%20es5%20version.%0A%20%20i%20%3D%20i%20%2B%205%3B%0A%20%20console.log(i)%3B%0A%7D%0A%0A%2F%2F%20i%20is%20out%20of%20scope%20here.%0Aconsole.log(typeof%20i)%3B
#javascript
let rozwiązuje znany problem z domknięciem w pętli for.To co jest naprawdę ciekawe to jak zachowuje się zasięg
let w pewnych okolicznościach (a raczej implementacja tego zachowania).https://babeljs.io/repl/#?experimental=false&evaluate=true&loose=false&spec=false&code=%2F%2F%20When%20you%20use%20let%20in%20a%20for%20loop%2C%0A%2F%2F%20the%20value%20has%20two%20levels%20of%20scoping.%0A%2F%2F%20Once%3A%20within%20the%20parentheses%20of%20the%20for%20()%20(_i%20in%20the%20es5%20version)%0A%2F%2F%20And%20again%3A%20within%20each%20iteration%20block%20(_i2%20in%20the%20es5%20version)%0Afor%20(let%20i%20%3D%200%3B%20i%20%3C%2010%3B%20i%2B%2B)%20%7B%0A%20%20%2F%2F%20If%20I%20log%20within%20a%20setTimeout%2C%0A%20%20%2F%2F%20I%20get%20the%20value%20of%20i%20in%20this%20scope%0A%20%20setTimeout(()%20%3D%3E%20console.log('timeout'%2C%20i)%2C%201000)%3B%0A%20%20%0A%20%20%2F%2F%20But%20here's%20the%20magic%2C%20if%20I%20alter%20this%20block's%20i%0A%20%20%2F%2F%20during%20the%20iteration%2C%20its%20value%20is%20passed%20back%0A%20%20%2F%2F%20to%20the%20i%20in%20the%20parent%20scope.%0A%20%20%2F%2F%20You%20can%20see%20this%20happening%20in%20line%2021%20of%20the%0A%20%20%2F%2F%20es5%20version.%0A%20%20i%20%3D%20i%20%2B%205%3B%0A%20%20console.log(i)%3B%0A%7D%0A%0A%2F%2F%20i%20is%20out%20of%20scope%20here.%0Aconsole.log(typeof%20i)%3B
#javascript























Mirki, napotkałem dziwny problem. Tworzę interaktywną mapę na Leaflecie z zewnętrznymi plikami *.geojson. Lekkie warstwy typu linie, punkty itp. wczytują się bez problemu. Gorzej jest z warstwą poligonową - budynki. Oryginalnie waży 4mb i gdy ją wrzucam nie wczytuje się a konsola pokazuje błąd w leaflet.js
Uncaught TypeError: Cannot read property 'length' of nullGdy wywaliłem z warstwy ponad połowę obiektów i waży 1,6mb wtedy wczytuje
Podziel na 2 i sprawdz ktory plik jest prawidlowy. Ten nieprawidlowy podziel na 2 i znowu sprawdz. Postepuj tak do momentu az zostaniesz z 1 obiektem JSON ktory jest nieprawidlowy :)