プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • JavaScript
  • 【JavaScript】次世代JavaScript技術「ECMAScript2015」とは…
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【JavaScript】次世代JavaScript技術「ECMAScript2015」とは?

07.05

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

ECMAScriptとは?

ECMA Internationalによって標準化されたJavaScriptです。

現在は、2015年6月に採用された第6版であるECMAScript2015(ES2015)または、ECMAScript6(ES6)が最新版です。

ECMAScriptのバージョン履歴

バージョン リリース年月 説明
1 1996年
2 1998年6月
3 1999年12月 単一のJavaScriptをHTMLに読み込ませるという方式でした。
4 放棄 2008年に廃止されて、今では幻のバージョンとなっている。FlashのActionScriptとして採用された。
5 2009年11月
6(2015) 2015年6月
7

ECMAScript2015の特徴

ECMAScript2015は、端的に言えば、これまで見慣れてきたようなJavaScriptコードとは見栄えが大きく変化しています。

具体的には下記のような特徴を持ちます。

Javaのようにclass定義が可能になった。

もともと、そうだったのですが、より直感的に「オブジェクト指向プログラミング」を行えるようになりました。

従来のオブジェクト指向の記述もできますが、ECMAScript2015の書き方も覚えておきましょう。

なお、変更のポイントとしては、JavaやC#のようにクラスベースのオブジェクト指向の書き方ができるようになった点です。

class命令の追加

1
2
3
4
5
class クラス名{
  …コンストラクタの定義…
  …プロパティの定義…
  …メソッドの定義…
}

コンストラクタの定義について

コンストラクタの名前は、「constructor」で固定になります。

なお、Javaのように、アクセス修飾子(public,protected,private)は使えないので注意です。

classで作成されたクラスの特徴

あくまでクラスではなく、プロトタイプベースの関数である

内部的には関数であり、あくまでプロトタイプベースのオブジェクト指向を覆い隠すというイメージの使い方になります。

関数としての呼び出しはできない。

class命令で定義されたクラスは、直接関数として呼び出すことはできないので注意です。

あくまで、new演算子を使って呼び出すことになります。

import/export文によるコードのモジュール化をサポート

詳しくは下記の記事でも解説しています。

【JavaScript】「ECMAScript2015」から導入された「モジュール」について

アロー関数、引数のデフォルト化、可変長引数等のサポート

アロー関数については、下記の記事で解説しています。

【JavaScript】「アロー関数」について

let/const命令によるブロックスコープの導入

for…of命令による値の列挙が可能に。

イテレータ/ジェネレータによる列挙可能なオブジェクト操作が可能になった。

組み込みオブジェクトが拡充された。(Promise,Map,Set,Proxy等)

String,Number,Array等の既存組み込みオブジェクト機能が拡張された。

ECMAScript2015の注意点

全てのブラウザが対応しているわけではない点は注意です。

ES5以前の文法も取り入れていくとよいでしょう。

ECMAScript2015のブラウザ対応状況を確認するには?

「ECMAScript 6 compatibility table」で各ブラウザの対応状況を確認できます。

https://kangax.github.io/compat-table/es6/

Firefox、Chrome、Edge等は、対応率が高いですが、IE11やSafariでは、対応率が低いです。

ECMA2015で作ったコードを以前のブラウザで動かすには?

トランスコンパイラを使います。ES6で作ったコードをES5以前のコードに変換することができます。例としては下記のようなものがあります。

  • Babel
  • Webpacker

Webpacker

Ruby on Railsで標準で使われているトランスコンパイラです。

スポンサーリンク
  • 2018 07.05
  • miyabisan2
  • コメントを書く
  • JavaScript
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2020 04.12

    【JavaScript】「状態管理」や「Flux」とは?

  2. 2020 04.26

    【JavaScript】「オブジェクト」について

  3. 2022 10.10

    【Prisma】sqliteで実装

  4. 2020 05.09

    【JavaScript】配列の便利メソッド「map」、「filter」、「find」、「reduce」について

  5. 2021 02.28

    【JavaScript】例外処理について

  6. 2019 12.08

    【Ruby on Rails】YarnでのJavaScriptパッケージ管理

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【JavaScript】npmとは?

【JavaScript】「Globalオブジェクト」に…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー