Кирилл Кучеров
var
let
const
let
отличается от const
var
. Вообще. Серьезно.const
, если не получается (пример -
цикл for) - let
.
function foo(max) {
for (var i = 0; i < max; i++) {
setTimeout(function() {console.log(i + 1)}, i * 1000);
}
}
foo(3);
function foo(max) {
for (let i = 0; i < max; i++) {
setTimeout(function() {console.log(i + 1)}, i * 1000);
}
}
foo(3);
foo();
function foo() {}
console.log(v); // ???
var v = 345;
console.log(v); // ???
window
window
, во второй - исполняет
const a = 10;
const b = 5.5;
typeof a === typeof b; // ???
typeof typeof a; // ???
const s1 = 'string';
const s2 = "string";
const s3 = `${a} + ${b} = ${a + b}`;
console.log(parseInt('100500'));
console.log(parseFloat('100.500'));
console.log(parseInt('10e5'));
+'199';
+'-1.99';
+'1e4';
Number('1e4');
+'45jjf'; // NaN, parseInt('45jjf') => 45 !!!
+'jjf34'; // NaN
typeof NaN; // ???
parseInt(parseInt); // ???
const b1 = true || false;
console.log(!!a);
console.log(!!0);
console.log(!!NaN);
console.log(!!'');
console.log(!!null);
console.log(!!undefined);
const obj = {a: 10, 'b c': 11};
console.log(obj.a);
console.log(obj['b c']);
console.log(obj.foo);
obj.bar = 10;
delete obj.bar;
console.log(obj.bar);
obj.baz = function baz() {console.log('Hello')};
obj.baz();
function foo() {
console.log('hello');
}
const bar = foo;
bar();