1. 程式人生 > >ES6、Javascript、CommonJS、AMD、nodejs的關係與差異

ES6、Javascript、CommonJS、AMD、nodejs的關係與差異

在前端開發中,發現小組成員總是對ES6、Javascript、CommonJS、AMD、nodejs概念搞不清,既不知道它們之間的聯絡,更不知道它們之間的差異。

理清它們的關係很簡單,首先要從最核心的說起,也就是Javascript,javascript是一種指令碼程式語言,有自己獨立的語法與語義,沒有javascript,也就沒有其他的那些概念了。

關於ES6,可直接理解為javascript的增強版(增加了新的規範、特性與功能)或最新版,兩者之間雖然略有差異,但也可以忽略(不要在意這些細節,呵呵),就有點類似於JAVA8與JAVA語言的關係,同樣既然有ES6,那麼也還有ES 5與ES 3,都是Javascript在發展過程中的釋出版本。

Commonjs、AMD以及曾經很火的CMD都只是為了解決javascript檔案之間的依賴與引用問題,所以它們只是一種Javascript的包管理規範。在組織你的JS程式碼時,你完全可以根據自己的喜好,選擇合適的包管理規範,但要注意,儘可能只選擇一種。

在nodejs出現之前,javascript主要應用於瀏覽器端,所以nodejs也很好理解了,nodejs是對javascript脫離瀏覽器的應用延展,它還提供了執行引擎與相關API,所以nodejs是javascript開發本地應用、伺服器應用的一個開發套件,注意了,因為nodejs採用了javascript的語法,所以nodejs不是一種開發語言。