hocvietcode.com
  • Trang chủ
  • Học lập trình
    • Lập trình C/C++
    • Lập trình HTML
    • Lập trình Javascript
      • Javascript cơ bản
      • ReactJS framework
      • AngularJS framework
      • Typescript cơ bản
      • Angular
    • Lập trình Mobile
      • Lập Trình Dart Cơ Bản
        • Dart Flutter Framework
    • Cơ sở dữ liệu
      • MySQL – MariaDB
      • Micrsoft SQL Server
      • Extensible Markup Language (XML)
      • JSON
    • Lập trình PHP
      • Lập trình PHP cơ bản
      • Laravel Framework
    • Lập trình Java
      • Java Cơ bản
    • Cấu trúc dữ liệu và giải thuật
    • Lập Trình C# Cơ Bản
    • Machine Learning
  • WORDPRESS
    • WordPress cơ bản
    • WordPress nâng cao
    • Chia sẻ WordPress
  • Kiến thức hệ thống
    • Microsoft Azure
    • Docker
    • Linux
  • Chia sẻ IT
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • Chia sẻ phần mềm
    • Review công nghệ
    • Công cụ – tiện ích
      • Kiểm tra bàn phím online
      • Kiểm tra webcam online
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • Javascript cơ bản
Giới thiệu tổng quan về ES6

Giới thiệu tổng quan về ES6

  • 23-11-2023
  • Toanngo92
  • 0 Comments

JavaScript ES6 (còn được gọi là ECMAScript 2015 hoặc ECMAScript 6) là phiên bản JavaScript mới hơn được giới thiệu vào năm 2015.

ECMAScript là tiêu chuẩn mà ngôn ngữ lập trình JavaScript sử dụng. ECMAScript cung cấp đặc điểm kỹ thuật về cách thức hoạt động của ngôn ngữ lập trình JavaScript. Ở bài dưới đây, chúng ta sẽ cùng tìm hiểu một số khái niệm tổng quan về ES6.

Mục lục

  • Khai báo biến
    • Từ khóa let
  • Khai báo hằng số
  • Từ khóa const
  • Định nghĩa hàm (Arrow function)
  • Định nghĩa Lớp (Class)
  • Tham số mặc định (Default Parameter)
  • Khuôn mẫu chữ (Template Literals)
  • Hủy cấu trúc (Destructuring)
  • Từ khóa import và export
  • Từ khóa Promise (lời hứa)
  • Các tham số còn lại (Rest Parameter) và toán tử trải rộng (Spread Operator)
    • Rest Parameter
    • Spread Operator

Khai báo biến

Từ khóa let

JavaScript let được sử dụng để khai báo các biến. Trước đây, các biến được khai báo bằng câu lệnh var.

Các biến được khai báo bằng let là block-scoped. Có nghĩa là phạm vi biến chỉ có thể truy cập được trong một khối cụ thể. Ví dụ:

// variable declared using let
let name = 'Hello';
{
    // can be accessed only inside
    let name = 'Toanngo';

    console.log(name); // Toanngo
}
console.log(name); // Hello

Khai báo hằng số

Từ khóa const

Câu lệnh const được sử dụng để khai báo hằng số trong JavaScript.

Ví dụ:

// name declared with const cannot be changed 
const name = 'This is a constanct';

Sau khi khai báo, bạn không thể thay đổi giá trị của biến const. Ngoài ra const có thể sử dụng để khai báo hàm, được thẻ hiện ở các đoạn sau.

Định nghĩa hàm (Arrow function)

Trong ES6, có thể sử dụng các Arrow Function (hàm mũi tên) để tạo biểu thức hàm. Ví dụ:

// old version
function function_name (param){
   // todo
}

// using const

const function_name1 = function(param){
    // todo
}

// ES6

const function_name2 = (param) =>{
 // todo
}

Định nghĩa Lớp (Class)

Để khởi tạo lớp trong Javascript, sử dụng từ khóa Class. Với việc khởi tạo biến, sử dụng từ khóa new

class Car {
  constructor(name) {
    this.name = name;
  }
}

let myCar1 = new Car('Hyundai I10');
let myCar2 = new Car('Toyota vios');

console.log(myCar1.name); // Hyundai I10

Tham số mặc định (Default Parameter)

Trong phiên bản ES6, bạn có thể truyền các giá trị mặc định trong đối số của hàm, sau khi định nghĩa, khi gọi hàm nếu lập trình viên không truyền tham số, javascript tự hiểu sẽ sử dụng giá trị được gán mặc định cho biến khi định nghĩa. Ví dụ:

//define function
const sum = (x, y = 5) => {

    // take sum
    // the value of y is 5 if not passed
    console.log(x + y);
}
// call function
sum(5); // 10
sum(5, 15); // 20

Khuôn mẫu chữ (Template Literals)

Template Literals (khuôn mẫu chữ) hay còn gọi là Template Strings là một cú pháp mới để khai báo String trong JavaScript được giới thiệu trong ES2015/ES6. Nó cho phép chúng ta sử dụng multi-line string, biến, biểu thức, hàm bên trong String mà không phải thông qua phép nối chuỗi.

Ví dụ phong cách cũ:

let first_name = "Hello";
let last_name = "World";

console.log('This is ' + first_name + ' ' + last_name);

Phong cách ES6:

let first_name = "Jack";
let last_name = "Sparrow";

