How do I declare that a game object has been destroyed?

I want to instantiate a random prefab after one of them is destroyed, but I don’t know how to declare that a prefab has been destroyed. So far, I have the prefabs set in a list, but now I’m completely stuck. Here is my code as of right now:

	List<GameObject> prefabList = new List<GameObject>();
	public GameObject Prefab0;
	public GameObject Prefab1;
	public GameObject Prefab2;
	public GameObject Prefab3;
	public GameObject Prefab4;

	void Start()
{
	prefabList.Add (Prefab0);
	prefabList.Add (Prefab1);
	prefabList.Add (Prefab2);
	prefabList.Add (Prefab3);
	prefabList.Add (Prefab4);

	spawn ();

}

void spawn(){

		int prefabIndex = UnityEngine.Random.Range(0,5);
		Instantiate(prefabList[prefabIndex]);

	}
}

I think you might be looking for this question: How to detect if a GameObject has been destroyed? - Questions & Answers - Unity Discussions

The accepted answer there is:

After an object is destroyed, an
equality check with null will return
true. The variable does not go to
null, you can still call
GetInstanceID() on it, but the “==”
operator is overloaded and behaves as
expected.

This was exactly what I was looking for! Thank you for your help!