История изменений
Исправление javascript, (текущая версия) :
Потому что это не переопределение, а затенение.
let x = 10;
let y = |v| v + x;
let x = 20;
let z = |v| v + x;
println!("{} {}", y(0), z(0)); // 10 20
let x = 0;
let y = &x;
let x = 1;
let z = &x;
assert_eq!(*y, 0); // ok
assert_eq!(*z, 1); // ok
Исходная версия javascript, :
Потому что это не переопределение, а затенение.
let x = 10;
let y = |v| v + x;
let x = 20;
let z = |v| v + x;
println!("{} {}", y(0), z(0));
let x = 0;
let y = &x;
let x = 1;
let z = &x;
assert_eq!(*y, 0);
assert_eq!(*z, 1);