Rumah  >  Artikel  >  hujung hadapan web  >  Evolusi cara pengecam dijana dalam kemahiran JS_javascript

Evolusi cara pengecam dijana dalam kemahiran JS_javascript

WBOY
WBOYasal
2016-05-16 15:55:421093semak imbas

1 Era ES5

var
fungsi
Kami tahu bahawa JS tidak seperti bahasa lain seperti Java dan Ruby Ia hanya menggunakan kata kunci var untuk menamakan pembolehubah Tidak kira apa jenis data, ia diisytiharkan dengan var bahasa tidak mempunyai jenis. Jenisnya ditentukan pada masa jalanan. Dalam bahasa lain seperti Java, kata kunci untuk mengisytiharkan nombor termasuk int, float, double, dan 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;
 

Selain menggunakan var untuk menjana pengecam dalam JS, terdapat juga kata kunci fungsi yang juga boleh menjana pengecam. Pengecam pengisytiharan jenis fungsi mungkin fungsi, kaedah atau pembina (kelas).

// functions
function fetchData(url, param) {
  // ... 
}
 
// methods
var obj = {
  getUrl: function() {
  }
};
 
// class
function Person(name, age) {}
Person.prototype = {
}
 

2. Era ES6

var
fungsi
biarlah
const
kelas
Seperti yang anda lihat, ES6 menambah tiga kata kunci let/const/class yang boleh menjana pengecam. let/const digunakan untuk mengisytiharkan pembolehubah, dan kelas digunakan untuk menentukan kelas.

// 定义普通变量
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+')';
  }
}

Dalam era ES6, anda boleh bayangkan bahawa gaya pengekodan kami sepatutnya "kurang var dan lebih banyak let". Apabila mengisytiharkan kelas, kelas juga akan digunakan Kata kunci kelas berkongsi beberapa tugas fungsi.

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn