problem script istantiate position mouse

I wanted to know why this script works fine in C # and not in javascript. The purpose is to instantiate an object in space to the click of the mouse in the same position. (The script is connected to the main camera)

C#

using UnityEngine;
using System.Collections;

public class rotto : MonoBehaviour {

public GameObject bum; //prefab da istanziare

private Vector3 mousePos; //Posizione mouse
private Vector3 position; //posizione del nuovo oggetto istanziato

void Update () {

if(Input.GetMouseButtonUp(0)){ // premuto e rilasciato tasto sinistro del mouse
mousePos = Input.mousePosition; //Posizione del mouse (valori 'x' e 'y' espressi in pixel, 'z' è sempre 0)
mousePos.z = 100; //senza di questo l'oggetto viene creato SULLA camera attiva, lo sposto in avanti di 100 unità
position = Camera.main.ScreenToWorldPoint(mousePos); //posizione dove creare l'oggetto
Instantiate(bum,position,Quaternion.identity);	
}


}
}

Javascript

#pragma strict

var oggetto : GameObject;
private var mousePos : Vector3;
private var posizione : Vector3;

function Start () {

}

function Update () {

if(Input.GetMouseButtonUp(0)){

mousePos = Input.mousePosition;
mousePos.z = 11;

posizione = Camera.main.ScreenToWorldPoint(mousePos);

Instantiate(oggetto, transform.position, Quaternion.identity);

}



}

Hi!
in js you have
“Instantiate(oggetto, transform.position, Quaternion.identity);”

in C# you have
Instantiate(bum,position,Quaternion.identity); where position is previously calculated.

change js to
“Instantiate(oggetto, posizione, Quaternion.identity);”