JavaScript: descripción general de los objetos

JavaScript es un lenguaje de programación orientada a objetos (OOP). Un lenguaje de programación se puede llamar orientado a objetos si proporciona cuatro capacidades básicas a los desarrolladores:

  • Encapsulation - la capacidad de almacenar información relacionada, ya sean datos o métodos, juntos en un objeto.

  • Aggregation - la capacidad de almacenar un objeto dentro de otro objeto.

  • Inheritance - la capacidad de una clase de depender de otra clase (o número de clases) para algunas de sus propiedades y métodos.

  • Polymorphism - la capacidad de escribir una función o método que funcione de diversas formas.

Los objetos se componen de atributos. Si un atributo contiene una función, se considera un método del objeto; de lo contrario, el atributo se considera una propiedad.

Propiedades del objeto

Las propiedades del objeto pueden ser cualquiera de los tres tipos de datos primitivos, o cualquiera de los tipos de datos abstractos, como otro objeto. Las propiedades del objeto suelen ser variables que se utilizan internamente en los métodos del objeto, pero también pueden ser variables visibles globalmente que se utilizan en toda la página.

La sintaxis para agregar una propiedad a un objeto es:

objectName.objectProperty = propertyValue;

For example - El siguiente código obtiene el título del documento usando el "title" propiedad de la document objeto.

var str = document.title;

Métodos de objetos

Los métodos son las funciones que permiten que el objeto haga algo o que le hagan algo. Hay una pequeña diferencia entre una función y un método: en una función hay una unidad independiente de declaraciones y un método se adjunta a un objeto y puede ser referenciado por elthis palabra clave.

Los métodos son útiles para todo, desde mostrar el contenido del objeto en la pantalla hasta realizar operaciones matemáticas complejas en un grupo de propiedades y parámetros locales.

For example - A continuación se muestra un ejemplo sencillo para mostrar cómo utilizar el write() método de objeto de documento para escribir cualquier contenido en el documento.

document.write("This is test");

Objetos definidos por el usuario

Todos los objetos definidos por el usuario y los objetos integrados son descendientes de un objeto llamado Object.

El nuevo operador

los newEl operador se utiliza para crear una instancia de un objeto. Para crear un objeto, elnew El operador es seguido por el método constructor.

En el siguiente ejemplo, los métodos del constructor son Object (), Array () y Date (). Estos constructores son funciones JavaScript integradas.

var employee = new Object();
var books = new Array("C++", "Perl", "Java");
var day = new Date("August 15, 1947");

El constructor Object ()

Un constructor es una función que crea e inicializa un objeto. JavaScript proporciona una función de constructor especial llamadaObject()para construir el objeto. El valor de retorno delObject() El constructor se asigna a una variable.

La variable contiene una referencia al nuevo objeto. Las propiedades asignadas al objeto no son variables y no están definidas con elvar palabra clave.

Ejemplo 1

Pruebe el siguiente ejemplo; demuestra cómo crear un objeto.

<html>
   <head>
      <title>User-defined objects</title>     
      <script type = "text/javascript">
         var book = new Object();   // Create the object
         book.subject = "Perl";     // Assign properties to the object
         book.author  = "Mohtashim";
      </script>      
   </head>
   
   <body>  
      <script type = "text/javascript">
         document.write("Book name is : " + book.subject + "<br>");
         document.write("Book author is : " + book.author + "<br>");
      </script>   
   </body>
</html>

Salida

Book name is : Perl 
Book author is : Mohtashim

Ejemplo 2

Este ejemplo demuestra cómo crear un objeto con una función definida por el usuario. aquíthis La palabra clave se utiliza para hacer referencia al objeto que se ha pasado a una función.

<html>
   <head>   
   <title>User-defined objects</title>
      <script type = "text/javascript">
         function book(title, author) {
            this.title = title; 
            this.author  = author;
         }
      </script>      
   </head>
   
   <body>   
      <script type = "text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         document.write("Book title is : " + myBook.title + "<br>");
         document.write("Book author is : " + myBook.author + "<br>");
      </script>      
   </body>
</html>

Salida

Book title is : Perl 
Book author is : Mohtashim

Definición de métodos para un objeto

Los ejemplos anteriores demuestran cómo el constructor crea el objeto y asigna propiedades. Pero necesitamos completar la definición de un objeto asignándole métodos.

Ejemplo

Pruebe el siguiente ejemplo; muestra cómo agregar una función junto con un objeto.

<html>
   
   <head>
   <title>User-defined objects</title>
      <script type = "text/javascript">
         // Define a function which will work as a method
         function addPrice(amount) {
            this.price = amount; 
         }
         
         function book(title, author) {
            this.title = title;
            this.author  = author;
            this.addPrice = addPrice;  // Assign that method as property.
         }
      </script>      
   </head>
   
   <body>   
      <script type = "text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         myBook.addPrice(100);
         
         document.write("Book title is : " + myBook.title + "<br>");
         document.write("Book author is : " + myBook.author + "<br>");
         document.write("Book price is : " + myBook.price + "<br>");
      </script>      
   </body>
</html>

Salida

Book title is : Perl 
Book author is : Mohtashim 
Book price is : 100

La palabra clave 'con'

los ‘with’ La palabra clave se utiliza como una especie de abreviatura para hacer referencia a las propiedades o métodos de un objeto.

El objeto especificado como argumento para withse convierte en el objeto predeterminado durante la duración del bloque que sigue. Las propiedades y los métodos del objeto se pueden utilizar sin nombrar el objeto.

Sintaxis

La sintaxis de with object es la siguiente:

with (object) {
   properties used without the object name and dot
}

Ejemplo

Pruebe el siguiente ejemplo.

<html>
   <head>
   <title>User-defined objects</title>   
      <script type = "text/javascript">
         // Define a function which will work as a method
         function addPrice(amount) {
            with(this) {
               price = amount;
            }
         }
         function book(title, author) {
            this.title = title;
            this.author = author;
            this.price = 0;
            this.addPrice = addPrice;  // Assign that method as property.
         }
      </script>      
   </head>
   
   <body>   
      <script type = "text/javascript">
         var myBook = new book("Perl", "Mohtashim");
         myBook.addPrice(100);
         
         document.write("Book title is : " + myBook.title + "<br>");
         document.write("Book author is : " + myBook.author + "<br>");
         document.write("Book price is : " + myBook.price + "<br>");
      </script>      
   </body>
</html>

Salida

Book title is : Perl 
Book author is : Mohtashim 
Book price is : 100

Objetos nativos de JavaScript

JavaScript tiene varios objetos nativos o integrados. Estos objetos son accesibles en cualquier parte de su programa y funcionarán de la misma manera en cualquier navegador que se ejecute en cualquier sistema operativo.

Aquí está la lista de todos los objetos nativos JavaScript importantes: