ホームページ  >  記事  >  ウェブフロントエンド  >  JS_javascript スキルにおける識別子の生成方法の進化

JS_javascript スキルにおける識別子の生成方法の進化

WBOY
WBOYオリジナル
2016-05-16 15:55:421108ブラウズ

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 キーワードも関数のタスクの一部を共有します。

以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。