Không ai hiểu tôi cả, có phải tôi là javascript?- Javascript khó hiểu, Là một web developer thì dù bạn có thích hay không cũng phải làm việc với nó.
 - Mình chia sẽ sáu bài test, là một số trường hợp magic của javascript mà mình đã gặp khi thực chiến.
 - Đề bài chung là 
cái gì được in ra console?. - Giành 15 phút, mở console và thực hành ngay nhé.
 
Bài 1. parseInt
const a =parseInt('0.000005');const b =parseInt('0.0000005');const c =parseInt(0.000005);const d =parseInt(0.0000005);
console.log(a, b, c, d);
- Vì sao d = 5?
 
Bài 2. Math.max
const a = Math.max([]);const b = Math.max();const c = a === b
console.log(a, b, c);
Bài 3. RegExp
const reg =newRegExp('true','g')
console.log(reg.test('true'))['true','true','true','true'].forEach(str=> console.log(reg.test(str)));
- Vì sao lúc là 
truelúc lại làfalse 
Bài 4. Array.map và parseInt
const a =parseInt('10');const arrayA =['10','10','10','10','10'].map(parseInt);
console.log({ a: a, arrayA: arrayA });
Bài 5. Variable scope
var a =1;functionbar(){if(!a){var a =10;} 
    console.log(a);}bar();
- Vì sao a = 10 ?
 
Bài 6. toString() method
functiontryCatch(fn){try{
        console.log(fn())}catch(err){
        console.log(err.message)}}tryCatch(()=>2..toString());tryCatch(()=>2.toString());tryCatch(()=>2.toString());tryCatch(()=>(2).toString());tryCatch(()=>[2].toString());tryCatch(()=>2.toString());
- Vì sao 
2.toString()là bịError 
Đáp án và lý giải chi tiết mình sẽ cập nhật vào tuần sau. Các bạn folow mình để có thể nhận thông báo.
Nguồn: viblo.asia
