thể trùng lặp:
typeof for RegExpLàm thế nào để biết một đối tượng là một đối tượng RegExp?
Tôi có một thói quen mà đang thử nghiệm để xem nếu một đối tượng trận đấu cho các tiêu chí.
testForMatch(objectToTest, matchCriteria) {
// all my testing logic here.
}
Tham số matchCriteria
là một đối tượng có thể trông như thế này, ví dụ:
{
'size' : "large",
'color' : /(blue|red)/
}
này matchCriteria
trong ví dụ trên sẽ được sử dụng để kiểm tra nếu objectToTest
có một thuộc tính size
với giá trị "large"
, và thuộc tính color
với giá trị là "blue"
hoặc "red"
.
Vì vậy, matchCriteria
có tên thuộc tính/thuộc tính sẽ được tìm kiếm trong objectToTest
với mục tiêu khớp với các giá trị của thuộc tính. Hoặc, nếu một regex được đưa ra làm giá trị (như trong trường hợp của color
ở trên) thì thuộc tính trong objectToTest
sẽ là RegExp.test()
'ed so với regex đã cho.
Nhưng để xử lý matchCriteria
đúng cách trong testForMatch()
, tôi cần phải biết giá trị của thuộc tính trong matchCriteria
là một chuỗi hoặc đối tượng RegExp
.
Câu hỏi của tôi là, làm thế nào tôi có thể phát hiện xem giá trị của thuộc tính có phải là đối tượng RegExp
không?
http://stackoverflow.com/questions/4339288/typeof-for-regexp – mithunsatheesh
@mithunsatheesh, Cảm ơn bạn! –