Showing 10 / 4.353 results
Trong bài hướng dẫn này các bạn sẽ tìm hiểu cách xây dựng một ứng dụng quản lý thu chi sử dụng Rails kết hợp với React.js. Để có thể hiểu được bài hướng dẫn thì...
Giới Thiệu

Bước đầu tiên chúng ta cần làm đó là khởi tạo dự án Rails. Việc này có thể được làm thông qua chạy câu lệnh rails dưới đây trên cửa sổ dòng lệnh:

$ rails new accounts

Trong dự án này chúng ta sẽ sử dụng Twitter Bootstrap làm frontend framework. Để sử dụng Twitter Bootstrap bạn có thể cài đặt gem bootstrap-sass. Đây làm gem chính thức được phát triển và maintain bởi team phát triển Twitter Bootstrap framework.

Lưu ý: khi sử dụng bootstrap-sass bạn cũng cần cài đặt jquery-rails do Bootstrap cần jQ...

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...

Destructuring assignment là một biểu thức JavaScript dùng để lấy ra (destructure) giá trị của một hay nhiều phần tử rong mảng hoặc đối tượng đồng thời gán các giá trị này cho các biến cho trước.

Chúng ta cùng tham khảo một đoạn code ví dụ khá cơ bản dùng để destructure các thuộc tính trong đối tượng như sau:

var iPhone = {  
    model: "iPhone X",
    price: "$1500 USD",
    year: 2017
};

var model = iPhone.model;
var price = iPhone.price;
var year = iPhone.year;

Bạn có thể thấy sử dụng cú phá...

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...

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...

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...

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...

Rest parameter trong ES6 giúp chúng ta có thể định nghĩa một hàm với số lượng tham số có thể thay đổi tuỳ ý. Hay nói theo cách khác khi chúng ta không biết chắc chắn số lượng tham số cần có của một hàm chúng ta có thể sử dụng rest parameter.

function f(param_1, param_2, ...rest_parameter) {
  // ...
}

Cú Pháp Rest Parameter

Rest parameter được phân biệt với các parameter thông thường thông qua 3 dấu chấm ... được đặt phía trước tên của parameter đặc biệt này:

function f(param_1, param_2, ...rest...