JavaScript/Variables and Types

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search
Previous: Reserved Words Index Next: Numbers

JavaScript is a loosely typed language. What this means is that you can use the same variable for different types of information, but you may also have to check what type a variable is yourself if the differences matter. Like if you wanted to add two numbers, but one variable turned out to be a string, the result wouldn't necessarily be what you expected.

Contents

[edit] Variable declaration

Variables are commonly explicitly declared by the var statement, as shown below:

var c;

The above variable is created, but has the default value of undefined. To be of value, the variable needs to be initialized:

var c = 0;

Variables can also be created by assigning directly to them, which creates a global variable:

c = 0;

The above is equivalent of assigning the variable to the window object:

window.c = 0;

but creating such global variables is a practice that is best avoided.

[edit] Naming variables

When naming variables there are some rules that must be obeyed:

  • Upper case and lower case letters of the alphabet, underscores, and dollar signs can be used
  • Numbers are allowed after the first character
  • No other characters are allowed
  • Variable names are case sensitive: different case implies a different name
  • A variable may not be a reserved word

[edit] Primitive Types

Primitive types are types provided by the system, in this case by javascript. Primitive type for javascript are booleans, numbers and text. In addition to the primitive types, users may define their own classes.

The primitive types are treated by Javascript as value types and when you pass them around they go as values. Some types, such as string, allow method calls.

[edit] Boolean Type

Boolean variables can only have 2 possible values, true or false.

 var mayday = false;
 var birthday = true;

[edit] Numeric Types

You can use Integer and Float types on your variables, but they are treated as a numeric type.

 var sal = 20;
 var pal = 12.1;

In ECMA Javascript your number literals can go from 0 to -+1.79769e+308. And because 5e-324 is the smallest infinitesimal you can get, anything smaller is rounded to 0.

[edit] String Types

The String and char types are all strings, so you can build any string literal that you wished for.

 var myName = "Some Name";
 var myChar = 'd';

[edit] Complex Types

A complex type is an object, be it either standard or custom made. Its home is the heap and goes everywhere by reference.

[edit] Array Type

Main article: JavaScript/Arrays

In Javascript, all Arrays are untyped, so you can put everything you want in an Array and worry about that later. Arrays are objects, they have methods and properties you can invoke at will. (The ".length" property indicates how many things are currently in the array. If you add more things to the array, the value of the ".length" gets larger). You can build yourself an array by using the statement new followed by Array, as shown below.

var myArray = new Array(0, 2, 4);
var myOtherArray = new Array();

Arrays can also be created with the array notation, which uses square brackets:

var myArray = [0, 2, 4];
var myOtherArray = [];

Arrays are accessed using the square brackets:

myArray[2] = "Hello";
var text = myArray[2];

It is possible to have thousands of items in an array.

[edit] Object Types

An object within Javascript is created using the new operator:

  var myObject = new Object();

JavaScript Objects can be built using inheritance and overriding, and you can use polymorphism. There are no scope modifiers, with all properties and methods having public access. More information on creating objects can be found in Object Oriented Programming.

You can access browser built-in objects and objects provided through browser JavaScript extensions.


Previous: Reserved Words Index Next: Numbers