The Object
Merging objects
In es6 you can merge objects easily with Object.assign()
Notes
- Merges objects with the 'base' object being the first argument passed into the method
- you can pass in a new empty object to be merged into
Example One : Assign
//ES6 built in object extensions
var obj1 = {
a: 1
}
var obj2 = {
b: 2
}
var obj = Object.assign(obj1, obj2)
console.log(obj)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Example One : Assign - Empty Object
//ES6 built in object extensions
var obj1 = {
a: 1
}
var obj2 = {
b: 2
}
var obj = Object.assign({}, obj1, obj2)
console.log(obj)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Object setPrototypeOf
//ES6 built in object extensions - setPrototypeOf
let princess = {
name : 'Annabelle'
};
let dog = {
name : 'Broccoli'
}
//Before setting the prototype
console.log(princess.__proto__);
console.log(princess.__proto__ === Object.prototype);
// With setPrototype you can set the prototype of the object
// allows you to change the prototype of a object after it's been created
Object.setPrototypeOf(princess, dog);
//After overwriting the origional prototype
console.log(princess.__proto__);
console.log(princess.__proto__ === Object.prototype);
console.log(princess.__proto__ === dog);
console.log(princess.name)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
The Math Object
//ES6 Math object extensions
let negNumber = -28;
let posNumber = 28;
let smallNumber = 0.13;
let mediumNumber = 0.99;
let largeNumber = 123.99;
let notNumber = NaN;
let aString = 'Potato';
// sign returns the 'sign' of the number the results will either be 1 (positive number) or -1 (negative number)
console.log(Math.sign(negNumber))
console.log(Math.sign(posNumber))
console.log(Math.sign(notNumber))
console.log(Math.sign(aString))
// trunc returns everything before the decimal place
console.log(Math.trunc(negNumber))
console.log(Math.trunc(smallNumber))
console.log(Math.trunc(mediumNumber))
console.log(Math.trunc(largeNumber))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Strings
//ES6 String Extensions
let name = 'Violet'
// startsWith() checks if the string starts with whatever value you pass in as a argument - Case Sensitive
console.log(name.startsWith('Vio'));
console.log(name.startsWith('vio'));
console.log(name.startsWith(''));
// endswith() checks if the string ends with whatever value you pass in as a argument - Case Sensitive
console.log(name.endsWith('et'));
console.log(name.endsWith('Et'));
// includes() checks if a string includes something
console.log(name.includes('Vio'));
console.log(name.includes('ole'));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
The Number Object
//ES6 Number Object Extensions
let notNumber = NaN;
let stringNumber = '33'
let bigNumber = 1000000000000000000000000;
let infitineNumber = Infinity;
let floatNumber = 10.1;
// isNaN - checks if it is not a number
console.log(Number.isNaN(notNumber))
console.log(Number.isNaN(stringNumber))
// isFinite - checks if a number is finite
console.log(Number.isFinite(bigNumber))
console.log(Number.isFinite(infitineNumber))
// isInteger - checks if a number is a intiger
console.log(Number.isInteger(bigNumber))
console.log(Number.isInteger(floatNumber))
console.log(Number.isInteger(infitineNumber))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22