diff --git a/.DS_Store b/.DS_Store index f80bcd6..090835d 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Chapter 12/asyncawait.js b/Chapter 12/asyncawait.js new file mode 100644 index 0000000..933e561 --- /dev/null +++ b/Chapter 12/asyncawait.js @@ -0,0 +1,16 @@ +function saySomething(x) { + return new Promise(resolve => { + setTimeout(() => { + resolve('something' + x); + }, 2000); + }); +} + +async function talk(x) { + const words = await saySomething(x); + console.log(words); +} + +talk(2); +talk(4); +talk(8); \ No newline at end of file diff --git a/Chapter 12/callbacks.js b/Chapter 12/callbacks.js new file mode 100644 index 0000000..0a29e70 --- /dev/null +++ b/Chapter 12/callbacks.js @@ -0,0 +1,63 @@ +function doSomething(callback) { + callback(); +} + +function sayHi() { + console.log("Hi!"); +} + +doSomething(sayHi); + + +function judge(grade) { + switch (true) { + case grade == "A": + console.log("You got an", grade, ": amazing!"); + break; + case grade == "B": + console.log("You got a", grade, ": well done!"); + break; + case grade == "C": + console.log("You got a", grade, ": alright."); + break; + case grade == "D": + console.log("You got a", grade, ": hmmm..."); + break; + default: + console.log("An", grade, "! What?!"); + } +} + +function getGrade(score, callback) { + let grade; + switch (true) { + case score >= 90: + grade = "A"; + break; + case score >= 80: + console.log(score); + grade = "B"; + break; + case score >= 70: + grade = "C"; + break; + case score >= 60: + grade = "D"; + break; + default: + grade = "F"; + } + judge(grade); +} + +getGrade(85, judge); + +setInterval(500, encourage); + +function encourage() { + console.log("You're doing great, keep going!"); +} + +setInterval(function () { + console.log("You're doing great, keep going!"); +}, 500) \ No newline at end of file diff --git a/Chapter 12/chainedpromises.js b/Chapter 12/chainedpromises.js new file mode 100644 index 0000000..5ec4137 --- /dev/null +++ b/Chapter 12/chainedpromises.js @@ -0,0 +1,26 @@ +const promise = new Promise((fulfill, reject) => { + fulfill('success!'); + //reject('oops...'); +}) + .then(value => { + console.log(value); + return 'we'; + }) + .then(value => { + console.log(value); + return 'can'; + }) + .then(value => { + console.log(value); + return 'chain'; + }) + .then(value => { + console.log(value); + return 'promises'; + }) + .then(value => { + console.log(value); + }) + .catch(value => { + console.log(value); + }) diff --git a/Chapter 12/complex.json b/Chapter 12/complex.json new file mode 100644 index 0000000..bf76d1a --- /dev/null +++ b/Chapter 12/complex.json @@ -0,0 +1,34 @@ +{ + "companies": [ + { + "name": "JavaScript Code Dojo", + "addresses": [ + { + "street": "123 Main street", + "zipcode": 12345, + "city" : "Scott" + }, + { + "street": "123 Side street", + "zipcode": 35401, + "city" : "Tuscaloosa" + } + ] + }, + { + "name": "Python Code Dojo", + "addresses": [ + { + "street": "123 Party street", + "zipcode": 68863, + "city" : "Nebraska" + }, + { + "street": "123 Monty street", + "zipcode": 33306, + "city" : "Florida" + } + ] + } + ] +} \ No newline at end of file diff --git a/Chapter 12/parsing.js b/Chapter 12/parsing.js new file mode 100644 index 0000000..fa7ba17 --- /dev/null +++ b/Chapter 12/parsing.js @@ -0,0 +1,12 @@ +let str = "{\"name\": \"Maaike\", \"age\": 30}"; +let obj = JSON.parse(str); +console.log(obj.name, "is", obj.age); + +let dog = { + "name": "wiesje", + "breed": "dachshund" +}; + +let strdog = JSON.stringify(dog); +console.log(typeof strdog); +console.log(strdog); \ No newline at end of file diff --git a/Chapter 12/promises.js b/Chapter 12/promises.js new file mode 100644 index 0000000..d517693 --- /dev/null +++ b/Chapter 12/promises.js @@ -0,0 +1,19 @@ +let promise = new Promise(function (resolve, reject) { + // do something that might take a while + // let's just set x instead for this example + let x = 20; + if (x > 10) { + resolve(x); // on success + } else { + reject("Too low"); // on error + } +}); + +promise.then( + function (value) { + console.log("Success:", value) + }, + function (error) { + console.log("Error:", error) + } +); \ No newline at end of file diff --git a/Chapter 12/storage.html b/Chapter 12/storage.html new file mode 100644 index 0000000..bbdb605 --- /dev/null +++ b/Chapter 12/storage.html @@ -0,0 +1,16 @@ + + + + +
+ + + + + \ No newline at end of file diff --git a/Chapter 14/exampled3.html b/Chapter 14/exampled3.html new file mode 100644 index 0000000..4ca9b65 --- /dev/null +++ b/Chapter 14/exampled3.html @@ -0,0 +1,24 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Chapter 14/examplereact.html b/Chapter 14/examplereact.html new file mode 100644 index 0000000..0c98e73 --- /dev/null +++ b/Chapter 14/examplereact.html @@ -0,0 +1,20 @@ + + + + + + + + + +
+ + + + \ No newline at end of file diff --git a/Chapter 14/exampleunderscore.html b/Chapter 14/exampleunderscore.html new file mode 100644 index 0000000..d5c5e65 --- /dev/null +++ b/Chapter 14/exampleunderscore.html @@ -0,0 +1,15 @@ + + + + + + + + + + + + \ No newline at end of file