ES6を学ぶ初心者向けの解説とは?

このQ&Aのポイント
  • ES6を学ぶのは難しいと感じる初心者にもわかりやすく解説しています。
  • 関数で複数の値を一度に返す方法や、配列の展開についても詳しく説明しています。
  • ES6の新機能を使って効率的なコーディングを実現する方法も紹介しています。
回答を見る
  • ベストアンサー

ES6を学んでいるのですが難しいです。

ES6を学んでいるのですが難しくて初心者にもわかるように解説していただけるとありたいです。 http://qiita.com/takeharu/items/cbbe017bbdd120015ca0 >>> 関数で複数の値を一度に返す一度に関数で複数の値を返すことができます。今まではオブジェクトや配列に代入して返していました。 function getFruit() { return ['りんご', 'バナナ'];} ES6 var [fruit1, fruit2] = getFruit(); ES5 console.log(fruit1); // りんごconsole.log(fruit2); // バナナ >>> 上記は function getFruit() { return ['りんご', 'バナナ'];} ES6 var [fruit1, fruit2] = getFruit(); ES5 ということだと思いますか? そのような説明がないのでわかりにくいですが、 ・ >>> 「...」演算子により、複数の値を一つの配列にまとめる「...」演算子を使用することにより、それ以降の値を一つの配列としてまとめることができます。 var [name, age, ...fruit] = ['ハル', 21, 'りんご', 'みかん']; console.log(name, age, fruit); // ハル 21 ['りんご', 'みかん'] また、「...」演算子を使用することにより、配列の展開もできます。 var array = [1, 2, 3]; console.log(array); // [1, 2, 3]console.log(...array); // 1 2 3 これにより今まで配列で最大値を求める場合は、applyメソッドを使用する必要がありました。しかし、展開することにより、簡潔に記述可能となります。 * Before var array = [1, 5, 3]; var max = Math.max.apply(null, array) console.log(max); // 5 * After var array = [1, 5, 3]; var max = Math.max(...array); console.log(max); // 5 >>> var max = Math.max(...array);の部分がおそらく新しいのだと思いますが、nullが...になっているというのは、 どういう意味で、どんなメリットがあるのでしょうか?

noname#226032
noname#226032

質問者が選んだベストアンサー

  • ベストアンサー
  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.1

前回の質問も、その記事もそうですが、ES5との比較で書かれている部分は当然ES5を分かっていないと理解できません。 そして、本来ならば折角新しいことを勉強するのにあまりに古いことを気にかけるのは良くないのですが、今ある情報の多くが比較形式で書かれているので、 やはりどうしてもまずはES5を勉強するしかしかたありません。

noname#226032
質問者

お礼

再質問紙します・

