在C#中可以通過引用傳遞參數。例如:TypeScript通過引用參數
private void Add(ref Node node)
{
if (node == null)
{
node = new Node();
}
}
Add(ref this.Root);
this.Root
做Add(ref this.Root)
從我從打字稿看到後,就不可能按引用傳遞參數就不會是空。此代碼:
private addAux(node: Node): void {
if (node === undefined) {
node = new Node();
}
}
addAux(this._root);
做addAux(this._root)
後,this._root
仍然是不確定的,因爲它的一個副本將被傳遞到addAux
。
在TypeScript中,是否有一種解決方法與C#中的ref
關鍵字具有相同的功能?
對象'mutable'內的節點不會未定義,但'this._root'將繼續未定義。 – Bsa0
是的,這個建議是關於不再使用this._root,而是使用mutable.node。否則,我很確定你不能模仿C#'ref'語法。 – lilezek
以上將工作,但不是恕我直言,正確的方式來做到這一點。相反,通過返回方法中的新值(因此調用者可以決定是否將新值重新分配給變量)來使用語言來工作,而不是試圖將虛假的傳遞參考引入到方法。 –