Conversão de tipo em javascript
JavaScript é uma linguagem fracamente digitada, variáveis e tipos não têm nada a ver, então às vezes precisamos realizar a conversão de tipo
1. Conversão de número (número)
Dois métodos:
number: 类型转化走的是v8引擎最底层机制的转化规则
parseFloat、parseInt:是提供额外的方法转化规则
número
Primeiro, converta o tipo de referência em um método de string (tostring) e, em seguida, converta a string em um número
字符串 => 数字:非有效数字转化为字符串
布尔值 => 数字 :1或0
null => 数字 : 0;
underfined => 数字 :NaN,
‘ ’ => 数字 :0
对象 => 数字:先把对象转化成为字符串,在转化成为数字
【】 => 数字 :0
Number(10); // 10
Number('10'); // 10
Number(null); // 0
Number(''); // 0
Number(true); // 1
Number(false); // 0
Number([]); //
0 Number([1,2]); // NaN
Number('10a'); // NaN
Number(undefined); // NaN
parseint () parsefloat ([va], [base]), pesquise a string da esquerda para a direita por caracteres numéricos válidos, sabendo que ela encontra uma string inválida, pare a pesquisa e retorne o encontrado como um número,
Se não for uma string, primeiro converta-a em uma string e use este método
let str = '12.5px'
parseInt(str) // 12
parseFloat(str)// 12.5
parseFloat(true)// NaN
isNaN determina o tipo de número:
Se o tipo atual for um tipo de número, retorna falso, caso contrário, retorna verdadeiro
2. Conversão de tipo de string (string)
O tipo primitivo, usando o método tostring () é o que parecia antes de envolver uma camada de aspas
数字 => 字符串:包裹一层引号。
NaN => 字符串: 'NaN' 。
true => 字符串: 'true' 。
null => 字符串: 'null' (浏览器会报错(禁止你使用)—— 通常可以进行转换)
undefined => 字符串:'undefined' (浏览器会报错(禁止你使用)—— 通常可以进行转换)
Object => 字符串: '[object,Object]' 。
O resultado da conversão de objeto comum é "[objeto, objeto]", porque o método Object.prototype.toString não é convertido em uma string, mas é usado para detectar o tipo de dados.
String(123); // "123"
String(true); // "true"
String(null); // "null"(报错) String(undefined);// "undefined"(报错) String([1,2,3]) // "1,2,3"
String({}); // "[object Object]"
Três, conversão de tipo booleano (booleano)
1 : '' ,
2 : subfinido ,
3 : NaN
4 : nulo ,
5 : falso ,
6: 0 ,
Os 6 valores acima são falsos quando convertidos para booleanos e todos os outros tipos são verdadeiros
Boolean('') // false
Boolean(undefined) // false
Boolean(null) // false
Boolean(NaN) // false
Boolean(false) // false
Boolean(0) // false
Boolean({}) // true
Boolean([]) // true
Quarto, a conversão de tipos primitivos
Existem dois casos para converter tipos primitivos: converter para tipos de string ou outros tipos primitivos .
Se já for um tipo primitivo, nenhuma conversão é necessária.
Se você converter para um tipo de string, chame o método toString () na função interna.
Se forem outros tipos básicos, chame o método valueOf () na função interna.
Se o tipo retornado não for primitivo, o método toString () continuará a ser chamado.
Se o tipo original não for retornado, um erro será relatado.