
Iterables và iterators trong ES6 - Javascript nâng cao
Trong bài này chúng ta tìm hiểu về iterables và iterators trong Javascript nói chung và trong ES6 nói riêng. Từ trước đến nay để lặp qua các phần tử của một mảng hoặc một danh sách thì chúng ta sử dụng vòng lặp, tuy nhiên việc sử dụng vòng lặp đôi lúc gây khó khăn trong một số trường hợp. Ví ...

Hiểu rõ hơn về Promise trong Javascript - ES6 - Javascript nâng cao
Promise là đề tài được tìm kiếm khá nhiều trong 2 năm gần đây, nhất là kể từ ngày AngularJS, NodeJS và các JS Framework khác ra đời bởi vì hầu hết chúng đều có sử dụng Promise để giải quyết xử lý bất đồng bộ (Async). Ở bài trước mình có giới thiệu sơ lược về cách sử dụng Promise rồi, tuy ...

ìm hiểu Promise trong Javascript - ES6 - Javascript nâng cao
Promise được đưa vào Javascript từ ES6, đây có thể coi là một kỹ thuật nâng cao giúp xử lý vấn đề bất đồng bộ hiệu quả hơn. Trước đây kết quả của một tác vụ đồng bộ và bất đồng bộ sẽ trả về một kiểu dữ liệu nào đó hoặc thực hiện một Callback Function, điều này quá là bình thường bởi ta đã ...

Synchronous là gì? Asynchronous là gì? - Javascript nâng cao
Trước khi vào tìm hiểu các vấn đề nâng cao như Promise, Class thì chúng ta sẽ tìm hiểu thế nào la Asynchronous và Synchronous. Đây là hai khái niệm mà đa số các lập trình viên mới vào nghề chưa hiểu được bản chất của nó nên dẫn tới xử lý tình huống bị sai. Trong bài có sử dụng từ viết tắt: ...

HTML Template String trong ES6 - Javascript nâng cao
Trong bài này chúng ta sẽ tìm hiểu về cú pháp cũng như làm một số ví dụ về Template String trong ES6. Trong Laravel có Blade template, trong Phalcon có Volt template, vậy trong Javascript có template nào hay không? Tính từ ES5 trở về trước thì chưa xuất hiện khái niệm template string mà nó chỉ ...

Symbol trong ES6 - Javascript nâng cao
Trong bài này chúng ta tìm hiểu về đối tượng Symbol và ứng dụng của nó trong việc tạo các giá trị không trùng lặp. Trong ES6 xuất hiện thêm một kiểu dữ liệu đó là Symbol, đây là kiểu dữ liệu dạng primitive type, nó sẽ tạo ra các ký tự duy nhất (unique) và không trả về một ...

Collection WeakSet trong ES6 - Javascript nâng cao
WeakSet có thể được coi là một phiên bản tương tự như Set, tuy nhiên với WeakSet thì dữ liệu truyền vào luôn phải là một đối tượng (object, class, function) và bạn phải tạo một giá trị (key) trước khi lưu vào, điều này khác hoàn toàn với Set là Set có thể lưu trữ mọi dữ liệu kể cả number và ...

Collection WeakMap trong ES6 - Javascript nâng cao
WeakMap là một loại kiểu dữ liệu giống như Map vậy, nghĩa là sẽ tồn tại hai tham số key => value cho mỗi phần tử. Tuy nhiên với WeakMap thì key truyền vào phải là một biến và biến này phải là một Object (class, function, object), con với Map thì bạn có thể thiết lập key là chuỗi, number, object ...

Collection Maps trong ES6 - Javascript nâng cao
Trong bài này chúng ta tìm hiểu một kiểu dữ liệu mới nữa đó là Maps. Map là một kiểu dữ liệu tương tự như Set, tuy nhiên với Map thì có cấu trúc dạng key => value còn với Set thì chỉ có value. 1. Map trong ES6 Chúng ta có các thao tác chính ...

Collection Sets trong ES6 - Javascript nâng cao
Trong ES5 không tồn tại dữ liệu dạng cấu trúc tập hợp, vì vậy chúng ta sử dụng mảng để lưu trữ dữ tập hợp các phần tử. Tuy nhiên với ES6 thì mọi chuyện đơn giản hơn bởi vì nó có hỗ trợ kiểu dữ liệu tập hợp Set với các giá trị truyền vào tùy ý kèm theo tốc độ xử lý nhanh chóng. 1. Set trong ...

