[解決済み] javascriptで `~` は何を意味するのでしょうか?
2022-02-09 23:29:32
質問
expressのコードを表示すると、次のようなコードが表示されます。 https://github.com/visionmedia/express/blob/master/lib/application.js#L490
if ('all' == envs || ~envs.indexOf(this.settings.env)) fn.call(this);
というのは
~
の前の意味です。
envs
解決方法は?
なぜそのような場面で使われるのかと思われた方のために説明すると、それは
indexOf
メソッドは何かを発見しました。
indexOf
は、何も見つからなかったら-1、見つかったら>=0を返します。つまり、~-1を実行すると0(偽の値)が得られ、それ以外を実行すると真実の値が得られます。
だから
if( ~str.indexOf( "something" ) ) {
...
}
というのは、もっと短い言い方で
if( str.indexOf( "something" ) !== -1 ) {
...
}
もしあなたが、-1 が 0 の NOT であることを不思議に思っているなら、次の記事を読んでください。 こちら
関連
-
[解決済み】 Uncaught Error: Invariant Violation: 解決済み】 Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function but got: object.
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み】JavaScript版sleep()とは?)
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'top' を読み込めない
-
[解決済み】webpack: モジュールが見つかりません。Error: 解決できない(相対パスで)
-
[解決済み】jquery $.ajaxオブジェクトのresponseJSONプロパティを取得する方法 [重複]。
-
[解決済み】Javascriptのコールバック関数がFirefoxで「Callback is not a function」というエラーを投げる
-
[解決済み】FirefoxでGoogle Maps V3をリモートで使用すると「googleが定義されていません」と表示される。
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】Uncaught TypeError: 未定義のプロパティ 'msie' を読み取れない - jQuery tools
-
[解決済み】HTMLの最初の行に予期しないトークン<がある。
-
[解決済み】Javascript、[オブジェクトHTMLInputElement]を表示中。]
-
[解決済み】中央値の計算 - javascript