Dùng regex.test(string) trực tiếp ngay trong if có thể ra sai

Để regex.test() ngay trong if:

var string = 'aaa lấy tôi bbb'
var regex = new RegExp('lấy tôi', 'gi');
console.log("kết quả của regex.test khi ở ngoài if:", regex.test(string))
if (regex.test(string)) {
    console.log("Nếu dòng này hiện nghĩa là điều kiện bằng true")
}

//kết quả của regex.test khi ở ngoài if: true

Cách sửa: tạo biến cho regex.test() trước:

var string = 'aaa lấy tôi bbb'
var regex = new RegExp('lấy tôi', 'gi');
test = regex.test(string)
console.log("kết quả của regex.test khi ở ngoài if:", test)
if (test) {
    console.log("Nếu dòng này hiện nghĩa là điều kiện bằng true")
}

//kết quả của regex.test khi ở ngoài if: true
//Nếu dòng này hiện nghĩa là điều kiện bằng true

Regex.test(value) returns true when logged but false within an if statement