Finally, in javaScript 2015 we get 2 new built-in data structures that makes our life a little bit easier. On this lecture, we will explore various implementations of common data structures in javaScript using Arrays, Objects and the new members in javaScript 2015: Maps and Sets.
26. a memory location that can contains
a specified number of bytes
const buffer = new ArrayBuffer(8);
buffer.byteLength;
=> 8
ArrayBuffer()
27. Interface for manipulating array buffers
const buffer = new ArrayBuffer(8);
const view = new DataView(buffer);
view.setFloat32(2,8);
view.getFloat32(2);
// => 8
DataView()
28. new Int8Array(8);
new Int16Array(8);
new Int32Array(8);
new Float32Array(8);
new Float64Array(8);
new Uint8Array(8);
new Uint8ClampedArray(8);
Type-Specific views
35. const colors = new Set();
colors.add('Red');
colors.add('Green');
colors.add(‘Blue');
colors.size; // => 3
Create a Set and add element
36. const names = new Set();
names.add('nir');
names.add('chen');
names.has('nir');
names.delete('nir');
names.clear();
Test, delete and clear
37. const colors = new Set();
colors.add('Red');
colors.add('Green');
colors.forEach( (value, index) => {
console.log(`${value}, ${index}`)
});
Iterate over a Set
38. for (let item of set)
for (let item of set.keys())
for (let item of set.values())
for (let [key, value] of set.entries())
for of loop
39. let set = new Set(['Red', 'Green']);
let array = [...set];
console.log(array);
// => [ 'Red', 'Green']
Set - Array conversation
53. const roles = new Map();
const nir = {id: 1, name: "Nir"};
const ran = {id: 2, name: "ran"};
roles.set(nir, ['manager']);
roles.set(ran, ['user']);
roles.forEach( (value, key) => {
console.log(value, key);
});
Iterate over a Map
54. for (let [key, value] of roles)
for (let key of roles.keys())
for (let value of roles.values())
for (let [key, value] of roles.entries())
for of loop
55. WEAK MAPS
Holds a weak reference to key
The key must be an object
Expose get and set.