這篇文章主要介紹“為什么Python像JavaScript”,在日常操作中,相信很多人在為什么Python像JavaScript問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”為什么Python像JavaScript”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
原因是:1、Js運算符與Python中的相似;2、Js數據類型與Python中的相似;3、Js與Python的原生語法對迭代器和生成器的支持;4、Js中的Proxy和Reflection與Python中通過“__xxx__”重寫運算符。
本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
首先,JavaScript本身就是一個借鑒了很多其它語言的雜糅體,JavaScript的創始人Brendan Eich曾戲稱”它是C語言和Self語言一夜情的產物?!?。其次,隨著現代編程語言的發展,趨同肯定是一個趨勢,畢竟“完善的語言總是相似的,不完善的語言各有各的不完善?!?/p>
但是,應該說JavaScript與Python在實現機制上有本質的不同,譬如前者是借鑒Self語言基于原型(Prototype)的,而后者是基于類(Class)的。我想題主之所以覺得JavaScript正在變得越來越像Python,主要是感覺兩者都提供了許多相似的“語法糖”,比如:
(1)(JavaScript中的...運算符) 與 (Python中的*和**運算符)
(2)(JavaScript中的Set和Map數據類型)與 (Python中的Set和Dictionary數據類型)
(3)JavaScript與Python的原生語法對迭代器和生成器的支持
(4)(JavaScript中的Proxy和Reflection) 與 (Python中通過__xxx__重寫運算符)
等等諸如此類,特別是ES2015之后新增的一些語法特性,確實讓人感覺很多都借鑒自Python。但也可以說,一門成熟的、完善的腳本語言最終都會提供這些語言特性,不一定是誰學誰,而可能是在開發需求和開發理念的推動下自發的趨同,就像鳥類和蝙蝠各自進化出了翅膀——這在生物學上叫做趨同進化。
再來說既然“完善的語言總是相似的“,那為什么不統一成同一種語言的問題。我覺得這跟語言生態有很大關系,一些語言在發展的過程中在某一領域積累了大量的第三方庫和問題解決方案,漸漸出現馬太效應,使得在解決該領域的問題時有的語言只需要引入庫函數,有的語言則要連篇累牘地寫很長的代碼。
荒漠不是不可以變成綠洲,只是一件事的可行性不僅要考慮自然規律的可行性還要考慮經濟成本的可行性。以前端為例,如果在前端使用Python,那很多前端庫要再寫一遍、很多博客要再寫一遍。去MDN看看JavaScript提供的前端API的數量、去CSDN看看相關博客的數量,就知道其工程之浩繁。雖然現在推出了WebAssembly,使得其它語言也可以在瀏覽器上運行,但是依然要調用JavaScript的API。
自然演化出來的多元,看似混亂,卻往往好于人類構想出來的統一。
到此,關于“為什么Python像JavaScript”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。