├── README.md ├── arguments.js ├── array-split.js ├── break-continue.js ├── closure.js ├── double-vs-triple-equal.js ├── map-filter.js ├── null-vs-undefined.js ├── object-property.js ├── scope.js ├── settimeout.js ├── time.js └── true-false.js /README.md: -------------------------------------------------------------------------------- 1 | # advanced-javascript 2 | -------------------------------------------------------------------------------- /arguments.js: -------------------------------------------------------------------------------- 1 | function add(num1, num2){ 2 | console.log([...arguments]); 3 | return num1 + num2 + arguments[2]; 4 | } 5 | const result = add(2, 3, 5, 7); 6 | console.log(result); -------------------------------------------------------------------------------- /array-split.js: -------------------------------------------------------------------------------- 1 | const nums = [1,2,3,4,5,6,7,8]; 2 | //const part = nums.slice(2, 5); 3 | 4 | const removed = nums.splice(2,3, 77); 5 | // console.log(removed); 6 | // console.log(nums); 7 | 8 | const together = nums.join("ami") 9 | console.log(together); -------------------------------------------------------------------------------- /break-continue.js: -------------------------------------------------------------------------------- 1 | const nums = [1,-2,3,4,-5,-6,7,-8,9]; 2 | for(let i = 0; i < nums.length; i++){ 3 | 4 | if(nums[i]>3){ 5 | break; 6 | } 7 | //console.log(nums[i]); 8 | } 9 | 10 | for(let i = 0; i < nums.length; i++){ 11 | if(nums[i]<0){ 12 | continue; 13 | } 14 | console.log(nums[i]); 15 | } -------------------------------------------------------------------------------- /closure.js: -------------------------------------------------------------------------------- 1 | function stopWatch(){ 2 | let count = 0; 3 | return function(){ 4 | count++; 5 | return count; 6 | } 7 | } 8 | 9 | const clock1 = stopWatch(); 10 | console.log(clock1()); 11 | console.log(clock1()); 12 | console.log(clock1()); 13 | console.log(clock1()); 14 | 15 | const clock2 = stopWatch(); 16 | console.log(clock2()); 17 | console.log(clock2()); 18 | console.log(clock1()); 19 | console.log(clock2()); -------------------------------------------------------------------------------- /double-vs-triple-equal.js: -------------------------------------------------------------------------------- 1 | const first = 0; 2 | const second = false; 3 | if(first == second){ 4 | console.log("condition is true"); 5 | } 6 | else{ 7 | console.log("condition is false"); 8 | } -------------------------------------------------------------------------------- /map-filter.js: -------------------------------------------------------------------------------- 1 | const numbers = [3, 4, 5, 6, 7, 8]; 2 | // const output = []; 3 | 4 | // for(let i = 0; i < numbers.length; i++){ 5 | // const element = numbers[i]; 6 | // const result = element * element; 7 | // output.push(result); 8 | // } 9 | 10 | // function square (element){ 11 | // return element * element; 12 | // } 13 | 14 | // const square = element => element * element; 15 | // const square = x => x * x; 16 | 17 | // const result = numbers.map(function(element){ 18 | // return element * element; 19 | // }) 20 | 21 | // const result = numbers.map(x => x * x); 22 | 23 | // console.log(result); 24 | 25 | const bigger = numbers.filter( x => x < 3); 26 | 27 | const isThere = numbers.find(x => x > 5); 28 | 29 | console.log(isThere); -------------------------------------------------------------------------------- /null-vs-undefined.js: -------------------------------------------------------------------------------- 1 | let pakhi; 2 | function add(num1, num2){ 3 | console.log(num1 + num2); 4 | return 5 | } 6 | 7 | function add(num1, num2){ 8 | console.log(num1, num2); 9 | } 10 | 11 | const premik = {name:"smart dude", phone:458421}; 12 | console.log(premik.gf); 13 | 14 | let fun = undefined; 15 | console.log(fun); 16 | 17 | let ages = [2, 5, 9] 18 | console.log(ages[11]); -------------------------------------------------------------------------------- /object-property.js: -------------------------------------------------------------------------------- 1 | const students = [ 2 | {id: 21, name: 'Omar Sunny'}, 3 | {id: 31, name: 'Maannaaaaaa'}, 4 | {id: 41, name: 'Moyouri'}, 5 | {id: 71, name: 'DeepJol'} 6 | ]; 7 | 8 | const names = students.map( s => s.name); 9 | const ids = students.map(s => s.id); 10 | const bigger = students.filter( s => s.id>40); 11 | const biggerOne = students.find( s => s.id>40); 12 | 13 | console.log(biggerOne); -------------------------------------------------------------------------------- /scope.js: -------------------------------------------------------------------------------- 1 | let bonus = 20; 2 | 3 | function sum(first, second){ 4 | let result = first + second + bonus; 5 | //console.log(bonus); 6 | if(result > 9){ 7 | var mood = "happy"; 8 | mood = "fishy"; 9 | mood = 'funky'; 10 | mood = "cranky" 11 | //console.log(mood); 12 | } 13 | console.log(day); 14 | let day = "friday"; 15 | 16 | return result; 17 | } 18 | 19 | const output = sum(3, 7); 20 | //console.log(bonus); 21 | //console.log(output); -------------------------------------------------------------------------------- /settimeout.js: -------------------------------------------------------------------------------- 1 | const currentTime = new Date(); 2 | //console.log(currentTime); 3 | console.log("first friend Happy birtday"); 4 | setTimeout(function(){ 5 | console.log("second friend Happy birtday"); 6 | }, 3000) 7 | setInterval(function(){ 8 | console.log("amake treat dey"); 9 | }, 2000); 10 | console.log("third friend Happy birtday"); 11 | console.log("fourth friend Happy birtday"); -------------------------------------------------------------------------------- /time.js: -------------------------------------------------------------------------------- 1 | const time = new Date(); 2 | // console.log(time); 3 | 4 | console.log("first"); 5 | 6 | setTimeout(function(){ 7 | console.log("second"); 8 | },4000); 9 | 10 | setInterval(() => { 11 | console.log("amare treat dey") 12 | }, 2000); 13 | console.log("third"); 14 | console.log("fourth"); 15 | console.log("fifth"); -------------------------------------------------------------------------------- /true-false.js: -------------------------------------------------------------------------------- 1 | //Falsy: 2 | // false 3 | // 0 4 | // "" 5 | // udenfined 6 | // null 7 | // NaN 8 | //Truthy 9 | //'0', ' ' [] 10 | let name = 12; 11 | if(name || name == 0){ 12 | console.log("condition is true"); 13 | } 14 | else{ 15 | console.log("condition is false"); 16 | } --------------------------------------------------------------------------------