JavaScript/Variables and Types

From Wikibooks, open books for an open world
Jump to: navigation, search
Previous: Reserved Words Index Next: Numbers

JavaScript is a loosely typed language. This means 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. For example, 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.

Variable declaration[edit]

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;

After being declared, a variable may be assigned a new value which will replace the old one:

c = 1;

But make sure to declare a variable with var before (or while) assigning to it; otherwise you will create a "scope bug."

Clipboard

To do:
Define the scope.

Naming variables[edit]

Clipboard

To do:
Merge this section with the Identifiers section.

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

Primitive Types[edit]

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.

Boolean Type[edit]

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

var mayday = false;
var birthday = true;

Numeric Types[edit]

You can use Integer and Double 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.

String Types[edit]

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 = 'f';

Complex Types[edit]

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

Array Type[edit]

Main page: 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. For example, the .length property indicates how many items are currently in the array. If you add more items 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];

There is no limit to the number of items that can be stored in an array.

Object Types[edit]

An object within Javascript is created using the new operator:

var myObject = new Object();

Objects can also be created with the object notation, which uses curly braces:

var myObject = {};

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.

Further Reading[edit]

"Values, variables, and literals". MDN. May 28, 2013. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Values,_variables,_and_literals. Retrieved 20/06/2013. 


Previous: Reserved Words Index Next: Numbers