"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Os primitivos Javascript são na verdade objetos?

Os primitivos Javascript são na verdade objetos?

Publicado em 15/11/2024
Navegar:788

Are Javascript Primitives Actually Objects?

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:

  • Strings
  • Números
  • Booleanos

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:

  1. Cria um objeto wrapper String a partir de s.
  2. Chama a substring( ) no objeto String.
  3. Descarta o objeto String.
  4. Retorna a string resultante.

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.

Tutorial mais recente Mais>

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