読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

分割代入では変数を捨てる事もできる

実際のところ

mozillaJavascriptに関するURLをパースするケースを考えます。

var url = "https://developer.mozilla.org/en-US/Web/JavaScript";

var parsedURL = /^(\w+)\:\/\/([^\/]+)\/(.*)$/.exec(url);
console.log(parsedURL)
/*
[ 'https://developer.mozilla.org/en-US/Web/JavaScript',
  'https',
  'developer.mozilla.org',
  'en-US/Web/JavaScript',
  index: 0,
  input: 'https://developer.mozilla.org/en-US/Web/JavaScript' ]
*/

ここのRegex#execは結果として配列っぽいものを寄越してきます。

分割代入を知らなければ、こんな感じで書く所ですが

const protocol = parsedURL[1], fullhost = parsedURL[2], fullpath = parsedURL[3];

分割代入を知っていると、幾らか短く書くことができます。
例のごとくletは使えないので使いドコロは限られるかも知れません。

const [, protocol, fullhost, fullpath] = parsedURL;
console.log(protocol); 
//> "https"