ECMAScript6(ES6,ES2015)について
簡単に言うとECMAScriptとはJavaScriptのバージョンのことですね。
以前に書いたこれらの「ストップウォッチを作る」においては、ECMAScript5の文法にて書かれています。
ES6では進化してバグが発生しにくい書き方であったり、同じ処理を少ないコード量で書けるようになったりしています。
ES5に比べてES6の主な変更点はこちらです。
では、ES5の書き方で以前作った「ストップウォッチを作る」をES6にリファクタリング(コードの動作を変えずに、処理を整理すること) して学んでみましょう。
アロー関数
関数の表記は「function(){}」ですが、ES6では新たに「()=>{}」という書き方も使えるようになりました。基本的にはどちらも通常の関数として扱われますが、thisが関係する場合には単純に置き換えられないことがあります。
変更前startButton.addEventListener('click', function(){
変更後startButton.addEventListener('click',()=>{
名前のついている関数にも、以下のようにアロー関数を変数に代入することで変わらない動きができます。
変更前function addMessage(message){
}
変更後const addMessage = (message) =>{
}関数のデフォルト引数
変更前function MystopWatch(options){
.....options = options || {};
これはもしもoptions引数が与えられない場合には空のオブジェクトを代入し直すということです。 同様の処理が次のように書くことができます。
変更後function MystopWatch(options = {}){
分割代入
オブジェクトの一部のプロパティだけを扱いたいときに使います。
変更前function MystopWatch(options = {}){
・・・var color = options.color || 'blue';
var backgroundColor = options.backgroundColor || 'grey';
変更後function MystopWatch(options = {}){
・・・let {color, backgroundColor} = options;
color = color || 'blue';
backgroundColor = backgroundColor || 'grey';
赤字が今回変更したコードです。
ES6バージョンにリファクタリングしても、正常に動かなければ意味ないので、動作を確認してみましょう。
ストップウォッチ
お疲れ様でした。今回はここまでにしましょう。ゆっくりマイペースで継続しましょう。先に進みたい人はこちらからどうぞ。
一つ前に戻り復習したい人はこちらからどうぞ。
この本から引用、参考にして学び、完成させることができました。しかし、ここではプログラミング初心者の私が詳しく解説することは、おこがましく、難しく出来ません(ToT)
その点、この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが3,000円弱ならコスパよく、買っておいてよかったと満足してます。
わからないことはプロフェッショナルから学ぶのが一番 | The best way to learn what you don't know is from professionals.
キャリアアップに必要なスキルを取得しよう。| Get the skills you need to advance your career.
オンラインで受講ができるスクールですので、全国どこからでも。 | Since it is a school where you can take classes online, you can take it from anywhere in the country.
ぺージの先頭に戻る(Return to top of page)
©2020年9月 Challenge programming