closure javascript

tipjs,scope,global

Example closure javascript

class Example {
  constructor() {
    var _private = '';
    _private = 'private';
    this.getName = function() {return _private}
  }
}
var ex = new Example();
console.log(ex.getName()); // private
console.log(ex._private); // undefined

Lợi thế:

 Không có xung đột đặt tên 

 Không thể truy cập và sửa đổi bên ngoài 

Nhược điểm:

Logic của constructer trở nên phức tạp. 

Hàm tạo chỉ nên thực hiện khởi tạo đối tượng.

Bây giờ để thực hiện các biến riêng tư, nó phải bao gồm việc thực hiện một số phương thức và tổ chức code không rõ ràng. 

Có thể bạn đã miss một số snippets code

Object.keys và Object.getOwnPropertyNames

Object.keys và Object.getOwnPropertyNames

await axios get

await axios get

Random String

Random String với độ dài tuỳ chọn

flatMap()

Use flatMap() creates a new array with sub-array elements flattened by specified depth.

group by property javascript use reduce

group by property javascript use reduce