[解決済み] (a== 1 && a ==2 && a==3) が真に評価されることはあるのでしょうか?
2022-03-14 12:56:04
質問
モデレーターの注意 コードを編集したり、この通知を削除したい衝動にかられるのを我慢してください。空白のパターンは問題の一部かもしれないので、むやみにいじってはいけません。もしあなたが「空白は重要ではない」派であれば、このコードをそのまま受け入れることができるはずです。
ということはないのでしょうか?
(a== 1 && a ==2 && a==3)
を評価することができます。
true
をJavaScriptで表示できますか?
大手技術系企業で聞かれた面接の質問です。2週間前に起こったことなのですが、まだ答えを見つけられずにいます。日常業務でそのようなコードを書くことはないとは思いますが、気になりますね。
どのように解決するのですか?
を活用すれば
どのように
==
作品
を使用すれば、単にオブジェクトを作成し、カスタム
toString
(または
valueOf
) 関数で、3つの条件を満たすように、使用するたびに返す内容を変更します。
const a = {
i: 1,
toString: function () {
return a.i++;
}
}
if(a == 1 && a == 2 && a == 3) {
console.log('Hello World!');
}
これがうまくいくのは、緩やかな等号演算子を使用しているためです。緩やかな等式を使用する場合、オペランドの一方が他方とは異なる型であれば、エンジンは一方を他方に変換しようと試みます。左側にオブジェクト、右側に数値がある場合、エンジンはオブジェクトを数値に変換しようと、まず
valueOf
を呼び出し、それが失敗した場合は
toString
. 私は
toString
この場合は、単に思いついたからです。
valueOf
の方が理にかなっていると思います。もし私が代わりに
toString
この場合、エンジンはこの文字列を数値に変換しようとするので、最終結果は同じになりますが、経路は若干長くなります。
関連
-
要素ツリー制御によるvueTreeテーブル
-
[解決済み】awaitは非同期関数でのみ有効です。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] オブジェクトが配列であるかどうかを確認するにはどうすればよいですか?[重複]。
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] 2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
vueネットワークリクエストソリューション ネイティブネットワークリクエストとjsネットワークリクエストライブラリ
-
要素ツリー制御によるvueTreeテーブル
-
Vueの要素ツリーコントロールに破線を追加する説明
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
Javascript Bootstrapのグリッドシステム、ナビゲーションバー、ローテーションの説明
-
[解決済み】Node.jsで "Cannot find module "エラーを解決するには?
-
[解決済み】ExpressJS : res.redirect()が期待通りに動かない?
-
[解決済み】React-Redux: アクションはプレーンオブジェクトでなければならない。非同期アクションにはカスタムミドルウェアを使用する
-
[解決済み】 Uncaught TypeError : undefined のプロパティ 'replace' を読み取れない In Grid
-
[解決済み】括弧を付けずに関数を呼び出す方法