Primeiro, precisamos entender o conceito original de valor
Valor original
Segmentos de dados simples armazenados na pilha, ou seja, seus valores são armazenados diretamente no local em que a variável é acessada.
Valor de referência
Objetos armazenados na pilha, ou seja, o valor armazenado na variável é um ponteiro apontando para a memória onde o objeto é armazenado
― - - o conceito no W3C foi referenciado
O valor original, para ser simples, é nulo número de string indefinido booleano
A conversão de objetos em boolean é relativamente simples
Todos os objetos (incluindo matrizes e funções) são convertidos em verdadeiros, e o objeto Wrapper também é um objeto e também é convertido em verdadeiro.
O livro diz o seguinte: "Os objetos temporários criados ao acessar propriedades de cordas, números e booleanos são chamados de objetos de wrapper". É assim que eu entendo. A nova string, número e booleano são todos considerados objetos de wrapper. Eles são diferentes dos objetos, mas são realmente objetos. A principal diferença é que eles não podem definir novos atributos para objetos de wrapper, porque os atributos do número da string boolean são somente leitura.
Converter objeto em tipo de string
Se o objeto possui o método ToString (), chame o método ToString (). Se um valor primitivo for retornado, converta o valor original em uma string e o objeto será convertido nessa sequência. Se o método tostring () não estiver disponível ou o valor retornado por esse método não for um valor original, ligue para o método ValueOf (). Na mesma rotina, se o retorno for um valor original, converta o valor original em uma string e o objeto será convertido nessa sequência. Se o retorno não for um valor original, um erro de conversão de tipo será lançado.
O método ToString () e ValueOf () aqui não serão descritos um por um.
Converter objeto em tipo de número
Comparado com o processo de conversão em número de sequência e conversão, é exatamente o oposto. Primeiro, ligue para o método ValueOf () e depois chame o método ToString (). Finalmente, o método ToString () retorna não o valor original e JS lança um erro.
Ao usar os operadores "==" e "+" para cálculos numéricos ou splicing de cordas, se um lado do operador for um objeto, um objeto especial é convertido no valor original. Para objetos não data, a conversão de objetos em valores originais é
O objeto chama o método ValueOf () primeiro, depois o método ToString () e converte diretamente o valor original obtido chamando esses dois métodos como o valor original no objeto. Para um objeto de data, primeiro ligue para o método ToString () e ligue para o método ValueOf.
Para converter objetos de data em valores originais, dê um exemplo
var agora = new Date (); typeof (agora+1); // "string" converte o objeto Data em uma string, porque o método tostring () tipoof (agora-1); // "número" reflete a flexibilidade de JS, "-" converte a string em um número
O método acima de converter objetos em valores originais é todo o conteúdo que compartilhei com você. Espero que você possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.