javascript エラー「Uncaught TypeError: Cannot use ‘in’ operator to search for ‘xxx’ in xxx」の解決方法

javascript エラー「Uncaught TypeError: Cannot use ‘in’ operator to search for ‘xxx’ in xxx」の解決方法

javascriptで、エラー「Uncaught TypeError: Cannot use ‘in’ operator to search for ‘xxx’ in xxx」が発生した場合の原因と解決方法を記述してます。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 101.0.4951.54

エラー内容

以下のコードで発生。

"a" in "abc";

エラーメッセージ

Uncaught TypeError: Cannot use 'in' operator to search for 'a' in abc

画像

firefox(バージョン97)でも、同様のエラーとなります。

Uncaught TypeError: cannot use 'in' operator to search for "a" in "abc"

画像

原因

inは、配列やオブジェクトに対してしか使用できないため

解決方法

「indexOf」を使用する

console.log(
  "a".indexOf("abc") !== -1
)

実行結果