javascript - example - html codes list
¿Qué tan diferentes son las semánticas entre Python y JavaScript? (6)
- Herencia clásica en Python, herencia prototípica en ECMAScript
- ECMAScript es un lenguaje de llaves y punto y coma, mientras que Python está basado en espacios en blanco y sangría / bloque
- No hay palabra clave
var
en Python, los globales implícitos en ECMAScript, ambos tienen un ámbito léxico - Los cierres en Python 2.5 y anteriores (re: el comentario de Alex Martelli) son algo "limitados" porque los enlaces son de solo lectura, no puede acceder a variables privadas como podría hacerlo en ECMAScript
- No hay
undefined
en Python, se lanzan excepciones - Lista inmutable de arrays en Python (tuplas)
- No hay una declaración de
switch
en Python, pero en lugar de eso, se recomienda utilizar un diccionario de esa manera, a veces es conveniente asignar propiedades a las lambdas y ejecutarlas. - ECMAScript 3 no tiene una declaración de
yield
, nilet
expresiones / declaraciones, niarray comprehension
, sin embargo, se incluyen en el JS de Mozilla que no es estándar -
raise
vsthrow
,except
vscatch
(Python, JS) - Cadenas Unicode nativas en ECMAScript
- operadores de palabras clave como
and
,is
ynot
se utilizan en Python - Python no admite contadores como
i++
- El bucle for de Python es "inteligente", por lo que no necesita usar un contador para enumerar a través de listas, ni se encuentra con propiedades prototípicas heredadas de
Object.prototype
- No tienes que usar el
new
operador en Python para crear objetos - Python es patito
Robé un poco de información de http://hg.toolness.com/python-for-js-programmers/raw-file/tip/PythonForJsProgrammers.html
Ambos idiomas parecen extremadamente similares a mí. Aunque Python admite clases reales en lugar de estar basadas en prototipos, en Python las clases no son tan diferentes de las funciones que generan objetos que contienen valores y funciones, tal como lo haría en JavaScript. Por otro lado, JavaScript solo admite números y cadenas de punto flotante como tipos de datos integrados.
Estas me parecen diferencias bastante superficiales, así que aparte de estas cosas, ¿cuáles son algunas de las diferencias más importantes entre ellas?
Agregaré algunos que no he visto mencionados aún:
- JavaScript soporta la notación de objeto literal. Python no funciona exactamente de la misma manera, pero los diccionarios de Python son similares a los arrays asociativos de JavaScript.
Los objetos / arrays de JavaScript son compatibles con esa característica genial en la que no necesita citar cadenas (de una sola palabra) al crear nuevos objetos:
var foo = {bar: "baz"};
El acceso a claves de matrices asociativas en JavaScript se puede hacer usando la notación de puntos, además de la notación de corchetes. Es decir, estos son los mismos:
foo.bar; // devuelve "baz"
foo ["barra"]; // devuelve "baz"
La sintaxis de la función anónima de Python (
lambda
) no es tan flexible como las funciones anónimas de JavaScript.- Python tiene, como, una biblioteca estándar y esas cosas. (Y sí, sé de Rhino et al., Pero las bibliotecas que te brindan no son estándar . No hay una forma estandarizada de leer un archivo en JavaScript ... que yo sepa).
- Puede ejecutar JavaScript en un navegador. Python ... no tanto. ;)
En Python, "self" se pasa explícitamente a una función miembro y no es una palabra clave especial ni nada. En javascript, "esto" tiene un alcance dinámico. puede jugar con el alcance de una función miembro llamando a apply ().
En Python, el espacio en blanco es parte del lenguaje. En Javascript, las llaves definen los bloques de código y los espacios se ignoran. Además, Python tiene enlaces para la API de Java, .net y otras bibliotecas de fantasía geniales. Javascript está bastante limitado en el departamento de bibliotecas en comparación con Python, pero tiene algunas bibliotecas de ventanas ordenadas y otras.
Siendo un desarrollador de JavaScript y haciendo algunas cosas de Python (gracias a Google App Engine) diría que las dos diferencias principales entre JavaScript y Python serían
Formateo A JavaScript no le importa el aspecto de su código (piense en todos los minimizadores de código y en el aspecto resultante)
Soporte de Unicode. JavaScript es completamente unicode, Python 2.5 de GAE no tanto (con Latin 1 como el conjunto de caracteres predeterminado). Por lo tanto, tener la necesidad de admitir caracteres no latinos puede ser un PITA real si no está seguro de lo que está haciendo.
Escritura : Javascript y Python se escriben dinámicamente , mientras que javascript está débilmente , Python está fuertemente tipada.