ES6 giới thiệu câu lệnh importexport hỗ trợ lập trình viên có thể quản lý code theo từng mô-đun.

JavaScript Mô-Đun Là Gì

Mô-đun là một phương pháp lập trình mà trong đó các đoạn code liên quan được tách ra các phần khác nhau (hay còn gọi là mô-đun).

Trước ES6 một số thư viện JavaScript hỗ trợ các cách viết code khác nhau để hỗ trợ quản lý các mô-đun (module).

Ví dụ Node.js hỗ trợ sử dụng require()module.exports().

Tạo mô-đun trong file say_hello.js

var sayHello = function (name) {
    co...

Arrow functon trong ECMAScript là kiểu cú pháp giúp đơn giản hoá việc việc định nghĩa hàm.

Cú Pháp Arrow Function

Trước khi sử dụng arrow function thì chúng ta hãy cùng xem cách định nghĩa một hàm JavaScript theo cách thông thường trước đây:

var sumNumbers = function (a, b) {
    return a + b;
}

Với tính năng arrow function trong ECMAScript 6 chúng ta có thể viết lại đoạn code trên như sau:

const sumNumbers = (a, b) => {
    return a + b;
}

Có 2 điểm bạn cần lưu ý ở cách viết trên:

  • Từ khoá func...

Object Literal Là Gì

Object trong JavaScript có thể được tạo theo một số cách khác nhau. Object literal là kiểu cú pháp tạo object sử dụng cặp dấu ngoặc {} và bên trong đó là danh sách các property (thuộc tính) của object.

Với phiên bản ECMAScript trước đây chúng ta thường sẽ

var name = "John";
var myObj = { name: name };

Các property có giá trị là một hàm còn được gọi là method:

var name = "John";
var myObj = {
    name: name,
    sayHi: function () {
        console.log("Hi, my nam is " + thi...

Template Literal Là Gì

Template literal là tính năng mới trong ECMAScript 6 cho phép lập trình viên có thể nhúng biểu thức JavaScript (ví dụ như giá trị của biến, hoặc kết quả của một phép toán...) bên trong chuỗi string một cách dễ dàng.

Sử dụng phiên bản trước của ECMAScript thì việc nối chuỗi với giá trị của một biến hoặc biểu thức thường sử dụng toán tử + và chúng ta sẽ thường được thấy những đoạn code tương tự sau xuất hiện trong source code:

var spiderMan = {
    name: "Peter",
    age: 25...

Tham Số Mặc Định

Trong nhiều trường hợp, khi định nghĩa một hàm chúng ta muốn gán giá trị mặc định cho tham số trong hàm để khi hàm được gọi nếu không có giá trị nào truyền vào cho các tham số này thì giá trị mặc định của chúng sẽ được sử dụng.

Với các phiên bản trước của ECMAScript không cung cấp sẵn tính năng gán giá trị mặc định cho tham số của hàm mà thông thường cần phải thực hiện thông qua một số bước gián tiếp khác để đạt được mục đính tương tự. Trong ECMAScript 6, tính năng gán giá trị m...

Spread operator có cú pháp giống với rest paraterter tuy nhiên cả hai có ý nghĩa khác nhau. Rest paramter được sử dụng khi khai báo hàm, ngược lại spread operator được sử dụng trong các câu lệnh, biểu thức hoặc khi gọi hàm.

Để hiểu về spread operator chúng ta sẽ cùng tham khảo một số ví dụ tiếp sau đây.

Sử Dụng Spread Operator Với Mảng

Nối Mảng (Concatenate Array)

Trước khi ES6 được ra đời thì cách phổ biến để nối mảng là sử dụng phương thức concat() của một mảng với đối số truyền vào là những m...

Thuộc tính href của link liên kết thỉnh thoảng được đặt với giá trị là javascript:void(0). Mọi người cho mình hỏi giá trị này là của HTML hay JavaScript. Nếu là của JavaScript thì nó là hàm nào?

Hàm getline()trong C được sử dụng để hỗ trợ việc lấy dữ liệu theo từng dòng của một file. Hàm getline() sẽ đọc nội dung của từng dòng trong file và gán vào buffer. Trong bài viết này chúng ta sẽ tìm hiểu cách đọc nội dung một fiel theo từng dòng sử dụng hàm getline().

Bạn có thể tham khảo đoạn code đầy đủ ở phía cuối của bài viết.

File Header

Trong file header của chương trình bạn thêm vào dòng code sau:

#include <stdlib.h>
#include <stdio.h>  
#define FILENAME "my_file.txt"

Ở trên chúng ta impo...

MySQL cung cấp 3 kiểu index khác nhau cho data đó là B-Tree, HashR-Tree index. Hiểu rõ về các kiểu index này sẽ giúp chúng ta tạo ra các loại index trong bảng một cách hiệu quả hơn. Do R-Tree được sử dụng cho các loại dữ liệu không gian spacial data và thường ít khi gặp phải nên bài viết này chúng ta sẽ tập chung so sánh 2 loại index là B-TreeHash:

B-Tree Index

B-Tree index có các đặc điểm sau:

  • Dữ liệu index trong B-Treeđược tổ chức và lưu trữ theo dạng tree, tức là có root, branch, lea...