Javascript data types
Types in Javascript are a representation of data because it does not require variables to declare their type, because all types are automatically converted
Type boolean
The Boolean type simply distinguishes between two states, a success or enabled state, true value, true, and a failure or deactivated state, false value, false
Numeric types
The numeric types can be divided into real and integer
Type integer numeric
- Decimal
integer base 10
Both positive and negative
- Hexadecimal
integer base 16
Placed before the base number 16 0x or 0X
- Octal
integer base 8
We place a zero before the number in octal
Numeric type real
The actual is made up of a whole part and the other fractional separated by a point of the previous
The fractional part can be composed by an indicator of exponent E or E followed by an integer that indicates the value of the exponent
Type string
A string is a string of characters delimited by quotation marks
The quotation marks will be single or double according to a particular rule
The default is to use double quotation marks ("), but if any statement to be included in those quotation marks, if that statement contains a string or in turn another statement that must also be delimited by those quotation marks, these quotation marks will then be single quotation marks (')
On the other hand, we must take into account the writing of special characters in what we call escape sequences
The escape sequence always begins with the character \ and then another character is written that represents the special code or the number in octal or hexadecimal of its ASCII code
Escape sequences represent a single character in the strings in which they appear
Code | Description |
a | Sound |
b | White |
f | Line break |
n | New line |
r | Carriage return |
v | Vertical tab |
\ | Blackslash "\" |
‘ | Single quotation mark |
" | Double quotation mark |
Ooo | Ascii in octal |
Xhh | Ascii in hexadecimal |
t | Horizontal tab |
Arrays
We can create arrays that we will give a name and that we will access with an index that will start from element number 1 (not from 0 as in Java or in C / C++)
In the arrays as with variables, there are no default types
To create an array it is necessary to define a function like the one below:
Comment on the function that the reserved word this refers to the current variable, that is, the variable that will contain the array
On the other hand, to observe that arrays have a length property that shows us the length of that array
Finally show the use of this function:
Objects
Objects consist of a set of values, properties, and a set of methods applied to those values
It is these methods that allow us to modify the state of that object, that is, the value of its properties
In JavaScript there are predefined objects
In addition, the programmer can also create his own objects
To make use of the properties of an object, simply use the following notation:
my_object.property
This will be seen more clearly in the following example, in which we have a University object in which we have the properties: Name, Last Name, Age and Faculty
Assuming we have a Uni1 variable that contains a University object at any given time:
But not only can we access the properties of an object by using the notation above, because, there is a relationship between objects and arrays, since we can access an object as if this were an array and its elements were the properties of object in the order in which they were defined
This type of vectors are referred to as associative arrays
A method it is a function assigned to an object
The following syntax is used to assign a function as a method of an object:
We can observe that the name of the method is the way in which we want to name the function within the object
A method can be called in a context using the syntax:
Object.methodName(parameters);
The reserved word this allows us to reference the current object
For example, suppose that the validate function allows you to validate the properties of an object through an associated minimum and maximum; we will have:
You may call then the function validate to change the values of a form by using the reserved word this and the attribute OnChange to detect the changes of values
This is done through the HTML flag and the event:
In general, the word this refers to the current object
The client and the server have a set of predefined objects that can be completed using new objects. The creation of an object is done in two stages:
- The object is defined by a function
- Create an object using the reserved word new
To define an object, a function will be created to specify its name, its functions and its associated methods
For example, if you want to create a university object whose properties would be name, surname, age and DNI, the following generic function will be defined:
The object instance will be created as follows:
The properties of an object can be described by other objects
We make the university object have a property of the Note_Mean object therefore:
Therefore, to access the final note:
student.expedient.final
When an object is defined, it is possible to enrich its description through new properties
student.dni = 44567234;
Now the property id belongs to the instance of the object contained in the student
This modification will not affect the other objects of the university type, since to add a property to an object type it must appear in its definition
The definition of methods associated with an object can be specified in the object definition
For example, for the university object we define a function that shows the name, surname, DNI and faculty of a student
This function becomes a method associated to the type by performing in its definition the following:
Its use will be:
student.Data();
The following example shows the function of the type of university that we have created
To do this we create the following form:
The Show_Univers (form) function is defined as follows:
Note Have not checked if the data that is inserted in the form are "correct", that is, if the notes are between 0 and 10, if the first and last names are composed only of letters or the age is numerical
Null value
In JavaScript variables can be assigned a value that indicates the empty value, this value is null
The conversion of data types
First of all, remember that JavaScript doesn't need type declaration
The contents of the variable will be converted automatically in the course of the programme according to its use
The type conversion scheme is based on the following principle: the associated type corresponds to that of the left operand
This is because the evaluation is done from left to right
For example, suppose you define the following variables:
If we evaluate the following expressions
The first expression will convert the a_number variable to a character string because the operand on the left an_string is a string of characters
This expression concatenates the two character strings and the result of x is:"742"
Conversely, the second expression converts the string an_string to a numeric value because the left operand a_number, is as its own name indicates, a number
This second expression sums the two numbers and the result of y is: 49
Type conversion cannot be done in all possible cases: certain character strings cannot be converted to number
Such conversions fail with an error
For example:
Table that summarizes type conversion in JavaScript:
Type | Function | Object | Number | Boolean | String |
Function | — | Function | Error | Error | Descompila |
Object | Error | — | Error | True | ToString |
Null object | FunObj ok | — | 0 | False | “null” |
Number | Error | Number | — | True | ToString |
Number = 0 | Error | Null | — | False | “0” |
Boolean = true | Error | Boolean | 1 | — | “true” |
Boolean = false | Error | Boolean | 0 | — | “false” |
String | Single quotation mark | String | Numstr ok | True | — |
String null | Error | String | Error | False | — |