Categorías
JavaScript

Java frente a JavaScript

Suponiendo que conozca bastante bien Java y un poco de JavaScript, ¿cómo va a responder a la pregunta de la entrevista «¿Cuál es la diferencia entre Java y JavaScript»?

Es posible que haya utilizado JavaScript en diferentes situaciones, pero no tiene un conocimiento profundo del idioma. Esta pregunta puede resultar difícil. A continuación se enumeran algunos puntos de los que puede hablar para mostrar su conocimiento de los lenguajes de programación en general. También puede mostrar que puede aprender rápidamente el idioma, incluso si no sabe mucho al respecto.

1. Diferencias clave en el nivel alto

Java es una programación orientada a objetos programación idioma mientras que JavaScript es una programación orientada a objetos guion idioma. Java crea aplicaciones que se ejecutan en una máquina virtual o un navegador, mientras que el código JavaScript se ejecuta solo en un navegador. El código Java debe compilarse, mientras que el código JavaScript no. JavaScript no crea aplicaciones independientes. En su forma más común, reside dentro de HTML y proporciona niveles de interactividad a las páginas web que no se pueden lograr con HTML simple.

2. Herencia

En Java, hay clases e instancias como conceptos separados. Para hacer herencia, debe usar la clase base para crear una nueva clase, que luego se puede usar para producir instancias derivadas.

Como Java, JavaScript también es un lenguaje orientado a objetos, pero JavaScript no usa clases.
En JavaScript, no define clases ni crea objetos a partir de estas clases. JavaScript está basado en prototipos, no en clases. Para hacer herencia, puede usar cualquier instancia de objeto como prototipo. El siguiente ejemplo da una idea de la herencia de JavaScript.

hola.html

<script>
// define the Person Class
function Person() {}
 
Person.prototype.sayHello = function(){
    alert ('Hello!');
};
 
 
// define the Student class
function Student() {}
 
// inherit Person
Student.prototype = new Person();
 
// replace the sayHello method
Student.prototype.sayHello = function(){
    alert('Hello, I am a student!');
};
 
// add a new method
Student.prototype.sayGoodbye = function(){
    alert('Goodbye!');
};
 
var student = new Student();
student.sayHello();
student.sayGoodbye();
 
// check inheritance
alert(student instanceof Person); // true
alert(student instanceof Student); // true
 
</script>

3. Otros datos divertidos

Java y Javascript son similares como Car y Carpet son similares.

Depuración en dos etapas frente a depuración solo en tiempo de ejecución

Ambos tienen bibliotecas y marcos.

4. ¿Qué más es INTERESANTE mencionar?

Hay tantas cosas que podemos decir, pero decir algo importante e interesante sería lo mejor.

Referencias:
1. Herencia basada en prototipos versus herencia basada en clases
2. Preguntas más frecuentes sobre JavaScript
3. Introducción a JavaScript orientado a objetos