小程序的主要開發語言是 JavaScript ,開發者使用 JavaScript 來開發業務邏輯以及調用小程序的 API 來完成業務需求。
在大部分開發者看來,ECMAScript和JavaScript表達的是同一種含義,但是嚴格的說,兩者的意義是不同的。ECMAScript是一種由Ecma國際通過ECMA-262標准化的腳本程序設計語言, JavaScript 是 ECMAScript 的一種實現。理解 JavaScript 是 ECMAScript 一種實現后,可以幫助開發者理解小程序中的 JavaScript同瀏覽器中的 JavaScript 以及 NodeJS 中的 JavaScript 是不相同的。
ECMA-262 規定了 ECMAScript 語言的幾個重要組成部分:
- 語法
- 類型
- 語句
- 關鍵字
- 操作符
- 對象
瀏覽器中JavaScript 構成如下圖:
瀏覽器中的JavaScript 是由 ECMAScript 和 BOM(瀏覽器對象模型)以及 DOM(文檔對象模型)組成的,Web前端開發者會很熟悉這兩個對象模型,它使得開發者可以去操作瀏覽器的一些表現,比如修改URL、修改頁面呈現、記錄數據等等。
NodeJS中JavaScript 構成如下圖:
小程序中的 JavaScript 是由ECMAScript 以及小程序框架和小程序 API 來實現的。同瀏覽器中的JavaScript 相比沒有 BOM 以及 DOM 對象,所以類似 JQuery、Zepto這種瀏覽器類庫是無法在小程序中運行起來的,同樣的缺少 Native 模塊和NPM包管理的機制,小程序中無法加載原生庫,也無法直接使用大部分的 NPM 包。