JS Core 2

Dynamic typing

var a = 12;
a = 'my Sting';
a = ['one','two'];
a = {};
typeof a;

Object

Primitive types - represent single value (not an object)

Undefined

(represents lack of existence)

you should not set variable to this!

NULL

(represents lack of existence)

you can set variable to this

var a = null;

Boolean

(true/false)

var a = true;
var b = false;

Number

(floating point number)

var a = 12.2;

String

(a sequence of characters)

var a = 'My new string';
var b = "My new string";
a === b; //true

Symbol

(ES2015, property wrapper)

Operators

(+ , - , > , = ...)

Precedence

&

Associativity 

Precedence 

Function are calls in precedence order. Higher wins!

var a = 3 + 4 * 5;
var b = 12 * (12 + 1);

Associativity

Order of call: left-to-right, right-to-left

var a = b = c = 4;
var a;
c = 4;
b = c;
a = b;

Coercion

converting one type to another

true == 1; //true
1 + '2' == 12; //true
true === 1; //false
1 + '2' === 12; //false

Boolean existence 

Boolean(null);        //false
Boolean(undefined);   //false
Boolean('');          //false
Boolean(0);           //false
var a;

//get somewhere from server data for a var
a = null;

if(a){
    console.log('a is not empty');
}
var a;

//get somewhere from server data for a var
a = 'Hello guys';

if(a){
    console.log('a is not empty');
}

// logs : a is not empty
var a;

//get somewhere from server data for a var
a = 0;

if(a || a === 0){
    console.log('a is not empty');
}

Default values with 

 OR

function sayHello(name) {
    name = name || ', your name should be here';
    console.log('Hello ' + name);
}

sayHello('Group');

JS Core 1_2

By Tarun Sharma

JS Core 1_2

  • 966