JavaScript básico - Entender variáveis não inicializadas

// Altere apenas o código abaixo desta linha
var a = 4 + 1;
var b = 10 + 0;
var c = c + " I am a";

// Altere apenas o código acima desta linha

a = a + 1;
b = b + 5;
c = c + " String!";

oque esta errado?

Oii @yasmincarvalho06, boa noite :slight_smile:

Na terceira linha, você está tentando concatenar a variável c com a string " I am a", mas você não inicializou a variável c antes. :eyes:

Na verdade, você está tentando concatenar algo indefinido com a string já que essa variável ainda não existe.

Para corrigir esse erro, você precisa inicializar a variável c antes de tentar concatená-la com algum valor, ou seja, atribuir um valor a ela.

Faz sentido? Se precisar de mais ajuda ou não tiver fica nítido, estou aqui! :blush:

1 Like

ainda nao consegui entender…

1 Like

Oiee! :slight_smile: @yasmincarvalho06 obrigada por dar visibilidade vou tentar explicar de outra forma e se não tiver ficado nítido me avise <3

O que significa inicializar uma variável?
É de fato atribuir um valor a ela.

Quando fazemos:

var c = c + "I am a"

Estamos falando que a variável c recebe como valor: c + uma string “I am a”, porém hora que falamos que essa variável c é igual a c é ai que tá o erro, o c acabou de ser criado/inicializado ele ainda não existe. Portanto não podemos fazer:

var c = c

Pois c ainda não existe, concorda comigo? Eu acabei de criar essa variável.

Qualquer dúvida me avisa!!

// Altere apenas o código abaixo desta linha
var a = 4 + 1;
var b = 10 + 0;
var c = c + “I am a”

// Altere apenas o código acima desta linha

a = a + 1;
b = b + 5;
c = c + " String!";


tem alguma coisa que ainda esta errada e eu não sei oque e, estou com muita duvida socorro! :face_holding_back_tears:

Oiee! :slight_smile: @yasmincarvalho06 vou tentar explicar de outra forma e se não tiver ficado nítido me avise <3

Pensa que uma variável é como uma vaga de estacionamento. Primeiro, ela precisa existir (ser criada), como uma vaga vazia por exemplo, antes de poder receber um carro (um valor). Não podemos colocar um carro em uma vaga que ainda não foi criada!

Quando fazemos:

var c = c + "I am a"

Estamos falando que a variável c recebe como valor: c + uma string “I am a”, porém hora que falamos que essa variável c é igual a c é ai que tá o erro, o c acabou de ser criado/inicializado ele ainda não existe. Portanto não podemos fazer:

var c = c

Pois c ainda não existe, concorda?
Eu acabei de criar essa variável. Eu teria que primeiro iniciar ela com qualquer valor pra depois fazer essa nova atribuição como mostro abaixo:

c = c + " String!";

Vamos para outro exemplo: :slight_smile:

var number = 1 
number = number + 2

Na primeira linha, é atribuído o valor 1 à variável number . Na segunda linha, ocorre uma operação de adição em que number recebe o resultado da soma do seu valor atual, 1 , com 2 . Portanto, após essa operação, number passa a ter o valor 3 , resultante da adição de 1 e 2 .

Perceba que antes de fazer a minha linha 2 eu primeiro atribui um valor a number. :eyes:

Qualquer dúvida me avisa!!

1 Like