JavaScript是什么,如何立足于編程語言之林?
一、JavaScript這個(gè)名字
JavaScript,倘若顧名思義,似乎就是Java語言的某種輕量級(jí)的腳本語言。而事實(shí)上,JavaScript這門語言的初衷也的確如此。
首先,與Java類似,JS也源于C或者C++,用 {}標(biāo)記statement,而用;標(biāo)記expression;
其次,JS的最初定位是成為能運(yùn)行在Web上的輕量級(jí)Java語言,面向熟悉Java語言的用戶;
最后,討個(gè)好的口彩,1995年JS誕生之際,Java正紅。
然而,另外一個(gè)事實(shí)卻是,JS既不是Java也不是輕量級(jí)(如Python)一般的Script腳本語言。
另外,JavaScript是Oracle的注冊(cè)商標(biāo),因此常常以簡(jiǎn)寫的JS代替,或者在標(biāo)準(zhǔn)文件中代之以ECMAScript。
二、JavaScript立足于世界的 Specication
JavaScript的技術(shù)規(guī)范由TC39委員會(huì)全面掌舵(50~100人分別來自瀏覽器廠家,設(shè)備廠家等)。他們每?jī)蓚€(gè)月開會(huì)一次,討論所有的Proposals進(jìn)展。
提出的Proposals分為5個(gè)階段,Stage0,Stage1,Stage2,Stage3,Stage4;并在Github上開源探討。
得益于TC39技術(shù)委員會(huì)對(duì)標(biāo)準(zhǔn)的出色維護(hù),JS只有一個(gè)版本。這一點(diǎn)與完全由社區(qū)驅(qū)動(dòng)的Python的散兵游勇有著本質(zhì)的區(qū)別。
雖然JS語言持續(xù)開疆拓土,從瀏覽器到服務(wù)器,到機(jī)器人,到燈光照明等等,但其規(guī)范主要針對(duì)于瀏覽器而言。
三、JavaScript的多副面孔
編程語言有三種Paradigm(范式)-- procedural, object-oriented (OO/classes), and functional (FP)。比如C語言是Procedural-Paradigm,而Java/C++則是OO-Paradigm,Scheme是FP-Paradigm。
JS頗具靈活性,是多范式的語言,因此得以博采眾家之所長(zhǎng)。
四、Inpterpreted 還是 Compiled?
最后我們需要厘清一點(diǎn),JS到底是解釋語言還是編譯語言。乍一看,JS似乎是為“編譯語言”所鄙視的“解釋語言”。
意外之喜是JS是編譯語言,因此就性能而言,有著無限光明的前途。
