二次元裏@ふたば

画像ファイル名:1762087158394.png-(5304 B)
5304 B25/11/02(日)21:39:18No.1368893997+ 22:50頃消えます
これJavaらしいけど
5>9→false=0
0(false)<1→true
って介錯であってる?
このスレは古いので、もうすぐ消えます。
125/11/02(日)21:39:51No.1368894254そうだねx4
あってる
225/11/02(日)21:40:27No.1368894602そうだねx37
では介錯します
325/11/02(日)21:41:36No.1368895241+
Syntax Error
425/11/02(日)21:42:27No.1368895720そうだねx12
JavaじゃなくてJavaScriptだったりする?
525/11/02(日)21:42:52No.1368895945そうだねx9
まずJavaではないですね
625/11/02(日)21:43:30No.1368896288そうだねx2
いっしょよ!
725/11/02(日)21:43:42No.1368896417そうだねx7
内部的にはbooleanとintが同じでも構文エラー出てほしい
825/11/02(日)21:44:05No.1368896577そうだねx1
許すな
925/11/02(日)21:44:44No.1368896939そうだねx10
そもそも何を比較したいのか意味不明だからダメコード
1025/11/02(日)21:44:55No.1368897040+
Pythonなら5>9 and 9<1に分解されるからFalse
1125/11/02(日)21:46:46No.1368898019+
こんなの神が許してもフォーマッタが許さないだろ
1225/11/02(日)21:46:53No.1368898076+
>Pythonなら5>9 and 9<1に分解されるからFalse
Pythonそんな賢いのか
1325/11/02(日)21:47:25No.1368898379+
比較演算子前から評価されるんだな
代入とかは後ろから実行されるのに
1425/11/02(日)21:47:42No.1368898530そうだねx1
javaならbooleanとintを大小比較できないだろ
1525/11/02(日)21:48:38No.1368899056+
これマジでJava!?
1625/11/02(日)21:48:56No.1368899230+
そもそも1と0どっちがtrueだっけて所で躓いてた
1725/11/02(日)21:49:12No.1368899358そうだねx2
ctrl+shift+Iでコンソール開いて確かみてみろ
fu5835176.png
1825/11/02(日)21:49:43No.1368899667そうだねx12
>>Pythonなら5>9 and 9<1に分解されるからFalse
>Pythonそんな賢いのか
一般的なプログラミング言語とかけ離れてて怖いからやめてほしい…
1925/11/02(日)21:50:04No.1368899827+
>そもそも1と0どっちがtrueだっけて所で躓いてた
#define TRUE 1
#define FALSE -1
よし
2025/11/02(日)21:51:02No.1368900395+
きもい
2125/11/02(日)21:51:40No.1368900716+
これマジで0!?
2225/11/02(日)21:52:15No.1368901007そうだねx5
>#define TRUE 1
>#define FALSE -1
>よし
#define FALSE 0
にして!💢
2325/11/02(日)21:52:27No.1368901088そうだねx9
処理系がどう処理するかで評価分かれるというより
こんな書き方すんなってレビューで詰めるやつ
2425/11/02(日)21:53:25No.1368901576+
こんなんlintで蹴られないか?
2525/11/02(日)21:54:31No.1368902060そうだねx4
>きもい
え?
fu5835217.png
2625/11/02(日)21:55:11No.1368902341+
鳥肌立ったわ
2725/11/02(日)21:55:35No.1368902525+
脳を犯すな
2825/11/02(日)21:55:44No.1368902603そうだねx3
最初これ9に1を代入するとか…?って思ったけど先に5 > 9やってfalseにしてfalse < 1がtrueになるってこと?
2925/11/02(日)21:56:34No.1368902943+
>fu5835217.png
キッショなにこれ
3025/11/02(日)21:57:49No.1368903441そうだねx4
>fu5835217.png
++[+[]][+[]]
++[0][0]
++0
1
3125/11/02(日)21:58:43No.1368903802+
型破りすぎるだろ
3225/11/02(日)21:59:24No.1368904066そうだねx11
大昔の言語で1と0のシンタックスシュガーだった名残なだけで何も嬉しくねえよなBooleanと数値が比較できるの
3325/11/02(日)22:00:04No.1368904316+
このあたりはJSの暗黒面だから…
3425/11/02(日)22:00:36No.1368904550+
>比較演算子前から評価されるんだな
>代入とかは後ろから実行されるのに
自レスだけど優先順位が同じ二項演算子は前から実行されるから
そう考えると自然か
3525/11/02(日)22:00:41No.1368904577+
プログラムよくわからんけどなんでこんなぱっと見でどう処理されるかわからない鳴き方するの?
3625/11/02(日)22:00:49No.1368904613そうだねx1
この暗黒面使っても強くなれないじゃん…
3725/11/02(日)22:01:44No.1368905022+
>プログラムよくわからんけどなんでこんなぱっと見でどう処理されるかわからない鳴き方するの?
ここまでぱっと見でよくわからん書き方したら正しく動作しても多分レビューで指摘されるんじゃないか
たまに難解な書き方をするといい感じに速度が上がる…みたいなのもあるけど
3825/11/02(日)22:02:14No.1368905232そうだねx4
プログラミングはとんちする場所じゃないんだよ
3925/11/02(日)22:02:14No.1368905233+
>この暗黒面使っても強くなれないじゃん…
いい加減に使っても動くし
クソ期間が無くても言語仕様作れた!
4025/11/02(日)22:02:26No.1368905317そうだねx3
TypeScript使え
4125/11/02(日)22:02:31No.1368905345そうだねx1
仕様理解のトレーニングには有用
実務では使うな
4225/11/02(日)22:03:26No.1368905737+
>プログラムよくわからんけどなんでこんなぱっと見でどう処理されるかわからない鳴き方するの?
https://ja.javascript.info/ninja-code#ref-1939
忍者だから
4325/11/02(日)22:03:42No.1368905867+
('b'+'a'+ + 'a' + 'a').toLowerCase()
これがbananaになるの好き
4425/11/02(日)22:04:23No.1368906162+
文字列に+付けて数値に変換はよくやっちゃう
4525/11/02(日)22:04:32No.1368906211そうだねx5
>('b'+'a'+ + 'a' + 'a').toLowerCase()
>これがbananaになるの好き
NaN…だと…
4625/11/02(日)22:04:35No.1368906230そうだねx1
変な書き方して速度が上がるとかでもないと…すぞとしか思わないが
4725/11/02(日)22:05:41No.1368906665+
仕様上認められた動作というのとそれを使うかは別の話
4825/11/02(日)22:06:13No.1368906898そうだねx11
>変な書き方して速度が上がるとかでもないと…すぞとしか思わないが
いや速度上がっても殺すが…
4925/11/02(日)22:06:51No.1368907170+
そんな事すなで終わる話だからな
5025/11/02(日)22:07:13No.1368907312+
動的型付けのパワーは素晴らしいぞ
5125/11/02(日)22:07:49No.1368907552そうだねx15
JavaScriptをJavaと書くやつは何やってもだめ
5225/11/02(日)22:09:07No.1368908064そうだねx1
a>n>bはa>n && n>bになるのがどの言語でも基本になって欲しい
5325/11/02(日)22:12:50No.1368909705+
+a → Number(a)
''+a → String(a)
!!a → Boolean(a)
5425/11/02(日)22:13:06No.1368909828そうだねx1
俺はもうこの程度では怒らないよ
ごめん嘘腹は立つ
5525/11/02(日)22:13:07No.1368909838+
これでTrue返るの?変なの
5625/11/02(日)22:15:56No.1368911053そうだねx4
>+a → Number(a)
>''+a → String(a)
>!!a → Boolean(a)
真ん中は殺す
5725/11/02(日)22:16:01No.1368911095+
理屈ではなくそう定義されてるからそうなるんだ
>・論理値 true および false は、それぞれ 1 および 0 に変換されます。
>・null は 0 に変換されます。
>・undefined は NaN に変換されます。
5825/11/02(日)22:16:26No.1368911278+
あんまよくわかってないんだけどBooleanとint比較して嬉しいことあんのかな
JS触ってる時でも鬱陶しいとしか思ったことないんだけど
5925/11/02(日)22:17:28No.1368911716+
なんでこんな激キモ言語が許されてるんだ
6025/11/02(日)22:18:48No.1368912200そうだねx3
>あんまよくわかってないんだけどBooleanとint比較して嬉しいことあんのかな
>JS触ってる時でも鬱陶しいとしか思ったことないんだけど
ないからTypeScriptなんかが生まれて流行ったんですね
6125/11/02(日)22:18:54No.1368912242+
誰かが思った…nullは0に変換された方が便利だと…
6225/11/02(日)22:19:37No.1368912504+
>あんまよくわかってないんだけどBooleanとint比較して嬉しいことあんのかな
>JS触ってる時でも鬱陶しいとしか思ったことないんだけど
ぱっと思いつく限りでは無い
もしそれが嬉しい場面があったとしたらもっと前段階の設計を見直すべき
6325/11/02(日)22:19:40No.1368912529そうだねx7
>誰かが思った…nullは0に変換された方が便利だと…
思わないです!
6425/11/02(日)22:19:52No.1368912601そうだねx8
>誰かが思った…nullは0に変換された方が便利だと…
マジふざけんなよ…
6525/11/02(日)22:20:03No.1368912685+
わざわざ動的型付けなんて使っておきながら文句言うなよ
6625/11/02(日)22:21:02No.1368913044+
>誰かが思った…nullは0に変換された方が便利だと…
レベルがないのがレベル0になるのか
6725/11/02(日)22:21:11No.1368913092そうだねx3
>わざわざ動的型付けなんて使っておきながら文句言うなよ
下っ端に言語選択の自由があるなんて思い上がるなよ
6825/11/02(日)22:21:36No.1368913250そうだねx5
>わざわざ動的型付けなんて使っておきながら文句言うなよ
好きで使ってんじゃねえよ!これしかねえんだよWEBページでは
6925/11/02(日)22:21:59No.1368913421+
今低レベルの事意識する必要めっきり減ってるから言われちゃうのも仕方ないね
7025/11/02(日)22:23:18No.1368913961+
はるか昔に低級言語でメモリーの中の数字を操作してた時代の伝統が残ってるだけだと思う
7125/11/02(日)22:23:19No.1368913964+
どっちも数値型なんだからそのまま計算してくれと思うことはある
7225/11/02(日)22:24:38No.1368914538+
>誰かが思った…nullは0に変換された方が便利だと…
死んでよ〜
7325/11/02(日)22:25:41No.1368914975そうだねx1
ここまでスレ読んでようやく理解したわ
5が9より大きいかを()内で判定した結果falseになって
この()内のfalseが1より小さいか判定した結果trueなったのか
7425/11/02(日)22:25:51No.1368915053+
undefinedの存在意義
7525/11/02(日)22:26:45No.1368915386+
みんな何を言っているんだ…?
TRUEは1にFALSEは0にNULLも0にコンパイル時に展開してもらうだけのただの整数だろう…?
7625/11/02(日)22:27:20No.1368915599そうだねx1
>今低レベルの事意識する必要めっきり減ってるから言われちゃうのも仕方ないね
つっても低層から組み上げてる人は今でもいる
7725/11/02(日)22:27:35No.1368915689+
>>わざわざ動的型付けなんて使っておきながら文句言うなよ
>下っ端に言語選択の自由があるなんて思い上がるなよ
次のプロジェクトはWebのやつだからJava使っていいよ!
7825/11/02(日)22:27:54No.1368915813そうだねx5
false == 0がtrueになるの気持ち悪いだろ
7925/11/02(日)22:28:29No.1368916050+
Number(5 > 9) < 1
実際にはこうなるってわけだ
8025/11/02(日)22:28:46No.1368916150+
=== !==を使いなさい
8125/11/02(日)22:29:20No.1368916344+
>false == 0がtrueになるの気持ち悪いだろ
なので===を使うようにしましょうね
8225/11/02(日)22:29:36No.1368916460+
>false == 0がtrueになるの気持ち悪いだろ
しかしだねメモリレジスタ上では同じなのだからtrueでも間違いではないだろう
8325/11/02(日)22:29:50No.1368916525+
5>9<1なんて判定文OKなの!?
8425/11/02(日)22:31:05No.1368916990+
>Oracleが思った…''はnullに変換された方が便利だと…
8525/11/02(日)22:32:08No.1368917326+
>次のプロジェクトはWebのやつだからJava使っていいよ!
え!?今時JavaでWebを!!
8625/11/02(日)22:33:10No.1368917719+
javaアプレットはもう…
8725/11/02(日)22:34:14No.1368918125+
馬鹿にしないでよ!
なんかワスム?でWebでもプログラム動くんでしょ!
8825/11/02(日)22:34:23No.1368918172+
>5>9<1なんて判定文OKなの!?
まず演算子の優先度が同じなので右側から解決するだろ
9<1はfalseだろ
そうしたら5>falseになって右辺のfalseは0に暗黙的型変換されるだろ
だから5>0になって結果はtrueだ
これがJavaScriptだ
8925/11/02(日)22:36:17No.1368918816+
>javaアプレットはもう…
JavaにもWebフレームワークはあるんですよ!
9025/11/02(日)22:36:21No.1368918828+
嬉しいことがあるからそうなってるんじゃなくて
あんまり考慮してなかったけどとりあえずそうしとくかな部分と
そういう部分を前はこうだったからで漫然と引き継いでる部分がある
かといって仕様を綺麗に整理して互換性切れるのも歓迎されないという
9125/11/02(日)22:37:24No.1368919161そうだねx1
>>次のプロジェクトはWebのやつだからJava使っていいよ!
>え!?今時JavaでWebを!!
バックエンドなら定番中の定番だろう
9225/11/02(日)22:38:03No.1368919359そうだねx1
>ctrl+shift+Iでコンソール開いて確かみてみろ
これマジでJava?
9325/11/02(日)22:38:13No.1368919406+
>jQueryはもう…
9425/11/02(日)22:38:23No.1368919465そうだねx1
クソ仕様なのはみんな分かっているけどWebは互換性が絶対だから直せない
みんなが使うからなくならないので周りの整備やエンジンの最適化を頑張るしかない
9525/11/02(日)22:38:51No.1368919642そうだねx3
普通に使うけど即時実行関数も正直キモいからな…
9625/11/02(日)22:39:39No.1368919934+
リントツールガチガチに効かせておけばこんなん遭遇はしないでしょ
9725/11/02(日)22:40:11No.1368920119+
>>ctrl+shift+Iでコンソール開いて確かみてみろ
>これマジでJava?
本当にJavaです…
9825/11/02(日)22:41:01No.1368920402+
>>jQueryはもう…
自信なくなってきたけどそっちは全然現役じゃない…?
9925/11/02(日)22:41:03No.1368920413+
ワンライナー死すべし
10025/11/02(日)22:41:22No.1368920537そうだねx1
WASMがJSのガワ無しでもDOM使えるようになるぜ!って話聞いてもう5年くらい経った気がする
10125/11/02(日)22:41:48No.1368920699+
>リントツールガチガチに効かせておけばこんなん遭遇はしないでしょ
// eslint-disable-next-line
10225/11/02(日)22:41:52No.1368920723+
phpも似たようなもんと聞いてたけどそっちは魔改造されたんだっけ
10325/11/02(日)22:42:31No.1368920939+
ちょっと待ってねperlのコード引っ張り出してくるから…
10425/11/02(日)22:44:17No.1368921583+
>>>jQueryはもう…
>自信なくなってきたけどそっちは全然現役じゃない…?
新規には使わないけど動いてる物から消す必要がない…
10525/11/02(日)22:44:32No.1368921676+
知る限りPHPは一番ひどい
https://www.php.net/manual/ja/types.comparisons.php
10625/11/02(日)22:44:49No.1368921780+
JavaScriptといえばこの間見たやつが
擬似クラス内の未定義のselfに対するプロパティとして保存したせいでwindowオブジェクトに格納されてた値が
同じような実装がいっぱいあったせいで他の擬似クラスからプロパティとして呼び出せちゃってもうめちゃくちゃになってたんだよね
新環境へ移行する際の設定ファイル調整作業って言われてたのに影響範囲調査と改修と水平展開まで俺が一人でやる羽目になったんだよね
10725/11/02(日)22:44:51No.1368921800+
js暗黒面の話題でJava叩きしてるの
聞きかじりで知ったかしてるだけにしたって低レベルすぎない……?
10825/11/02(日)22:45:21No.1368921987+
wasmってよっぽど重い計算させない限りjsのほうが早いんだよなぁ…
10925/11/02(日)22:45:39No.1368922102+
perlは演算子がキモくていらいらした思い出があるけど
もう何十年も触ってないから思い出補正かもしれない
11025/11/02(日)22:45:58No.1368922213そうだねx1
まるでブラウザでJSを早く動かすことに人類最高峰の頭脳が使われたかのようだよね
11125/11/02(日)22:46:31No.1368922437+
入社したころperlはちょっとしたスクリプトで結構書かれてたけどいつの間にか全部Pythonに変わった
11225/11/02(日)22:46:48No.1368922556そうだねx2
そろそろTypeScriptをブラウザの処理系で直接解釈可能になってくれないものか
11325/11/02(日)22:47:39No.1368922836+
令和にもなって言語叩きなんかやってるやつなんてゲハと同じおつむのド低能しかいないから……
11425/11/02(日)22:48:01No.1368922957+
JavaScriptに型ヒントが公式で入るやつずっと進んでないな
11525/11/02(日)22:49:24No.1368923458そうだねx1
なんかスイッチ入っちゃった子がいるな
赤字だからか
11625/11/02(日)22:50:00No.1368923667+
>そろそろTypeScriptをブラウザの処理系で直接解釈可能になってくれないものか
Python方式でNodeみたいに宣言無視してくれるだけでもひと手間減ってありがたいよね


fu5835217.png 1762087158394.png fu5835176.png