JavaScript/Relation to other languages

If you have programming experience or training with another language, learning JavaScript will be easier and more difficult at the same time. The easy part will be picking up the syntax; especially, if you're used to a language like Java or C++, much of the arithmetic and control logic is the same.

Be careful, JavaScript is deceptive, it might entice you with its C-like syntax, but underneath is an entirely different beast.

Despite some naming, syntactic, and standard library similarities, JavaScript and Java are otherwise unrelated and have very different semantics. The syntax of JavaScript is actually derived from C, while the semantics and design are influenced by the Self and Scheme programming languages.[1]

Starting with the obvious, JavaScript is a loosely typed language. There are several implications to this:

Integers and floats are both represented by 64-bit floating point numbers (but crazily enough bitwise operations are still available, and sometimes faster),

You may change a variable's type at will, and

Variables can be added and removed from an object at will.

The list goes on, and we are granted amazing powers to do wonderful and sometimes incredibly stupid things whilst programming, so it's very important to keep sober-minded when attempting to harness the power of the dynamic variables.

There are no such things as public, private or protected variables: These can be simulated, but again, it's best, if you don't envisage such concepts, as they will only hinder you. Go to Closures for more information on scope.