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à
true
lú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