Diferentes tipos de dados básicos em JS podem ser convertidos. Existem 5 tipos básicos de dados em js: string, número, booleano, nulo, indefinido.
Conversão entre dados básicos
| Tipo de dados original | Número do tipo de destino |
| indefinido | Nan |
| nulo | 0 |
| Falso | 0 |
| verdadeiro | 1 |
| String digital | Número correspondente |
| String que não pode ser transformada | Nan |
| Tipo de dados original | String de tipo de destino |
| indefinido | indefinido |
| nulo | nulo |
| Falso | Falso |
| verdadeiro | verdadeiro |
| número | String numeral |
A adição de diferentes tipos de dados básicos, os dados são convertidos em número primeiro e depois convertidos em string (se houver um tipo de string de dados para participar da operação)
Copie o código do código da seguinte forma:
nulo + indefinido // 0 + nan
nulo + falso // 0 + 0
1 + verdadeiro // 1 + 1
1 + '1' /// '11;
1 + 2 + '3' // '33'; se tornará o mesmo resultado do seguinte.
1 +(2 +'3') // '123';
's' + null // 'snull'
'S' + indefinido // 'Sundefined'
'S' + True // 'StraU'
1+true+indefinido+'s' // 1+1+nan+'s' = 2+nan+'s' = nan+'s' = nans
Participação de objetos do método de adição e subtração
O objeto participa do tipo básico de operação de dados e se traduz primeiro no tipo básico. Primeiro, chame o método ValueOf. No entanto, os dados de data são exatamente o oposto
Copie o código do código da seguinte forma:
// Para facilitar a observação do método da tostragem e do método de reescrita
Date.prototype.toString = function () {
Retornar 1;
}
Date.prototype.valueof = function () {
Retornar 2;
}
var a = nova data,
b = nova data;
a + b;
// reescrever novamente
Date.prototype.toString = function () {
Retornar {};
}
var c = nova data,
d = nova data;
C + d;
// Reescreva o método Valueof
Date.prototype.valueof = function () {
Retornar {};
}
var e = nova data,
f = nova data;
E + f; // erro
O exemplo acima pode ser substituído por objeto ou outros tipos para obter os resultados correspondentes, mas a primeira chamada Valueof e depois ligar para a toque.
O efeito mágico de '+'
Há um número '+' na frente dos dados, que podem ser convertidos em um número
Copie o código do código da seguinte forma:
+'1'+1 // 2
+'s'+2 // nan
Nota: Pela primeira vez, o formato não é bom e há muitas omissões.