簡體   English   中英

有沒有辦法使我的谷歌腳本使用的 V8 JavaScript 版本保持不變?

[英]Is there a way to make the version of V8 JavaScript that my google script uses constant?

這里是菜鳥。

弄亂我的 google 腳本項目時,我發現了一件奇怪的事情,我正在使用的一種方法在編輯器中被刪除,它看起來像這樣 --> substr 研究,我發現這是因為這種方法已被棄用。 對於尋找如何解決它的人來說,看看developer.mozilla.org 中的文檔

起初,我對此沒有任何問題,但是,如果以前沒有,現在有,這意味着我的項目正在使用的 javascript 的版本正在改變,我不希望這樣。 還有我的問題

有沒有辦法使我的谷歌腳本使用的 V8 JavaScript 版本保持不變?

查看app-scripts 文檔,我發現它使用 V8 並且它在清單中定義,但是無法找到凍結到某個版本的方式。 也許有一個簡單的答案,但我不知道還能去哪里看。 歡迎任何幫助。

不,沒有辦法 select 為您的 GAS 提供特定的 V8 版本。

也就是說,JavaScript 引擎通常非常注重向后兼容性。 功能被移除是極其罕見的——JS中有很多“遺留”/“棄用”的東西在可預見的未來不會被移除,因為有太多舊的和未維護(但仍在使用)的代碼那里取決於他們,瀏覽器制造商不想破壞該代碼。
關於手頭的具體情況,如果String.prototype.substr被刪除,我個人會感到非常驚訝。 我認為它的棄用更像是“專業提示:如何不混淆substrsubstring :只使用其中一個”。

FWIW,V8 本身沒有棄用 JavaScript 功能的概念。 您看到的刪除線只是一個編輯器功能。 更新或不更新下面的 V8 版本不會影響它。

退后一步:不幸的是,編寫一次軟件,然后期望它在幾十年內無需維護或監控即可工作,這通常不是一回事。 例如,如果您為 Windows 95 開發了一款游戲,您必須預料到它在現代 Windows 版本上不會運行良好(或根本無法運行)。 操作系統、SDK/工具包、編譯器/引擎和編程語言本身隨着時間的推移以確保向后兼容幾年但不是永遠的方式不斷發展的例子不勝枚舉。 這是技術進步的另一面。 出於各種原因,將自己固定在某些過時的版本上通常不是一個可行的解決方案。

所以實際上,相比之下,當您在 JavaScript 中編寫應用程序或腳本時,您很有可能在 20 年后仍然可以正常工作。 所以我不會太擔心它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM