[過去ログ] + JavaScript の質問用スレッド vol.141 + (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
760
(3): (ワッチョイ 4301-kPz+) 2019/09/05(木)20:16 ID:???0 AAS
const matched = value.match(/正規表現/)[0] || ''

これだと結局、右辺にたどり着く前に左辺の時点で「[0]を読み取れない」って怒られるんですけど
ここからあまり変数を増やしたりせずに
「マッチしたならその文字列、しなかったなら空の文字列」を代入する方法ってないですか?

const matched = (value.match(/正規表現/)) ? value.match(/正規表現/)[0] : ''
だと同じこと2回書くことになりますし…
761
(1): 2019/09/05(木)20:20 ID:??? AAS
>>760
初めから [0] ではない生データをとるのが最良
const matched = (value.match(/正規表現/)||[''])[0]
764
(1): 2019/09/05(木)23:16 ID:??? AAS
>>760
const [matched] = value.match(/正規表現/) || ['']
765: 760 2019/09/05(木)23:33 ID:??? AAS
>>761
あーなるほど!
|| はいろんな場所で柔軟に使えるらしいことは知ってましたが、この例を見てとてもすんなり腑に落ちました…!

>>764
分割代入ですね、配列の中が変数1つなら自ずと[0]が入ると…!

それぞれすっきりした記述ですごく参考になりました、ありがとうございます
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.029s