比較で厳密にするかどうかで「===」を使ったりしますよね。
これは型の比較が必要な場合だけ書くべきでしょうか?
その方がわかりやすいですか?
例えば型の比較まで必要なければ以下のように「==」にしますか?
php
1$str = 'a'; 2if( $str == 'a' ) {} 3 4$int = 123; 5if( $int == 123 ) {}
それとも型の必要がなくても、製作者の意図としてその値以外ありえなければ厳密に「===」を使いますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
特にPHPの場合は、できるだけ===
を使うことをおすすめします。
たとえば、'3rd' == 3.0
や'php' == 0
もtrueになってしまいます。
JavaScriptの場合は、「null
とundefined
をまとめてチェックしたい」場合にvalue == null
と書くなど、使う場面はある程度あります。
投稿2020/04/01 02:43
総合スコア146018
0
ベストアンサー
大抵の解説には比較演算子は「厳密」に行うように書いていると思います。
特にグループで作業をするときには不要なバグを抑制するために厳密に
比較してください。
投稿2020/04/01 02:36
総合スコア116724
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/01 02:46
2020/04/01 02:46
2020/04/01 03:22
2020/04/01 03:24 編集
2020/04/01 03:28
2020/04/01 03:37 編集
2020/04/01 06:01
0
まずPHPに関して。
PHP: 比較演算子 - Manual
を読め。
そしてjavascriptに関して。
式と演算子 - JavaScript | MDN
の比較演算子の項を読め。
乱暴な言い方をすると、1
と'1'
が同じとみなすか違うとみなすか次第ではないかと。
型まで同じでないと同値とみないというのが結構大事な気がする。
あとは、設計上の許容範囲の考え方次第かと。
(厳密、厳格な方が想定外のエラーを招きにくいかも。)
投稿2020/04/01 02:27
編集2020/04/01 02:30退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/01 02:46
2020/04/01 02:48