default value for undefined property in Object
Behavior when there is no property
var object = {
value: 'hoge',
};
console.log(object.key);
// key is not exist, therefore will be undefined
undefined
in js undefined
treat as false
.
var object = {
value: 'hoge',
}
var defaultObject = {
value: 'key' in object ? object.key : 'defaultValue',
};
// or
var defaultObject2 = {
value: object.hasOwnProperty('key') ? object.key : 'defaultValue',
};
console.log(defaultObject);
// object.key is not exist, therefore will be `defaultValue`
'defaultValue'
'defaultValue'
var object = {
value: 'hoge',
};
var defaultObject = {
key: 'defaultValue',
};
$.extend(defaultObject, object);
delete value by key in obj
var obj = {
keyA: 'a',
keyB: 'b',
keyC: 'c',
};
delete arr['keyB'];
// or
delete arr.keyB;
console.log(obj);
Object {keyA: "a", keyC: "c"}
Object.assign
When merge objects with same properties, right object is higher priority.
var o1 = { a: 1, b: 1, c: 1 };
var o2 = { b: 2, c: 2 };
var o3 = { c: 3 };
var obj = Object.assign({}, o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
||
and &&
in Javascript
In Javascript ||
and &&
are not exactly same with boolean operator.
case 1. ||
means left value is true
return left value.
case 2. ||
means left value is false
return right value.
case 3. &&
means left value is ture
return right value.
case 4. &&
means left value is false
return left value.
// case 1
var x = 'a' || 'b'; // x -> 'a'
// case 2
var x = '' || 'a'; // x -> 'a'
// case 3
var y = 'a' && 'b'; // y -> 'b'
// case 4
var y = '' && 'a'; // y -> ''
true
and false
in Javascript
value | type | results |
---|---|---|
{} | object | true |
'hoge' | string | true |
'' | string | false |
1 | number | true |
-1 | number | true |
0 | number | false |
[] | object | true |
true | boolean | true |
false | boolean | false |
undefined | undefined | false |
null | null | false |
Good to know: jq
Load jquery on Chrome console
var jq = document.createElement('script');
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
// ... give time for script to load, then type.
jQuery.noConflict();
jquery selector
// select element by attr
$('[data-react-id]=""')