JavaScript 是個擁有許多不良部分的語言。它只以相當短的時間,就從完全不存在,成長全球採用的語言。它以相當粗糙的狀況接踏入Netscape Navigator 2 。當Java applets 失敗後,JavaScript 變成預設的『全球資訊網語言』。JavaScript 的流行性,幾乎與他身為一種程式語言的品質毫無相關。
JavaScript 是種重要的語言,因為它是網站瀏覽器的語言。因為與瀏覽器的聯繫,使它成為世界上最流行的程式語言之一。同時,也是世界上最受鄙視的程式語言之一。最受鄙視的地方,因為它與其他語言有著非常大的差異。關於神奇之處,在不熟悉 JavaScript 或程式設計的情況下,可使用這個語言完成工作。它具有強大的表達力語言。程式設計是個困難的行業,千萬別在一無所知中承擔任務。
JavaScript 建立在幾個非常優秀與幾個非常糟糕的構想上。
非常優良部分包括:函式、寬鬆型別(loose typing)、動態物件(dynamic object)、富表達性的物件實字註記(expressive object literal notation)。
非常糟糕的是:以全域變數為基礎的程式設計模型(programmng model)。
目前多數語言的流行時尚,要求採用強型別(strong typing)。基於強型別能讓編譯器在編譯(compiler)期間偵測到錯誤。JavaScript 是種寬鬆型別的語言,寬鬆型別帶來的自由自在,不需要構成複雜的類別層級(class hierarchy),而不再需要與型別系統搏鬥,以取得想要的行為。
JavaScript 具有非常強大的物件實字註記。物件的建立。可以只是簡單地列出物件的成份。這種註記是由 JSON 而促發。
原型繼承(prototypal inheritance):有個無類別物件系統(class-free object system),具有物件直接繼承其他物件的特性。
有個很遭的概念:JavaScript 依賴全域變數做繫結,所有編譯單位的最上層變數,全都丟在一個公用空間『global object』裡。
優良部分的美好,足以補償不良部分