Const - biến không thay nhất đổi giá trị trong ES6 - Javascript nâng cao
Khái niệm const (hằng số) đã tồn tại trong các ngôn ngữ lập trình cấp cao như C#, Java. Nhưng với Javascript thì chỉ vào năm 2015 kể từ lúc ES6 ra đời mới tồn tại khái niệm này. 1. Const trong ES6 Về định nghĩa thì const có nghĩa là hằng số, điều này có nghĩa nếu một biến ...

Rest Parameters trong ES6 - Javascript nâng cao
Rest Parameters dịch theo tiếng Anh chuyên ngành công nghệ thông tin có nghĩa là tham số còn lại, điều này có nghĩa là bạn có thể khai báo một hàm với số lượng tham số không xác định, đây là một tính năng mới khiến Javascript ngày càng trở nên mạnh mẽ hơn. 1. Rest Parameters trong ES6 Để ...

Default Parameters trong ES6 - Javascript nâng cao
Default Parameter là giá trị mặc định của tham số khi truyền vào các function. Đối với Javascript thì có nhiều bạn chưa biết chức năng này mặc dù trong ES5 đã cung cấp săn cho chúng ta, tuy nhiên người ta cảm thấy cách tạo giá trị mặc định trong ES5 vẫn không hay nên họ đã bổ sung một cách khác ...

Destructuring Assignments trong ES6 - Javascript nâng cao
Trong bài này chúng ta học một chức năng mới nữa trong ES6 đó là Destructured Assignment, chức năng này giống hàm list trong PHP vậy, nghia là nó sẽ phân các giá trị trong mảng vào các biến theo thứ tự được truyền vào. Một ví dụ hàm list trong PHP: ...

Arrow Function trong ES6 - Javascript nâng cao
Trong bài này chúng ta tìm hiểu một cách định nghĩa function mới bằng cách sử dụng dấu mui tên =>, cách này được thêm vào bộ ES6 với cú pháp hoàn toàn mới lạ. Trong Javascript để tạo một function thì thông thường chúng ta sử dụng hai cách sau: ...

ES6 Block Scoped - Khởi tạo biến với từ khóa let - Javascript nâng cao
Trong ES6 có cung cấp một từ khóa nữa dùng để khởi tạo biến đó là từ khóa let, từ khóa này khác với từ khóa var ở chỗ phạm vi hoạt động. Với từ khóa var nếu ban khai báo biến bên trong hàm thì đó là biến cục bộ, còn nếu bạn khai báo bên ngoài hàm thì nó sẽ là một biến toàn ...

Điều kiện cần để tự học ES6 - Javascript nâng cao
ES6 được ra đời vào năm 2015 nên có thể coi nó là một phiên bản mới nhất của Javascript, vì vậy có thể các trình duyệt ra đời trước năm 2015 sẽ không hoạt động được. Nhưng bạn cũng đừng lo lắng quá bởi vì các Version mới nhất của Chrome và Firefox hiện nay hầu hết đã được tích hợp ES6 nên bạn ...

ECMAScript 2015 - ES6 là gì? - Javascript nâng cao
Hôm nay chúng ta bắt đầu tìm hiểu một thứ mới hơn về Javascript vừa được ra mắt vào năm 2015 đó là ECMAScript, đây có thể coi là được một phiên bản nâng cấp mới nhất dành cho Javascript nên phải học nó để khỏi tụt hậu phải không các bạn :) Trước tiên chúng ta sẽ tìm hiểu định nghĩa ...

Rò rỉ bộ nhớ RAM và CPU khi làm việc với Javascript - Javascript nâng cao
Javascript rất hay nhưng việc lạm dụng nó hoặc code không tối ưu thì rất nguy hiểm bởi vì việc tràn bộ nhớ RAM là có thể xảy ra. nên nếu bạn đang lập trình cho một website và khi chạy thì thấy bị rò rỉ bộ nhớ một cách nghiêm trọng thì rất có thể là do ứng dụng của bạn gây ra. Bài viết dưới đây sẽ ...

Anonymous function trong javascript - Javascript nâng cao
Trong Javascript chúng ta có thể khai báo hàm theo cú pháp chuẩn của nó, hoặc sử dụng Closure function, hoặc trong ES6 thì sử dụng Arrow function. Nhưng bạn có biết chúng ta có một cách khai báo hàm nữa rất hay đó là Anonymous functions. 1. Anonymous functions là gì? Anonymous ...