Executando verificação de segurança...
3

Na programação, qual a diferença entre números declarados diretamente ou entre aspas ou crases? Ex: 5, '5', "5" e `5`. [JS]

Entre as diversas linguagens de programação podem haver pequenas diferenças quanto a isso, mas a um grosso modo (tentando generalizar) o comportamento é basicamente o seguinte.

Exemplificando com a linguagem Javascript

var a = 5;
var b = '5';
var c = "5";
var d = `5`;

No código acima, declaramos 4 variáveis a, b, c e d.

A variável a recebe o valor 5, ou seja, ela recebe o valor no tipo int (inteiro). Sendo assim, com valor numérico pode-se executar cálculos, incrementações, etc...

A variável b recebe a string '5' com aspas simples. Isso significa que o caractere 5 é expresso de forma literal como texto, da maneira como foi digitado.

A variável c recebe a string "5" com aspas duplas. No caso dessa linguagem se comporta basicamente como a variável b.
Em outras linguagens, como o PHP pode se comportar como string dinâmica, como vemos a seguir no caso de crases no javascript.

A variável d recebe também a string `5` mas entre crases. Na atribuição (declaração de variável) ela se comporta de mesmo modo que b e c.

* No javascript, strings entre crases são dinâmicas, se pode interagir com variáveis e operações. Ex:

var nome = 'Leonardo';
var texto = `Meu nome é ${nome}.`;

console.log(texto);

Neste exemplo, verá no console o texto Meu nome é Leonardo. devido a interatividade da declaração entre crases e a sinalização com sifrão e chaves que ali há um conteúdo dinâmico.

Se usar o mesmo em aspas simples ou duplas...

var nome = 'Leonardo';
var texto = 'Meu nome é ${nome}.';

console.log(texto);

Vera no console o texto literal Meu nome é ${nome}. pois não há dinamicidade neste caso e dependendo da sua IDE de desenvolvimento (VS Code por ex.) verá um aviso de que a variável nome não está sendo usada.

Voltando ao caso com números, vemos a seguir como se comporta.

var a = 5;
var b = 5;

console.log(a+b);

Temos no console o valor 10 devido ao sinal de mais (+) realizar a soma dos dois valores declarados como inteiros.
Diferente ocorre no próximo exemplo.

var a = '5';
var b = '5';

console.log(a+b);

Vemos no console o texto 55. Devido a declaração entre aspas dizendo que as variáveis contém o texto 5 o sinal de mais (+) se comporta como a instrução de concatenação juntando as duas strings.

Carregando publicação patrocinada...
1

Estou iniciando em JS e não sabia dessas diferenças. Principalmente o entre crases.

Hoje mesmo estava estudando e fiz uma comparação entre dois valores, e meu desejo era que o console exibisse 'variável é maior', então pra isso eu usei console.log(variável,'é maior').

Creio que se eu usar a varíavel entre crases eu conseguirei adicionar ela no console.log('${variável} é maior')

Vou testar depois usando a variável entre crases pra ver como fica.

1

Amigo, no console.log() você pode passar 1 ou 2 parâmetros.

Passa do 1, ele vai te mostrar apenas o conteúdo da variável ou texto que colocar.

const nome = "Leonardo";
console.log(nome);

No caso acima, irá aparecer no console apenas a string Leonardo.

Quando você passa 2 parâmetros, o primeiro é apenas uma anotação.

const nome = "Leonardo";
const idade = 32;

console.log('NOME', nome);
console.log('IDADE', idade)

Neste caso irá aparecer anotações antes do conteúdo da variável.

NOME Leonardo
IDADE 32

1