Keyword: var,let e const no Javascript
- #JavaScript
var -> variáveis declaradas com esta 'keyword' são de escopo globais(declaradas fora da função), ou escopo de função,quando declaradas ou redeclaradas dentro desta .
let -> variáveis declaradas com esta 'keyword' pertencem a um escopo,e,escopo é o que está entre chaves - {},diga-se funções .
const -> variáveis declaradas com esta 'keyword' indica que seu valor nunca mudaria,durante a execução do programa .
let i=10;
function A(){
let i=5;
console.log(i);
}
A();
console.log(i);
A();
Resultado:
5
10
5
var i=10;
function A(){
i=5;
console.log(i);
}
A();
console.log(i);
A();
Resultado:
5
5
5
var i=10;
function A(){
var i=5;
console.log(i);
}
A();
console.log(i);
A();
Resultado:
5
10
5
var i=j,j='A';
function A(){
var i=5;
console.log(i);
}
A();
console.log(i);
console.log(j);
A();
Resultado:
5
undefined
A
5
Objeto e Array e a 'Keyword' const
Objeto
Para objetos a referência a ele que é constante,não suas propriedades,que podem ser modificadas .
const obj={
a:10,
b:'New York'
};
obj.a=20;
obj.c='Rio de Janeiro';
console.log(obj);
Resultado:
{ a: 20, b: 'New York', c: 'Rio de Janeiro' }
Tentativa de mudar a referência para o objeto,resultou erro, em tempo de execução (runtime error) .
obj={};
^
TypeError: Assignment to constant variable.
ARRAY
Um array também é referenciado,então ao ser declarado com a 'keyword' const,é a referência a ele que não pode ser alterada,não seus elementos .
const array =['Chevrolet','Ford','General Motors'];
array.push(1000);
console.log(array);
Resultado:
[ 'Chevrolet', 'Ford', 'General Motors', 1000 ]
tentativa de mudar a referência de um array declarado com a 'keyword' const,resultou,erro,em tempo de execução (runtime error ) .
array=[];
^
TypeError: Assignment to constant variable.