.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

現在のJavascript?の仕様

経緯

  • ECMA Internationalが、ECMAScript(ECMA-262)規格を策定、標準化。
  • ECMA : European Computer Manufacture Association

バージョン

  • Javascript?(ES5)
  • ECMAScript2015(ES2015、ES6)
  • ECMAScript2016(ES2016、ES7)

特徴

インタプリタ型のスクリプト言語

※ コンパイル型のスクリプト言語も存在する。
※ スクリプト言語の意味は、簡易的なプログラミング言語全般

オブジェクト指向

Reactなどではよく使うが、最近は、SFCで書くケースが多いかも。

基本的な記述方法

  • 大文字 / 小文字が区別される。
  • セミコロン(;)は、コンテキストによって補完する。
  • 文中に空白改行タブを含めることが可能
    (...と言うか無視され、これによりminificationが可能)。
  • 変数定義
    • グローバルもローカルもvarを使用。
  • varを省略可能
    • 最初に登場したモノにvarを補完
    • 省略時、グローバルとローカルではグローバルが優先される。
  • 基本型と参照型がある。
    • 基本型:数値、文字列、真偽型
    • 参照型:配列、オブジェクト、関数
  • 型が柔軟
    ある意味、VBのバリアント型のような感じ。
  • 文字列
    • シングル・クォーテーションかダブル・クォーテーションの何れかで囲む。
    • ¥(バックスラッシュ)でエスケープして、エスケープ・シーケンスにする。
      #文字エスケープ・シーケンス
      1シングル・クォーテーション\'
      2ダブル・クォーテーション\"
      3バック・スラッシュ\\
      4改行\n
      5リターン\r
      6タブ\t
      7改ページ\f
      8バックスペース\b

詳細

letとconst

varより、letとconstがお薦めらしい。

参考

スプレッド演算子

スプレッド演算子は、

  • setStateメソッドの引数を作成する場合
  • Reducersクラス・メソッドの戻り値を作成する場合

などを行う場合にも使える。

参考

ArrayBuffer?

  • JavaScriptでバイナリを扱うために生まれた。
  • 画像・音声処理などで利用されている。

参考

  • JSのArrayBuffer?がよくわからなかったのでほんの少しだけ調べた - はらへり日記
    https://sota1235.hatenablog.com/entry/2016/05/30/145137
    const buf  = new ArrayBuffer(100); // メモリ空間の確保
    const view = new Uint8Array(buf);  // 1行めで確保されたメモリ空間へアクセスするための型付き配列
    view[0] = 0x12; // bufの0番めに書き込んでいるのと同義

参考

  • 現代的JavaScriptおれおれAdvent Calendar2017やります。ひとりで。 | Ginpen.com
    https://ginpen.com/2017/12/01/modern-javascript-ginpei-advent-calendar-2017/
    • Babelを使って現代的JavaScriptを始める。
    • varよりすごいletとconst。
    • アロー関数でさくさくコールバック。
    • JavaScript待望のクラス。
    • 華麗にgetterとsetterを使いたい。
    • メソッドをメソッドっぽく定義しよう。
    • 動的にプロパティ名を設定できるようになりました。
    • 引数の初期値って便利だよね。
    • 累乗演算子 ** って知ってる?
    • 非同期やるならPromiseでらくらく。
    • 非同期やるならasync/awaitでもっとらくらく。
    • テンプレート記法で簡単文字列組み立て。
    • テンプレートを自作しよう
    • 分割代入、画期的な機能。
    • 分割代入、配列も画期的。
    • 分割代入と逆に、プロパティを短く定義するやつ。
    • 分割代入や引数の「残り全部」を持ってくるやつ……。
    • 配列を「開いて」使うスプレッド演算子。
    • データ保持ならObjectよりMapの方が良いの?
    • 値だけ覚えておくならSetという手が。
    • WeakMap?WeakSet?で「弱い参照」を使えるようになったぞ。
    • イテレータとfor-of文で配列以外もぐーるぐる。
    • ジェネレータと自作イテレータで各種オブジェクトもぐーるぐる。
    • ES6とES2015に違いはないです。

ECMAScriptと対応状況

JavaScript(ES5)

ECMAScript2015(ES2015、ES6)

ECMAScript2016(ES2016、ES7)


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-11-04 (月) 13:31:31 (8d)