if(i==j)alert("Loose typing ahoy!");
Everything's fine and you get an alert. And if you go:
var thingArray = new Array();
thingArray[i]="Loose typing still ahoy!"
You get the same thing.
Try something similar in C#, and you'll get a compile error:
int i = 1;
So it will never work.
In VB.Net, though, we're in a funny middle-ground where things are sometimes the same, and sometimes different:
Dim i as Intger = 1
Dim j as String = "1"
If i = j Then
Response.Write("They're the same here.")
Dim thingArray as new ArrayList
If thingArray.Contains(j) Then
Response.Write("They're still the same...")
will never write anything out. Because despite the fact that 1 = "1", an ArrayList that contains 1 doesn't also contain "1" because they're different...
It's a cop-out of a language, I say.