1. ES5時代
var
関数
JS は Java や Ruby などの他の言語とは異なり、データの型に関係なく、変数に名前を付けるために var というキーワードを使用するだけであることはわかっています。言語には型がありません。その型は実行時に暗黙的に決定されます (演算子によって異なります)。 Java などの他の言語では、数値を宣言するためのキーワードには、int、float、double、long が含まれます。
// JS var num1 = 10; // 整数 var num2 = 10.1; // 浮点数 var str = 'John'; // 字符串 var boo = false; // 布尔 var obj = {}; // 对象
// Java int num1 = 10; double num2 = 10.2; String str = "John"; Boolean boo = false;
JS で識別子を生成するために var を使用することに加えて、識別子を生成できる関数キーワードもあります。関数型宣言の識別子は、関数、メソッド、またはコンストラクター (クラス) です。
// functions function fetchData(url, param) { // ... } // methods var obj = { getUrl: function() { } }; // class function Person(name, age) {} Person.prototype = { }
2. ES6時代
var
関数
しましょう
定数
クラス
ご覧のとおり、ES6 では識別子を生成できる 3 つのキーワード let/const/class が追加されています。 let/const は変数の宣言に使用され、class はクラスの定義に使用されます。
// 定义普通变量 let name = 'John'; for (let i = 0; i < arr.length; i++) { } if (boo) { let obj = {}; ... } // 定义常量 const PI = 3.1415926; const $el = $('.nav'); // 定义类 class Point { constructor(x, y) { this.x = x; this.y = y; } toString() { return '('+this.x+', '+this.y+')'; } }
ES6 時代では、コーディング スタイルは「var を減らし、let を増やす」必要があると想像できます。let と const は両方ともブロックレベルのスコープを持ち、変数のプロモーションは発生しません。クラスを宣言する場合、class キーワードも関数のタスクの一部を共有します。
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。