unknown identifer explosion problem

when i type in this code:

function OnCollisionEnter( collision : Collision )
{
var contact : ContactPoint = collision.contacts[0];
var rotation = Quaternion.FromToRotation( Vector3.up, contact.normal );
var instantiatedExplosion : GameObject = Instantiate(
**explosion**, contact.point, rotation );
Destroy( gameObject );
}

it says that the explosion is a unknown identifier

can anyone help make it not say that

this code is for a explosion to happen every time the gameobject hits something

Unity is right: you’ve not declared the explosion variable! You should declare it as a GameObject (to match instantiatedExplosion’s type) and drag your explosion prefab to it at the Inspector:

var explosion: GameObject; // <- drag the explosion prefab here

function OnCollisionEnter( collision : Collision )
    ...

thanks but when i put that in it says

Assets/Setforward.js(5,28): Expressions in statement must only be executed for their side effects

what does this mean and how do i solve it