Тем, что он ничем не помогает. Не пришей п**де рукав, называется.
let не привносит ничего нового, а просто выступает защитой от дурака, который может случайно оконфузиться в паре случаев. Зато у людей теперь будет винегрет: тут let, там var.
Там описано, чем пренебрежение чтением документации может быть опасно.
> Pitfall 1
// Все знают, что
function ololo(){
for (var i in array)…
}
// То же самое, что
function ololo(){
var i;
for (i in array)…
}
> Pitfall 2
// 1
for (var i=0; i < (arr.length — 1); i++){
var func = function(i){
return arr[i];
}.bind(null, i);
result.push(func);
}
// 2
for (var i=0; i < (arr.length — 1); i++){
var func = (function(i){
return arr[i];
})(i);
result.push(func);
}
// 3
arr.forEach(function(v){
var func = (function(){
return v;
});
result.push(func);
});
И получается, что let вводят, как защиту от дурака, который может случайно оконфузиться в паре случаев. А ещё дурацкие скобки постоянно приходится закрывать… Надо в ECMA 7 это учесть, ага. :)
www.vsrf.ru/print_page.php?id=2601 вот тут первый абзац (не считая шапки):
> В силу ст. 126 Конституции РФ Верховный Суд РФ дает разъяснения по вопросам судебной практики. Таким образом, разъяснения, содержащиеся в постановлениях Пленума ВС РФ, имеют конституционную основу. Такому статусу разъяснений Пленума ВС РФ должно соответствовать их практическое значение. Они должны учитываться судами общей юрисдикции при осуществлении правосудия и разрешении уголовных и гражданских дел, так как являются для них обязательными.
Постановления верховного суда учитываются в судах ниже. А так как все суды ниже верховного (ст. 126: «Верховный Суд Российской Федерации является высшим судебным органом...»), то и получаются как бы прецеденты.
3500 / 24 = 146.
365 * 3 = 1095.
146 / (1095 / 100) = 13.
Маша-Даша-Петя-Гриша, мужик потратил всего 13% времени. Ты на вконтактик и дом 2 больше тратит. И, да: ты наших детей математике учить не будешь.
«Реестр» помогает изображать активность борьбы.
array.push(function(i){
return i;
}.bind(null, i));
Или использовать forEach (http://habrahabr.ru/post/175371/#comment_6098047).
Я ведь не дурак и знаю JS — его в моей жизни, хоть попой ешь: серверный и клиентский JS, AS, Haxe и даже VBScript. :)
let не привносит ничего нового, а просто выступает защитой от дурака, который может случайно оконфузиться в паре случаев. Зато у людей теперь будет винегрет: тут let, там var.
Нелепость какая-то.
> Pitfall 1
// Все знают, что
function ololo(){
for (var i in array)…
}
// То же самое, что
function ololo(){
var i;
for (i in array)…
}
> Pitfall 2
// 1
for (var i=0; i < (arr.length — 1); i++){
var func = function(i){
return arr[i];
}.bind(null, i);
result.push(func);
}
// 2
for (var i=0; i < (arr.length — 1); i++){
var func = (function(i){
return arr[i];
})(i);
result.push(func);
}
// 3
arr.forEach(function(v){
var func = (function(){
return v;
});
result.push(func);
});
И получается, что let вводят, как защиту от дурака, который может случайно оконфузиться в паре случаев. А ещё дурацкие скобки постоянно приходится закрывать… Надо в ECMA 7 это учесть, ага. :)
А с let просто пошли на поводу. Ещё теплится надежда, что let отменят.
forEach() можно задавать контекст:
[10, 20, 30].forEach(function(value, index, array){}, this)
> В силу ст. 126 Конституции РФ Верховный Суд РФ дает разъяснения по вопросам судебной практики. Таким образом, разъяснения, содержащиеся в постановлениях Пленума ВС РФ, имеют конституционную основу. Такому статусу разъяснений Пленума ВС РФ должно соответствовать их практическое значение. Они должны учитываться судами общей юрисдикции при осуществлении правосудия и разрешении уголовных и гражданских дел, так как являются для них обязательными.
Постановления верховного суда учитываются в судах ниже. А так как все суды ниже верховного (ст. 126: «Верховный Суд Российской Федерации является высшим судебным органом...»), то и получаются как бы прецеденты.