Seidor
personas programando

05 de juny de 2024

10 dades que potser no sabies de Javascript

  • El nom real no és “Javascript”, sinó ECMAScript. Se sol fer referència a ECMAScript quan es parla de la versió d'aquest llenguatge, però en realitat “Javascript” és una marca registrada per Sun Microsystems.
  • Va néixer el 1995 i va ser creat en 10 dies pel programador Brendan Eich. Va crear Javascript basant-se en llenguatges com: Java, Perl, Scheme, HyperTalk, Self i AWK.
  • Es va crear per interactuar de forma àgil amb els elements del DOM i fer animacions, complementant les funcionalitats per part del llenguatge Java.
  • “undefined” no és una paraula reservada. Per tant, “undefined” pot ser definit i encara que “null” és l'absència total de valor, en Javascript, “null” és un objecte.
  • La igualtat estricta “===” no va existir fins a partir de 1999. Fins aleshores no hi havia forma directa per diferenciar entre un número i un string amb el mateix valor.
  • El tipatge estricte, amb què ara podem treballar en Typescript; havia de ser implementat a ECMAScript 4.
  • NaN (not a number) malgrat el que signifiquen les seves sigles, el seu typeof és ‘Number’.
  • Javascript no seria el mateix sense les desenes de llibreries, noves implementacions, llenguatges derivats, motors Javascript open source, formats d'intercanvi de dades, etc. Entre ells, els més destacats: HTML Dinàmic, XMLHttpRequest, React, Angular, Vue, JSON, AJAX, JQUERY, V8 i Node.js.
  • Com tots els altres llenguatges de seqüències de comandaments, les matrius i els objectes es poden crear amb una breu sintaxi d'accés directe. Aquests estructuren la base del format de dades JSON.
  • Javascript és un llenguatge de programació d'un sol fil, cosa que significa que els accessos als diferents orígens seran seqüencials i no es podrà processar tota la informació fins que l'hàgim rebut tota. Això provoca llavors, que no es puguin llançar en paral·lel els accessos a diferents orígens per millorar significativament el rendiment. En aquests casos se sol usar una programació asíncrona per evitar bloquejar el procés d'execució fins que s'hagi completat la tasca en qüestió.