Why Is My Animation Not Playing?

Can Someone Tell Me What Is Wrong With My Script?

using UnityEngine;
using System.Collections;

public class Enemy : MonoBehaviour {

public AnimationClip clip;

private void Start()
{
    animation = GetComponent<Animation>();
}
IEnumerator AnimationDie()
{
    animation = GetComponent<Animation>();
    animation.Play(animation.clip.name);
    yield return new WaitForSeconds(1);
    Die();
}

public float health = 100f;

public Animator animator;
public Animation animation;

public GameObject enemyController;


public void TakeDamage (float damage)
{
    health -= damage;
    if (health <= 0f)
    {
        StartCoroutine(AnimationDie());
     
    }
}

void Die ()
{

    
    Destroy(gameObject, 2);
}

}

You could solve this much easier by adding a trigger to the animation, and just use animator.SetTrigger("Die");.
For more info on this, I would reccomend checking out the documentary here