12/08/2018, 16:32

Một số điều có thể bạn chưa biết về javascript

I Default Parameters in ES6 Trong ES6 javascript chúng ta có thể set Default Parameters cho function var link = function(height = 50, awidth = '50') { ... } II Hiển thị biến trong chuỗi ES6 Trước đây ta sẽ cho hiển thị biến trong chuỗi javasript như sau var a var b var name1 = ...

I Default Parameters in ES6

Trong ES6 javascript chúng ta có thể set Default Parameters cho function

var link = function(height = 50, awidth = '50') {
  ...
}

II Hiển thị biến trong chuỗi ES6

Trước đây ta sẽ cho hiển thị biến trong chuỗi javasript như sau

var a
var b
var name1 = "Nguyen Van " + a
var name2 = "Nguyen Van " + b

Nhưng trong ES6 ta có thể viết

var name1 = `Nguyen Van ${a}`
var name2 = "Nguyen Van " + `${b}`

III Classes trong ES6

Để tạo 1 class trong ES5

function User()
{
    this.username = ';
    this.password = ';
     
    this.setInfo = function(username, password){
        this.username = username;
        this.password = password;
    };
     
    this.getName = function(){
        return (this.username);
    };
     
    return this;
}

Vì nó không có từ khóa class nên sẽ phải viết function và định nghĩa lại nó Còn trong ES 6 thì sao:

class User {
    constructor(options = {}, data = []) { // class constructor
        this.username = username
        this.password = password
    }

    getName() { // class method
        console.log(`Class name: ${this.name}`)
    }
}

IV Độ dài của Array trong javascript không bị phụ thuộc vào số lượng phần tử trong nó:

Trên thực tế nếu nhắc đến độ dài của 1 Array trong javascript chúng ta thường nghĩ ngay tới Length Vậy cách thức màlength hoạt động sẽ như thế nào. Chúng ta sẽ đến với 1 ví dụ:

var Array = [1,2,3,4,5]
Array.length = 5

Vậy có phải length sẽ đếm sô lượng phần tử có trong mảng không? Câu trả lời là: Không Chúng ta sẽ tới với 1 ví dụ chứng minh cho việc length sẽ không đếm số lượng phần tử:

var Array = [1]
Array.length = 1

Như thế này thì đúng nhưng nếu

var Array = []
Array[5] = 1
Array.length = 5

Chúng ta có thể thấy 2 kết quả rõ ràng được thể hiện ở trên Vậy chúng ta đã có thể chứng minh rằng `length trong Array không được tính bằng số lượng phần tử có trong Array Mà được tính dựa vào index của Array đó

V Lặp qua các phần tử của array

Với các vòng lặp của array trong javascript chúng ta thường sử dụng Ta sẽ nhận thấy rằng với vòng lặp như: For trong array nó sẽ return ra các chỉ số của array Hay nói cách khác là chúng ta đang lặp qua indices của array, tức là nó sẽ bawft đầu từ 0 và kết thúc tại vị trí lớn nhất của array Ta sẽ có 1 ví dụ:

var ary = ["a", "b", "c"];
 
for (var item = 0; item < ary.length; item++){
  console.log(item);
}
// 0, 1, 2

Tuy nhiên ở ECMAScript6 với for of chúng ta có thể lặp qua từng phần tử của array mà k phải lặp qua cách indices của array Ví dụ:

var ary = ["a", "b", "c"];

for (let item of ary){
  console.log(item);
}

// a, b, c 
0