これまで真剣に向き合ってこなくてもなんとかやってこれたのですが、
「ちゃんとフロントエンドエンジニアになろう」と決心して奮闘している1児の父です!
フロントエンドエンジニアを目指したい人の役に立てれば嬉しいです!
clean-code-javascript
キレイなコードが書けるようにと思って見ていたら、コードの解説でわからない箇所が出てくる始末…。
非常に勉強になったのでオススメです!
これまで書いたコードを思い出して懺悔しながら読んでおりました…
本題の分割代入について
clean-code-javascriptの中の例としてあったコードに下記のようなものがありました。
1 const address = 'One Infinite, Loop Cupertino 95014';
2 const cityZipCodeRegex = /^[^,\\]+[,\\\s]+(.+?)\s*(\d{5})?$/;
3 const [, city, zipCode]= address.match(cityZipCodeRegex);
僕がわからなかったのは3行目です…
3 const [, city, zipCode]= address.match(cityZipCodeRegex);
すごく基本的なコードだと思いますが…「そんなのもわからないのか!!」
と言いたい気持ちは抑えておいてもらえると嬉しいです…
結論から言えば…「,(カンマ)」は1つ目を飛ばすことができる記述です。
1つ目というのは…
1 const address = 'One Infinite, Loop Cupertino 95014';
2 const cityZipCodeRegex = /^[^,\\]+[,\\\s]+(.+?)\s*(\d{5})?$/;
3 const [, city, zipCode]= address.match(cityZipCodeRegex)||[];
1行目を2行目の正規表現を使って、3行目でmatchを使用し条件の一致した文字列を返しているわけですが、1つ目に返ってくる結果をスキップして、2つ目をcityに代入、3つ目をzipCodeに代入しているということですね。