Saturday, November 17, 2018

JavaScript Type Conversion

Number() converts to a Number, String() converts to a String, Boolean() converts to a Boolean.

JavaScript Data Types

In JavaScript there are 5 different data types that can contain values:
  • string
  • number
  • boolean
  • object
  • function
There are 3 types of objects:
  • Object
  • Date
  • Array
And 2 data types that cannot contain values:
  • null
  • undefined

The typeof Operator

You can use the typeof operator to find the data type of a JavaScript variable.


Example :


typeof "John"                 // Returns "string" typeof 3.14                   // Returns "number"typeof NaN                    // Returns "number"typeof false                  // Returns "boolean"typeof [1,2,3,4]              // Returns "object"typeof {name:'John', age:34 // Returns "object"typeof new Date()             // Returns "object"typeof function () {}         // Returns "function"typeof myCar                  // Returns "undefined" *typeof null                   // Returns "object"


Please observe:
  • The data type of NaN is number
  • The data type of an array is object
  • The data type of a date is object
  • The data type of null is object
  • The data type of an undefined variable is undefined *
  • The data type of a variable that has not been assigned a value is also undefined *
You cannot use typeof to determine if a JavaScript object is an array (or a date).

The Data Type of typeof

The typeof operator is not a variable. It is an operator. Operators ( + - * / ) do not have any data type.
But, the typeof operator always returns a string (containing the type of the operand).

The constructor Property

The constructor property returns the constructor function for all JavaScript variables.
"John".constructor                // Returns function String()  {[native code]}(3.14).constructor                // Returns function Number()  {[native code]}false.constructor                 // Returns function Boolean() {[native code]}[1,2,3,4].constructor             // Returns function Array()   {[native code]}{name:'John',age:34}.constructor  // Returns function Object()  {[native code]}new Date().constructor            // Returns function Date()    {[native code]}function () {}.constructor        // Returns function Function(){[native code]}

You can check the constructor property to find out if an object is an Array (contains the word "Array"):

function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;
}

You can check the constructor property to find out if an object is a Date (contains the word "Date"):

function isDate(myDate) {
    return myDate.constructor.toString().indexOf("Date") > -1;
}

JavaScript Type Conversion

JavaScript variables can be converted to a new variable and another data type:
  • By the use of a JavaScript function
  • Automatically by JavaScript itself

Converting Numbers to Strings

The global method String() can convert numbers to strings.
It can be used on any type of numbers, literals, variables, or expressions:

String(x)         // returns a string from a number variable xString(123)       // returns a string from a number literal 123String(100 + 23)  // returns a string from a number from an expression

The Number method toString() does the same.

x.toString()
(123).toString()
(100 + 23).toString()

Converting Booleans to Strings

The global method String() can convert booleans to strings.

String(false)        // returns "false"String(true)         // returns "true"

Converting Dates to Strings

The global method String() can convert dates to strings.

String(Date())      // returns "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)"


The Date method toString() does the same.

Date().toString()   // returns "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)"


Converting Strings to Numbers

The global method Number() can convert strings to numbers.
Strings containing numbers (like "3.14") convert to numbers (like 3.14).
Empty strings convert to 0.
Anything else converts to NaN (Not a number).

Number("3.14")    // returns 3.14Number(" ")       // returns 0 Number("")        // returns 0Number("99 88")   // returns NaN

The Unary + Operator

The unary + operator can be used to convert a variable to a number:

var y = "5";      // y is a stringvar x = + y;      // x is a number

Converting Booleans to Numbers

The global method Number() can also convert booleans to numbers.


Number(false)     // returns 0Number(true)      // returns 1

Automatic String Conversion

JavaScript automatically calls the variable's toString() function when you try to "output" an object or a variable:

document.getElementById("demo").innerHTML = myVar;

// if myVar = {name:"Fjohn"}  // toString converts to "[object Object]"// if myVar = [1,2,3,4]       // toString converts to "1,2,3,4"// if myVar = new Date()      // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"


Share:

Related Posts:

0 comments:

Post a Comment

Contact Form

Name

Email *

Message *

Popular Posts

Blog Archive

Blog Archive

Hassan.mosmer1@gmail.com