例えばこれはJavaScriptでは通るが…
Vector3 position = transform.position + Vector3(x, y, z);
C#で同じコードだとこんなエラーが出る。
error CS0119: Expression denotes a `type', where a `variable', `value' or `method group' was expected
'variable'なところを'value'(値)か'method group'(メソッド)がいいんじゃん?と怒られている。C#においてこれは変数宣言として解釈される。
Vector3(x, y, z); //ただの変数宣言
なのでこんな感じでnewして'value'とする必要がある。
Vector3 position = transform.position + (new Vector3(x, y, z));
UnityにおいてC#とJavaScriptはほぼ似たような文法だけど、こういうところはちょいちょいエラーが出てくるのでJavaScriptのソースを移行してくるときは注意。