記得第一份工作時候,有個同事一直在那邊嚷嚷靜態方法比非靜態效率高,偶而喊喊抽象化思考很重要,我當時心裡就是一頭霧水,然後覺得崩潰,怎麼這個世界有這麼多無法理解的命名.
最近看到同事在一個method前標註了 static 表示這個function 為靜態方法,剛好掀起我的回憶和興趣,所幸查詢了一下,現在終於看得懂一些了,一下紀錄我的理解
靜態方法是什麼意思?
我其實沒有查到為什麼叫做靜態,不過自己的理解靜態可以表示儲存在記憶體的時間,有個固定的意味,意思是當載入程式時,會主動配給記憶體給靜態方式,後續無論如何實例都會在固定的記憶體位置.
至於 static 就是一個標示符號,註記這個method 為靜態
靜態方法有什麼特性?
只能透過類別Class呼叫,不可透過實例化類別的實例呼叫
靜態方法跟非靜態的差異?
https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Classes/static
https://www.njarts.cn/a_keji/202106/211084.html
https://ithelp.ithome.com.tw/articles/10242580