@phatht Vấn đề là ở Arrow Func. this của hai cách khai báo func sẽ khác nhau.
var log = console.log; var self = this; // Arrow Func var test1 = ()=>{ if (this == self ) log("`this` in test1 equal self") } // not Arrow Func var test2 = function () { var self_test2 = this if (this == self ) log("`this` in test2 equal self") else { if (this == self_test2) log("`this` in test2 equal self_test2") } } test1() test2()