JavaScript Tricks
Type Conversion
Array to String
var arr = [1,2,3,4,5,6];
var str = arr+''; //1,2,3,4,5,6
String to Number
var str = '999';
var num = str * 1; //999
var str = '999';
var num = str - 0; //999
String to Number
var str = '999';
var num = str * 1; // 999
Round Down
var num = ~~1.23232656; // 1
var num = 563.933333 >> 0; // 563
Boolean Conversion
var bool = !!null; // false
var bool = !!'null'; // true
var bool = !!undefined; // false
var bool = !!'undefined'; // true
var bool = !!0; // false
var bool = !!'0'; // true
var bool=!!''; // false
var bool=!![]; // true
var bool=!!{}; // true
var bool=!!new Boolean('false'); // true
var bool=!!new Boolean('true'); // true
Check if Object Has Property
Direct Check
var obj = {a:123};
if(obj.a){ //obj.b ==>123
console.log('ran') //will run
}
if(obj.b){ //obj.b ==>undefined
console.log('ran') //won't run
}
var obj2 = {a:false};
if(obj2.a){ //obj.b ==>false
console.log('ran') //won't run
}
// Not rigorous, if value is 0, undefined, false, null... will also be judged as false
in Operator
var obj = {a:123};
if('a' in obj){ // 'a' in obj ==>true
console.log('ran') //will run
}
if('b' in obj){// 'a' in obj ==>false
console.log('ran') //won't run
}
Using hasOwnProperty
var obj = {a:123};
if(obj.hasOwnProperty('a')){ //==>true
console.log('ran') //will run
}
if(obj.hasOwnProperty('b')){ //==>false
console.log('ran') //won't run
}
There are many more, need to write slowly