ES5 features
Explain array methods(map, filter, some, every, reduce, reduceRight, forEach)
What does this code do?
emailsString.split(/[,;\s]+/).every(email=>isEmail(email));
Rewrite it with .some() method
Object methods
Describe property attributes and Object.defineProperty, Object.getOwnPropertyDescriptor methods
Write method join:
vara={a: 1,b: 2,c: 3};a.join()// output: a,b,c
// possible solution:Object.defineProperty(Object.prototype,'join',{value(){returnObject.keys(this).join(',');},enumerable: false});
Explain difference between Object.keys and Object.getOwnPropertyNames:
vara={q: 1};Object.defineProperty(a,'xxx',{value: 'yyy',enumerable: false});Object.keys(a);// what it returns? Object.getOwnPropertyNames(a);// what it returns?
Setters and Getters
Strict mode restrictions
- Global scope restrictions
(function(){"use strict";x=100;})();
Closures
Context
Scope
- What is the result of:
Object.prototype.x=10;vary=20;(function(){console.log(x,y);})();
Write function "reverse" for objects (have to work as for arrays)
// possible solutionfunctionreverse(obj){returnObject.keys(obj).reverse().reduce((res,i)=>{res[i]=obj[i];returnres;},{});}
Write function "pop" for objects (have to work as for arrays)
// possible solutionfunctionpop(obj){varkeys=Object.keys(obj);if(!keys.length)return;varkey=keys[keys.length-1],val=obj[key];deleteobj[key];returnval;}
Latest commit
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|