関連するQ&A

  • PHPで配列から値を取得したい

    PHP勉強中の初心者です。 初歩的な質問なのですが以下のような配列から「りんご」、「バナナ」などの値をすべて取得するにはどうすればいいのでしょうか? Array ( [input] => 自転車 [status] => 0 [result] => Array ( [0] => Array ( [0] => りんご ) [1] => Array ( [0] => バナナ ) [2] => Array ( [0] => ミカン ) [3] => Array ( [0] => オレンジ ) [4] => Array ( [0] => ブドウ ) [5] => Array ( [0] => パイナップル ) ) )

    • ベストアンサー
    • PHP
  • javascriptの計算結果の出力について

    いつもお世話になっております。下記のjavascriputoで最頻値を求める場合結果はconsole.logに表示されますが、この結果をテキストかCSVのデータとして出力する方法をお教えください。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset=utf-8 > <title>Array_mode</title> </head> <body> <script> var store = ['aa','bb','cc','dd','ee','bb','ee','cc','ee','aa','bb'], distribution = {}, max = 0, result = []; store.forEach(function (a) { distribution[a] = (distribution[a] || 0) + 1; if (distribution[a] > max) { max = distribution[a]; result = [a]; return; } if (distribution[a] === max) { result.push(a); } }); console.log('count: ' + max); console.log('mode: ' + JSON.stringify(result)); //console.log(distribution); </script> </body> </html>

  • Math.minについて

    配列に格納した値の最小値を取得するために、下記のようなソースを書いたのですが、 配列の値全てが表示されてしまいます。どこが間違っているでしょうか? var latlng2 = new Array() ; for (var i = 0; i < 5; i++) { var lat1 = i; latlng2[i] = lat1; } alert(Math.min(latlng2));

  • 連想配列/オブジェクト? どちらなのか教えて

    ・色々やっている内よく分からないデータになったので、連想配列/オブジェクト? どちらなのか教えてください ■前提オブジェクト var t1 = { key1: '佐藤' , key2: '鈴木' }; ■配列作成 var t2 = new Array(); ■配列にオブジェクトを格納? t2[t1['key1']]=t1['key2']; console.log(t2); //[佐藤: "鈴木"] ■アクセスしてみる console.log("t2['佐藤']"); //鈴木 console.log(t2[0]); //undefined ■質問 ・t2[0]は、なぜundefined? ・t2配列0番目に「佐藤: "鈴木"」というオブジェクトが入っていると思ったのですが… ・t2は、連想配列/オブジェクトの何れでしょうか? ・挙動から推測するとオブジェクトっぽいのですが、外側のかっこが[]でもオブジェクトなのでしょうか? ・外側のかっこが[]は配列で、外側のかっこが{}はオブジェクトと思っているのですが…

  • js初心者 consoleなどについて

    初心者で恐縮ですが、よろしくお願いします。 jqueryを使用してます。 $(function () { obj = function(attr){ $.get('getFileList.php', {attribute : attr.data.value }, function(data){var array = data;}); }; delete obj; $("#file").on('input', {value:'file'}, obj); }); #fileに入力があったらobjが発動し$.getでphpから値を得て出力するという処理を書いています。 うまくいかないので変数arrayにちゃんと値が入っているか確認しようとしconsole.log(array)としたところjsのソースコードがconsoleにそのまま表示され、console.logを消してみてもまったく変化がなくなってしまいました。(console.log(array)したことが原因なのかは不明です。これを描いたあたりから変化がなくなっていたような気がするので。) やってみたこととしてはキャッシュの削除と.onの呼び出しの前にオブジェクトを削除することです。 ですが、やはりその変更点もconsoleに反映されてません。  初歩的かもしれませんがよろしくお願いします。

    • ベストアンサー
    • AJAX
  • なぜundefinedになってしまうのでしょうか?

    乱数を配列にして、それを基準にしてランダムに処理を実行させたいのですが、 なぜかarrayRandomNum[0]がundefinedになります。 配列の始めのインデックスに当たる数値を取得できると考えていたのですがなぜundefinedになってしまうのでしょうか? let arrayRandomNum = [randomNumFunk(2)]; console.log(arrayRandomNum[0]); function randomNumFunk(count) { var generatedArray = []; var generatedCount = generatedArray.length; for(var i = 0 ; i < count; i++){ var candidate = Math.floor(Math.random() * count); for(var j = 0; j < generatedCount; j++) { if(candidate == generatedArray[j]){ candidate = Math.floor(Math.random() * count); j= -1; } } generatedArray[i] = candidate; generatedCount++; } return generatedArray; };

  • new Array(3)は配列undefined?

    new Array(3)は、undefinedなのでしょうか? ・下記リンク先を見て、自分でも試してみたのですがうまくいきません ・具体的には、console.log( new Array(3) );すると、[] と表示されます ・console.log( new Array(3).toString() );すると、",," と表示されます ▽new Array()と[]の違い   http://qiita.com/Hiraku/items/d74690088dfa368875c9 配列 ■質問 ・なぜ、【undefined, undefined】と表示されないのでしょうか? ・alert( new Array(3) );だと【",,"】、console.log( new Array(3) );だと【[]】。この違いは? ・.toString() );すると、どうして[] が ",,"へ変わるのでしょうか?

  • 配列に新しい値を加える

    配列に新しい値を加えようとしているのですが、どうもうまくいってくれません。array_push を使用してもうまくいかないのでどうしたものかと悩んでいます。 $fruits = "banana melon orange strawberry"; $fruits = explode (' ', $fruits); $fruits = array_push ($fruits, "apple"); print_r($fruits); とすると 5 が表示されます。一方3行目を消すと Array ( [0] => banana [1] => melon [2] => orange [3] => strawberry ) が表示されます。 配列に新しい値を加えるやり方をご存知の方おられましたらご教授くださるとうれしく思います。

    • ベストアンサー
    • PHP
  • 多次元配列

    初歩的な質問ですみません。 PHPプログラミングでの質問です。 仮に、多次元配列Aに、 Array( [0] => Array ( [0] => 6 ) [1] => Array ( [0] => 2 [1] => 1 ) [2] => Array ( [0] => 0 [1] => 5 [2] => 4 ) ) 多次元配列Bに、 Array( [0] => Array ( [0] => りんご ) [1] => Array ( [0] => ぶどう [1] => パイナップル ) [2] => Array ( [0] => みかん [1] => すいか [2] => メロン ) ) のように値が入っている場合、配列Aの値を参照して 値の大きいものから順に、それに対応する配列Bの値を取り出し、 あたらしい配列Cに代入する処理の書き方を教えて下さい。 上記の例ですと、配列Cが、 Array ( [0] => りんご [1] => すいか [2] => メロン [3] => ぶどう [4] => パイナップル [5] => みかん ) となるようにしたいです。 よろしくお願いします。 長文失礼しました。

    • ベストアンサー
    • PHP
  • ある文字を含む文字列のみ配列にする方法

    var_dump($text); を行うと array(1) { [0]=> string(XX) "あいさつ" } array(1) { [0]=> string(XX) "いい日旅立ち" } array(1) { [0]=> string(XX) "りんご、うまい" } array(1) { [0]=> string(XX) "メロン好き" } …… となるような変数 $text があり、そこから $key = array("ばなな","りんご","メロン"); の配列内にある文字列を含むものだけを新たに格納したいです。 自分では foreach($text as $value){ if(in_array($value, $key)){ $key_text[] = $value; } } と書いて試したのですが、NULLと返ってきてしまいます。 どうやって書けばいいか教えて下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう