Colección de citas famosas - Frases elegantes - Discute si JavaScript es un lenguaje orientado a objetos.

Discute si JavaScript es un lenguaje orientado a objetos.

1 Tiene objetos que pueden contener datos y métodos para procesar datos. Los objetos pueden contener otros objetos. No tiene una clase (antes de que se implementara JavaScript 2.0), pero tiene un constructor que puede hacer lo que una clase puede hacer, incluso actuar como contenedor y función para variables y métodos. No tiene herencia basada en clases, pero sí herencia basada en prototipos. Las dos formas de construir un sistema de objetos son mediante herencia y mediante agregación. JavaScript tiene ambos.

Algunos críticos dicen que JavaScript no está verdaderamente orientado a objetos porque no puede ocultar información. Es decir, un objeto no puede tener variables y métodos privados: todos los miembros son públicos. Pero luego resultó que los objetos javaScript pueden tener variables y métodos privados. También hay críticas de que JavaScript no puede proporcionar herencia, pero se ha demostrado que JavaScript no solo puede admitir la herencia tradicional sino también aplicar otros patrones de reutilización de código.

Es un juicio correcto y ligeramente conservador decir que JavaScript es un lenguaje basado en objetos, pero es una percepción errónea decir que JavaScript no está orientado a objetos. De hecho, hay buenas razones para demostrar que JavaScript es un lenguaje orientado a objetos, pero en comparación con el tradicional orientado a objetos basado en clases, JavaScript tiene su propia singularidad, lo que llamamos orientado a objetos basado en prototipos.

-

¡Porque js es un lenguaje débilmente tipado, a diferencia de c++ y C#! No admite la sobrecarga de métodos de función. Si escribió un método antes y luego escribe un método con el mismo nombre, ¡sobrescribirá el último método de forma predeterminada! ¡Esta situación es la misma que en PHP!

A diferencia de C# y otros lenguajes que admiten la sobrecarga de funciones, ¡llama diferentes métodos basados ​​en diferentes parámetros y valores de retorno!

En cuanto a si JS está orientado a objetos, no está completamente orientado a objetos. También se puede escribir como clases, métodos y atributos, ¡pero es ligeramente diferente de otros lenguajes! Por ejemplo

var cls={

Mi:{a:0},

init:function()

{

alerta(este. mi. a);

}

};

ventana.onload=función()

{

cls.init();

}

Llamar a cls.init();

Esta es su clase, pero carece de muchas características orientadas a objetos. ¡Está muy claro arriba! Por tanto, no está completamente orientado a objetos.

¡La orientación a objetos es solo una forma de pensar, una forma de resolver problemas!