ECMAScript 6入門学習ノート(一)
2671 ワード
ECMAScriptはJavascript言語の国際標準であり、JavaScriptはECMAScriptの実現である.
ECMAScriptの特性をまとめます.
1、letとconst命令
letコマンドは変数を宣言するために使用され、使用法はvarと類似していますが、宣言された変数はletコマンドがあるコードブロック内でのみ有効で、JavaScriptのためにブロックレベルのスコープが追加されました.
constは定数を宣言するために用いられます.一旦声明したら、その値は変えられません.
2、変数の構造割当値
ES 6は、一定のパターンに従って、配列とオブジェクトから値を抽出し、変数に値を割り当てることができます.
一般的な割当方法は、もし機構が成功しないなら、変数の値はundefinedに等しいです.
オブジェクトの解は配列と重要な違いがあります.配列の要素は順番に並べられ、変数の値はその位置によって決まります.オブジェクトの属性には順序がありません.変数は属性と同名でなければ、正しい値を取ることができません.変換変数の値 は、map分解を遍歴する.任意の配置は、Iteratorインターフェースのオブジェクトは、for...ofサイクルを使用することができます.Mapは元の构成を解除してIteratorインターフェイスを支持して、変数の构造を配合して値を割り当てて、キーの名前とキーの値を得るのはとても便利です.
ECMAScriptの特性をまとめます.
1、letとconst命令
letコマンドは変数を宣言するために使用され、使用法はvarと類似していますが、宣言された変数はletコマンドがあるコードブロック内でのみ有効で、JavaScriptのためにブロックレベルのスコープが追加されました.
function f1() {
let n = 5;
if(true){
let n = 10
}
console.log(n) //5
}
上の関数には二つのコードブロックがあります.変数nを宣言しました.出力結果は5です.外層コードブロックは、内層コードブロックの影響を受けない.constは定数を宣言するために用いられます.一旦声明したら、その値は変えられません.
const PI = 3.1415
PI //3.1415
定数に値を再割り当てします.その値は変更されません.constのスコープはletコマンドと同じです.声明があるブロックレベルのスコープ内でのみ有効です.2、変数の構造割当値
ES 6は、一定のパターンに従って、配列とオブジェクトから値を抽出し、変数に値を割り当てることができます.
var [a,b,c] = [1,2,3]
上のコードは、配列から値を抽出し、位置の対応関係に従って変数に値を割り当てます.一般的な割当方法は、もし機構が成功しないなら、変数の値はundefinedに等しいです.
var [foo,[[bar],baz]] = [1,[[2], 3]];
foo//1
bar//2
baz//3
var [,,third] = ["foo", "bar", "baz"]
third// "baz"
undefinedやnullを分解するとエラーが発生します.解は配列やオブジェクトにしか使えません.他の元のタイプの値は対応するオブジェクトに変換できますが、undefinedやnullはオブジェクトに変換できないため、エラーが発生しました.//
var [foo] = undefined
var [foo] = null
構成を解除すると、デフォルトの値を指定できます.プロファイルは、varコマンドだけでなく、letおよびconstコマンドにも適用される.var [foo=true] = []
foo//true
var [v1,v2,...,vN] = array;
let [v1,v2,...,vN] = array;
const [v1,v2,...,vN] = array;
解は配列だけでなくオブジェクトにも使用できます.オブジェクトの解は配列と重要な違いがあります.配列の要素は順番に並べられ、変数の値はその位置によって決まります.オブジェクトの属性には順序がありません.変数は属性と同名でなければ、正しい値を取ることができません.
var {bar, foo} = {foo:"aaa", bar:"bbb"}
foo//aaa
bar//bbb
var {baz} = {foo:"aaa", bar:"bbb"}
baz//undefined
分配の用途:[x, y] = [y, x]
は、関数から複数の値を返します.関数は1つの値だけを返します.複数の値を返すには、行列やオブジェクトに入れて返すしかありません.これらの値を容易に取り出すことができます.function example() {
return [1,2,3]
}
var [a,b,c] = example();
function example2() {
return {foo: 1, bar: 2}
}
var {foo, bar} = example2()
関数パラメータの定義function f({x,y,z)} {
}
f({x:1, y:2, z:3})
関数パラメータのデフォルト値var map = new Map();
map.set('first', 'hello');
map.set('second', 'world');
for(let [key, value] of map) {
console.log(key +" is " + value)
}
//first is hello
//second is world
入力モジュールの指定方法です.モジュールをロードする時、どのような入力方法を指定する必要がありますか?構成を解除すると、入力文が非常に明確になります.const { SourceMapConsumer, SourceNode} = require("source-map");