コピー2019.06.20スポンサーリンクJavaScriptのES6について、ブロック(ブロックスコープ)についてもう少し触れておこうと思います。変数宣言のlet、constについてはブロックスコープで、varの関数スコープとの違いを確認しました。6(ES6)について、ここでは変数宣言のletとconstについて扱います。constは定数で変更不可、letは変数の重複を許さずブロックスコープで参照するという特徴があります。code-graffiti.com2019.06.20ブロック内に定義した変数はブロックの外からは利用できないというものです。データのプライバシーを保護する方法でもあります。このブロックの性質についてもう少し見ていきましょう。目次ブロックの使用ES6のブロックES5のIIFEまとめスポンサーリンクブロックの使用このブロックですが、if文、for文、while文において波括弧{}で囲まれた部分のことであることはすでに理解できていると思います。このブロックはこれらのステート文での利用に限りません。ES6のブロック次のように波括弧{}だけでブロックを作ることもできます。b);このように、単に変数を波括弧で囲っているだけです。console.log()で、変数の和を出力しようとしていますが、結果は次のようにエラーになります。これはブロックの外から変数を利用しようとしたためで、ブロックスコープであることがわかります。ES5のIIFEこのブロックの使い方は、ES5で扱った即時実行関数式(IIFE)に似ています。IIFE)を扱います。通常の関数定義の呼び出しと違い、匿名関数を括弧で囲んで関数とし、即時呼び出しができます。code-graffiti.com2019.06.02IIFEを使って同じようなコードを書いてみましょう。100;})();console.log(c);無名関数の全体を丸括弧()で囲って、そのあとに丸括弧()つけることで関数表現にしてメソッドを呼び立つ形です。console.log()で変数を呼び出していますが、即時関数にするとブロックスコープになるので次のようにエラーになります。このようにES5のIIFEとES6のブロックは似たような機能になっていて、変数の競合を防義、外から変数にアクセスすることができません。b);console.log(c);変数cをここではvarで宣言しています。確認したようにa、bはブロックの外からは利用できません。const、letで宣言しているためです。このcはどうでしょうか?実行するとこうなります。ブロックの外から利用できています。varで宣言している変数はブロックスコープではないからです。スポンサーリンクまとめJavaScriptのES6のブロック(ブロックスコープ)について扱いました。変数宣言のlet、constについてはブロックスコープですが、if文、for文、while文で使う波括弧{}の部分だけがブロックという訳ではなく、波括弧{}単体でブロックを作ることができます。ブロック内で、let、constで宣言して変数はブロックの外からは利用できません。このブロックの性質は、ES5のIIFEとよく似ています。コードグラフィティ関連記事JavaScript【JavaScript入門】三項演算子とswitch文JavaScriptの入門として、三項演算子とswitch文について扱います。三項演算子はif-else文でブロックで分けて書いていたコードを1行で書くことができます。switch文は多岐にわたる条件分岐をスッキリ書くことができます。2019.03.27JavaScript【JavaScript入門】等価演算子(==)と同値演算子(===)の違いJavaScriptの基本的な知識として、等価演算子(==)と同値演算子(===)を扱います。等価演算子はデータの型の強制して数値も文字列も値が同じなら同じものとみなすのに対して、同値演算子はデータ型を厳密に区別して判定します。ArrayオブジェクトJavaScriptは値の集合を操作するための一般的な方法であるArrayオブジェクトについて扱います。Arrayオブジェクトとは配列で、要素を角括弧で括って生成します。インデックスを指定して値を取り出したり、メンバーを使って操作できます。2019.04.05JavaScript【JavaScript入門】thisキーワードと参照先JavaScriptのthisキーワードについて基本的な参照を扱います。thisはスクリプトのどこからでも参照できる変数で、呼び出す場所、呼び出す文脈によって中身が変わる変数です。関数の外と内、オブジェクト、メソッドでの参照を見てみます。2019.04.15JavaScript【JavaScript】プリミティブ型とオブジェクト型JavaScriptのデータ型(type)であるプリミティブ型とオブジェクト型を扱います。プリミティブ型の変数は、データそのものを保持しますが、オブジェクトに関連つけられた変数は、メモリへの参照を持ちます。この2つの違いを見ていきます。無名関数)JavaScriptの基本的な概念の一つである関数について、function命令で定義するものとは別に関数リテラル表現で定義する方法を扱います。関数リテラルは文字列や数値と同じように扱うことができます。関数名を宣言せずに定義するが特徴です。notebookの基本的な使い方。CatelinaにAnacondaをインストールする(zshでの不具合対応)【Python】tkinterの使い方入門。notebookの基本的な使い方。CatelinaにAnacondaをインストールする(zshでの不具合対応)【Python】tkinterの使い方入門。ArraysAtomエディタをMacにインストールしてPythonでの開発環境を整えるスポンサーリンクタイトルとURLをコピーしました。