Var Vs Deixar Javascript

| | |

Novos recursos foram adicionados à linguagem JavaScript com o lançamento do ECMAScript6 (ES6). Uma dessas características afeta a forma como declaramos as variáveis. Com a adição de let e const, havia todos os tipos de perguntas sobre quando usar cada uma das declarações de variáveis.

Neste artigo, falamos sobre cada uma das opções, quanto à sua definição e uso no ambiente JavaScript.

Pré-ES6: Var

Antes do lançamento do ES6, a palavra-chave usada para variáveis foi declaração de var .

As variáveis também podem ser redeclaradas e atualizadas sem erros

O primeiro problema com var é óbvio: redeclarações podem causar bugs em seu código se uma variável já recebeu o mesmo nome. Pode haver consequências não intencionais se algo for declarado novamente e você não perceber que o nome da variável já foi usado na base de código. Junto com isso, outras peculiaridades também surgem em relação ao escopo e levantamento.

Escopo

O escopo nos diz o que variáveis estão disponíveis para nós usarmos - temos variáveis que podem ter escopo global ou local. E se tivermos a mesma declaração de variável, mas for global e a outra for local?

Quando nossa var é declarada fora da função, ela fica globalmente disponível para nós globalmente. Quando "hello" é declarado na função, ele está disponível apenas para a função - com escopo funcional ou local

Quando temos uma declaração de variável que é a mesma, mas o escopo é diferente, o var na função não altera a atribuição do var global, mesmo com a invocação de helloWorld() . Como o var é declarado na função com o nome "hello", ele não parece estar dentro do alcance global da definição alternativa.

Hoist

Quando uma variável é içada em JavaScript, a declaração de funções e variáveis é movida para o início de seu escopo antes da execução do código. A variável é declarada, mas não inicializada, portanto, o valor inicial da variável é indefinido.

Aqui, "olá" é içado e declarado no topo do seu alcance. Então, basicamente, o computador interpreta o código assim:

O mecanismo JavaScript vê que hello existe, mas não sabe como hello é definido até a próxima etapa.

Eventualmente, os desenvolvedores que ajudaram a criar o padrão ECMAScript perceberam que havia alguns pequenos problemas com o var que poderiam custar-lhes tempo e dinheiro. Então eles decidiram criar palavras-chave mais rigorosas. Isso levou à criação de "licença" e "custo" em ES6

ES6:. Let

A palavra-chave let é muito semelhante à palavra-chave var de várias maneiras. As principais diferenças são a forma como os erros são retornados e o escopo de cada palavra-chave é definido.

Variáveis declaradas e inicializadas com a palavra-chave let podem ser reatribuídas, mas não podem ser redeclaradas

Quando você executa o código acima em um console JavaScript, a última linha retorna um erro:

SyntaxError: The identifier ` hello` já foi declarado

Ao contrário de var, declarar variáveis usando let não permitirá uma declaração para as mesmas. Nome variável. Você pode, no entanto, reatribuir se desejar, conforme mostrado no exemplo acima.

Escopo

Em termos de campo, let é muito semelhante a var. Além das regras que o escopo global ou local nos dá, há uma restrição adicional com let. As variáveis declaradas em um bloco de código estão disponíveis apenas para esse bloco de código. Isso é semelhante ao escopo funcional, pois as funções são blocos de código que podem ser transportados ainda mais por ter blocos separados dentro dessa função.

Não há erros neste código porque o duas instâncias de hello são tratadas como variáveis separadas porque têm escopos diferentes.

Hoisting

Hoisting é outra área onde as declarações let e var são semelhantes. "Var", quando gerado, é inicializado como indefinido. No entanto, "leave" gera um erro de referência se você tentar usá-lo antes de ser inicializado.

Observe que a palavra-chave let é a melhor escolha em termos de sintaxe. Isso ocorre porque os erros são gerados quando você tenta redeclarar uma variável ou usá-la antes do processo de inicialização.

ES6: Const

A palavra-chave const tem linhas de guia mais rigorosas do que a let palavra-chave . Com const, as variáveis não podem ser declaradas ou reatribuídas. Um TypeError é gerado se você tentar reatribuir a um const.

Dito isso, ao trabalhar com objetos ou arrays, as propriedades do objeto ou array podem ser atualizadas. Desde que a estrutura básica do objeto ou tabela não seja alterada, você sempre poderá atualizá-la.

Como mostra o exemplo, reatribuir a tarefa a um novo conjunto de propriedades resulta em um erro TypeError: Assignment to constant variable.. Const não pode ser reatribuído ou redeclarado, exceto nos casos em que você atualiza a propriedade exclusiva em um objeto

Escopo e elevação

Assim como a palavra-chave let, const é um bloco de escopo e não inicializa quando içado , então ele gerará um erro se você tentar usá-lo antes da inicialização.

A palavra-chave const é ideal para usar até que você não consiga " não o uso mais Isto é quando você precisa transferir ou colocar para atualizar sua variável

Conclusão

Neste artigo, analisamos as diferenças entre let, var e custo . De todas as palavras-chave que temos atualmente, é melhor não usar var a menos que seja necessário. Em vez disso, use let ou const.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method