[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
632(1): (ワッチョイ 775f-JCKB [14.8.104.32]) 2023/01/29(日)12:54 ID:eUvMCdrW0(1) AAS
if(a == 'あいう' && !b)でもよさそうな気がしなくもない
633: (オッペケ Sr27-+FJ3 [126.133.207.3]) 2023/01/29(日)15:43 ID:d0tJgmu5r(1/2) AAS
>>631
undefined は予約語ではないのでローカル変数による上書きが可能…という意味では、void 0 を使う価値はある
634(2): (アウアウウー Saa3-6TJq [106.129.157.183]) 2023/01/29(日)15:59 ID:rpOrCqGha(1) AAS
>631
ありがとうございます。リンク先確認しました。
if(a=='あいう' && b!== undefined またはvoid 0)
という感じでしょうか。
ここでb!= undefined とするとまずいのはbがnullの時だけ、という認識でいいでしょうか。
>632
ありがとうございます。bが0や空文字の時にも偽になりそうです。
635: (ワッチョイ df79-jh2e [220.150.90.192]) 2023/01/29(日)16:03 ID:R24XfIrD0(1) AAS
第一にjavascriptみたいな後付け追加仕様が混在する言語は規格よりも実装の影響力が強いから
想定環境で検証済の方法を採用すべきだと思う
コードとしては変数をtypeofで"undefined"と比較するのが恐らく理解しやすいが、
メンテナがjavascriptに十分慣れていてvoid 0のイディオムの理解を期待できるならそっちでもいい
636: (スッップ Sd72-X84U [49.98.141.203]) 2023/01/29(日)16:28 ID:MX/guDl/d(1) AAS
>>634
結局のところ
・undefinedが上書きされる可能性を考慮する必要があるのか
・bがundefined以外のfalsyな値を取りうるのか
・取る場合それぞれの値をundefinedとは区別したいのか同じとみなしたいのか
この辺次第で望ましい書き方は変わってくるわけで
637: (オッペケ Sr27-+FJ3 [126.133.207.3]) 2023/01/29(日)16:30 ID:d0tJgmu5r(2/2) AAS
>>634
型チェックも働かせるなら
if (a. === 'あいう' && b !== void 0)
と書けば良い
'あいう' も==では型チェックしない
> ここでb!= undefined とするとまずいのはbがnullの時だけ
まずいのは、undefined! == void 0 の場合
638(1): (アウアウウー Sacd-3+Au [106.128.44.107]) 2023/02/12(日)19:44 ID:zQHZ3m1Fa(1) AAS
//☆☆県(API番号☆00000)の予報を取得
let url = "外部リンク:www.jma.go.jp☆00000.json";
fetch(url)
.then(function(response) {
return response.json();
})
.then(function(weather) {
console.log(weather);
//☆☆県を選択し、変数に詰め直す
let area = weather[0].timeSeries[0].areas[0];
省12
639: (オッペケ Sr79-c/8M [126.179.247.114]) 2023/02/13(月)16:33 ID:6gR8iJfAr(1) AAS
バグってるので調査してください
それは質問ではなく作業依頼
640: 502 (ワッチョイ a901-d354 [60.103.78.83]) 2023/02/13(月)22:37 ID:E1kxmkHl0(1) AAS
>>638
やりたいことも伝えずに上手く動かないと言われてもなー
641: (JP 0H79-t1ev [126.249.157.89]) 2023/02/14(火)07:31 ID:NKP9M84/H(1) AAS
なぜ自身でデバッグせんのよ
642: (ワッチョイ 9279-sQVB [27.132.129.236]) 2023/02/14(火)21:18 ID:snyjWmK+0(1) AAS
そのメソッドチェーンやめれば分かるよ
エラーが起きない前提があってのメソッドチェーンだからよ
643(2): (ワッチョイ 9202-AGaU [27.92.176.51]) 2023/02/17(金)12:17 ID:DJukcnvm0(1) AAS
$.each()とsetIntervalをつかって、
インターバル時間ごとに順番に配列の中身を、コンソール出力する方法ありますでしょうか?
$.each()は、一度に処理するから、一つづつコンソール出力するのは難しいですかね。
644: (ワッチョイ a901-WXfS [60.109.220.141]) 2023/02/17(金)20:26 ID:iF4/ZjHx0(1/2) AAS
>>643
$,each()を使う理由がわからない
setIntervalだけ使えば良い
645: (ワッチョイ a901-WXfS [60.109.220.141]) 2023/02/17(金)22:54 ID:iF4/ZjHx0(2/2) AAS
>>643
clearintervalで1回だけタイマーを動かしてPromise化してawaitして$.each()を使えば、理屈ではできると思う
手段のモ目的化、かつ無駄に複雑だと思うが
646: (アウアウウー Sa81-JXsU [106.154.152.216]) 2023/02/18(土)19:51 ID:gBmvvkX6a(1) AAS
nodeでPythonのif name==main
みたいなことできませんか?
メソッドの動きをデバッカーでみたいんです
647(2): (ワッチョイ fa3d-FCAK [133.32.132.49 [上級国民]]) 2023/02/24(金)01:21 ID:jGK2BMhd0(1) AAS
//【環境】Win11,JScript
//【何をしたのか】case文のところに条件式を書き、breakせずにすべての条件式で評価したい
//【サンプルコード】現象を再現可能な最小限のコードを書いてください。
a=1
switch (true) {
case (a==1):
a=a+16
WScript.echo("aの値を変更a=",a)
case (a>10):
WScript.echo("a>10","a=",a)
省17
648: (ワッチョイ 9ebd-kyjD [119.240.41.213]) 2023/02/24(金)02:46 ID:thXJapXb0(1/2) AAS
>>647
上から順に case が評価され、どこかで真になればそれ以降の case は評価されない。
break してないからそれ以降の処理がフォールスルーで実行されてるだけ。
全部の条件を評価したいなら普通に if で書けばいいと思うよ。
649(1): (ワッチョイ 1501-qPsv [126.88.47.26]) 2023/02/24(金)05:29 ID:xQyCpHMf0(1) AAS
そもそもswitch文って条件にtrue入れて使うようなもんじゃないぞ
650(1): (ワッチョイ 9ebd-kyjD [119.240.41.213]) 2023/02/24(金)08:59 ID:thXJapXb0(2/2) AAS
>>649
case に式を書けるようにしたことによって使えるようになった副作用みたいなものだよね。
switch の式と一致する case を探すのが switch文の動作だとするなら、switch の式 true と一致する値となる、すなわち true になる式を持つ case が選択される。
個人的には if で書けばいいものをわざわざ分かりづらい書き方にしてるバッドプラクティスだと思ってるが、フォールスルーと組み合わせると if よりもスマートに書ける可能性はあるかもね。
特に >>647 のように全部の case を評価してほしいなら、switch で書く利点が何一つ無い。
if より利点がある場合は、フォールスルーする場合に最初に true になる case までしか式が評価されないことくらいなのに。
651: (ワッチョイ 433d-KeBY [133.32.132.49 [上級国民]]) 2023/02/25(土)02:30 ID:E1i3tKVi0(1) AAS
>>650
良いサンプルが思いつかんけど、
ifで書こうとすると、重複する処理を書かなければいけなくなったり、フラグの変数を導入したりすることになるんだけど、
breakなしのswitch case文ならうまいこと書けるんじゃないかと思ってやってみたけど、動かなかった。
上下前次1-新書関写板覧索設栞歴
あと 351 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s