Javascript Primitivos vs. Objetos: Esclarecendo a noção
Apesar da percepção comum de que "quase tudo em Javascript é um objeto", nem todos entidades na linguagem aderem a esta definição. Esta distinção entre primitivos e objetos merece esclarecimento.
Primitivos
Em contraste com os objetos, os primitivos são valores imutáveis que existem em sua forma fundamental. Eles não possuem métodos e propriedades e incluem tipos de dados como:
Object Wrappers
Primitivos possuem wrappers de objetos correspondentes (String, Número, Booleano) que oferecem métodos e propriedades. No entanto, os próprios primitivos não são objetos. Para interagir com as propriedades de uma primitiva, o Javascript cria implicitamente um objeto wrapper para a operação.
Exemplo com Strings
Considere o trecho de código abaixo:
var s = "foo"; var sub = s.substring(1, 2); // sub is now the string "o"
Javascript executa internamente as seguintes etapas:
Tentativa de atribuir propriedades a primitivos
Atribuir propriedades a primitivas não é efetivamente possível porque tais propriedades serão associadas ao objeto wrapper temporário e não à primitiva em si:
var s = "foo"; s.bar = "cheese"; alert(s.bar); // undefined
Funções como objetos
Funções, por outro lado, são objetos genuínos capazes de herdar da classe Object. Eles possuem propriedades e podem ser manipulados como outros objetos:
function foo() {} foo.bar = "tea"; alert(foo.bar); // tea
Concluindo, embora possa parecer que os primitivos têm comportamento semelhante ao de um objeto, eles são distintos dos objetos verdadeiros em Javascript. Os wrappers de objetos permitem interações com valores primitivos, mas os primitivos permanecem imutáveis. As funções, entretanto, são полноценные объекты, objetos completos, capazes de todas as capacidades do objeto. Esse entendimento esclarece a relação entre primitivos e objetos na linguagem Javascript.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3