console.log(`Hello ${first_name} ${last_name}`);

Lưu ý code khi sử dụng phong cách cũ vẫn chạy bình thường.

Hủy cấu trúc (Destructuring)

Destructuring là một cú pháp cho phép chúng ta phân tách nhanh các thuộc tính của một Object hoặc một Array vào danh sách biến hoặc cấu trúc khác theo mong muốn, giúp tiết kiệm thời gian viết mã.

Ví dụ phong cách cũ:

// before you would do something like this
const person = {
    name: 'Sara',
    age: 25,
    gender: 'female'    
}

let name = person.name;
let age = person.age;
let gender = person.gender;

console.log(name); // Sara
console.log(age); // 25
console.log(gender); // female

Ví dụ phong cách ES6:

const person = {
    name: 'Sara',
    age: 25,
    gender: 'female'    
}

let { name, age, gender } = person;

console.log(name); // Sara
console.log(age); // 25
console.log(gender); // female

Từ khóa import và export

Trong ES6, chúng ta có thể export (xuất) một hàm, lớp từ một tệp và sử dụng nó trong một tệp khác bằng cách import (nhập) nó. Điều này giúp tạo ra các thành phần có thể sử dụng lại.

Ví dụ export:

Tạo file test.js

// export
export default function myFeature(name, age) {
    console.log(`The name is ${name}. And age is ${age}.`);
}

Ví dụ import:

import contact from './test.js';

contact('Hello', 10);
// The name is Hello. And age is 10

Từ khóa Promise (lời hứa)

Từ khóa promise sử dụng để xử lý bất đồng bộ trong ứng dụng Javascript. Cách hiểu đơn giản giống như khi thực hiện một công việc xong sau đó sẽ làm gì tiếp theo. Ví dụ:

// returns a promise
let countValue = new Promise(function (resolve, reject) {
   reject('Promise rejected'); 
});

// executes when promise is resolved successfully
countValue.then(
    function successValue(result) {
        console.log(result); // Promise resolved
    },
 )

Các tham số còn lại (Rest Parameter) và toán tử trải rộng (Spread Operator)

Rest Parameter

ES6 cung cấp khái niệm Rest Parameter để biểu diễn số lượng đối số không xác định dưới dạng một mảng. Ví dụ:

// define function
const show = (a, b, ...args) => {
  console.log(a); // one
  console.log(b); // two
  console.log(args); // ["three", "four", "five", "six"]
}
// call function
show('one', 'two', 'three', 'four', 'five', 'six')

Spread Operator

let arr1 = ['one', 'two'];
let arr2 = [...arr1, 'three', 'four', 'five'];
console.log(arr2); // ["one", "two", "three", "four", "five"]

Rest Parameter và Spread Operator có cú pháp hơi tương đồng nhau. Tham số còn lại (Rest Parameter) ngược lại với toán tử trải rộng (Spread Operator). trong khi toán tử trải rộng Spread Operator mở rộng các phần tử của một iterable, toán tử còn lại sẽ nén chúng lại. Trong các hàm khi chúng ta yêu cầu truyền đối số nhưng không chắc mình phải truyền bao nhiêu đối số, tham số còn lại sẽ giúp việc này dễ dàng hơn.

Bài tập

Yêu cầu:

  1. Tạo một lớp Person với các thuộc tính và phương thức sau:
    • Thuộc tính:
      • name (tên)
      • age (tuổi)
      • gender (giới tính)
      • address (địa chỉ)
    • Phương thức:
      • introduce():
        • In ra thông tin dạng:

          "My name is [name], I am [age] years old, I am a [gender], and I live in [address]."

      • isAdult():
        • Trả về true nếu age >= 18, ngược lại trả về false.
      • updateAddress(newAddress):
        • Cập nhật địa chỉ mới.
  2. Tạo 3 đối tượng từ lớp Person với các giá trị khác nhau.

So sánh tuổi của 2 đối tượng (ai lớn tuổi hơn) và in ra kết quả:

"[Person1] is older than [Person2]" hoặc "[Person1] is younger than [Person2]".

Yêu cầu bổ sung:

    1. So sánh toàn bộ đối tượng:
      • Tạo một phương thức equals() để kiểm tra hai đối tượng Person có cùng thông tin không (tên, tuổi, giới tính, địa chỉ).
      • In ra:

        "[Person1] and [Person2] are the same." hoặc "[Person1] and [Person2] are different."

    2. Tạo danh sách đối tượng:
      • Lưu các đối tượng Person vào một danh sách (mảng).
      • Lọc danh sách để tìm những người trưởng thành (isAdult() === true).

Bài viết liên quan:

Khái niệm bất đồng bộ , Async/Await trong javascript

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

KHÁI NIỆM QUẢN LÝ DỰ ÁN CÔNG NGHỆ THÔNG TIN (IT PROJECT MANAGEMENT)

Cấu trúc lập trình và Mảng

Bắt đầu với C#

1. GIỚI THIỆU KHÁI NIỆM CHUẨN MỰC – ĐẠO ĐỨC VÀ VẤN ĐỀ NGHỀ NGHIỆP TRONG CNTT

2. ÁP DỤNG CÁC CHUẨN MỰC VÀ VẤN ĐỀ NGHỀ NGHIỆP TRONG CNTT

Giới thiệu

hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với HỌC VIẾT CODE

© hocvietcode.com - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.
Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×