尾部呼叫最佳化(TCO)是一種程式語言功能,編譯器或解釋器最佳化發生在「尾部位置」(即函數中的最後一個操作)的遞歸函數調用。此最佳化有助於節省堆疊空間並防止遞歸呼叫中潛在的堆疊溢位錯誤。 什麼是尾呼叫? 當一個函數在傳回值之前呼叫另一個函數作為其最終操作時,就會發生尾呼叫。在這種情況下,不需要保留當前函數的堆疊幀,因為被呼叫函數返回後它沒有更多工作要做。