若 Char 存在於 String,String.prototype.indexOf()
會回傳其 index,否則回傳 -1
。
Version
macOS Catalina 10.15.2
VS Code 1.41.1
Quokka 1.0.271
ECMAScript 2015
Found
let data = 'hello'
if (data.indexOf('e') > -1) console.log('found')
if (~data.indexOf('e')) console.log('found')
若 indexOf()
回傳大於 -1
則表示找到,亦可使用 ~
,只要不是 -1
都會回傳 true。
Not Found
let data = 'hello'
if (data.indexOf('x') === -1) console.log('not found')
if (!~data.indexOf('x')) console.log('not found')
若 indexOf()
等於 -1
表示找不到,亦可使用 !~
,只要是 -1
都會回傳 true。
Conclusion
- 透過
~
與!~
轉成 boolean 特性,亦可用於其他回傳-1
的 function