강의

멘토링

커뮤니티

Programming

/

Programming Language

Mã hóa cuộc sống - Tính bất biến của JavaScript

Đây là khóa học liên quan đến JavaScript do Life Coding cung cấp. Khóa học này nói về cách xử lý dữ liệu một cách bất biến trong JavaScript.

(4.9) 100 đánh giá

2,789 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

  • Egoing Lee
JavaScript
JavaScript
JavaScript
JavaScript

Đánh giá từ những học viên đầu tiên

Đánh giá từ những học viên đầu tiên

4.9

5.0

장병훈

100% đã tham gia

Và bạn...

5.0

오영주

33% đã tham gia

Anh Egoing tuyệt vời nhất!

5.0

김남연

100% đã tham gia

Hiểu rất dễ dàng và rõ ràng. Có vẻ như đây là nội dung rất cần thiết cho việc quản lý dữ liệu.

Bạn sẽ nhận được điều này sau khi học.

  • Cách xử lý dữ liệu bất biến trong JavaScript

  • Sự khác biệt giữa các kiểu dữ liệu nguyên thủy và cách các đối tượng hoạt động

  • Cách nhân bản một đối tượng

  • Cách sửa đổi bản sao mà không sửa đổi đối tượng ban đầu

1. Giới thiệu bài giảng

Khóa học JavaScript Immutability của Life Coding hướng dẫn cách xử lý dữ liệu bất biến trong JavaScript. Dành cho những người học đã quen thuộc với cú pháp JavaScript cơ bản, khóa học này khám phá cách ngăn chặn việc dữ liệu bị hỏng bằng cách làm cho dữ liệu không thể thay đổi.

Khóa học này bao gồm các chủ đề sau:

  • Sự khác biệt giữa cách các kiểu dữ liệu nguyên thủy và các đối tượng hoạt động
  • Cách sao chép một đối tượng
  • Làm thế nào để sửa đổi một bản sao mà không sửa đổi đối tượng gốc

Những điều sau đây không được bảo hiểm:

  • thư viện bất biến

2. Mục tiêu bài giảng

Việc xử lý dữ liệu bất biến giúp giảm đáng kể khả năng xảy ra lỗi do nhiễu giữa các dữ liệu. Nó cũng giúp việc kiểm tra xem dữ liệu có thay đổi hay không trở nên dễ dàng hơn nhiều. Nó cũng đóng vai trò là nền tảng cho việc triển khai các kỹ thuật tiên tiến như tải lại mô-đun nóng và du hành thời gian.

Nếu bạn có thể dự đoán kết quả của tất cả các mã bên dưới, bạn không cần phải học lớp này.

biến n1 = 1;
biến n2 = 1;
console.log(n1 === n2);
=> Đúng vậy. Tất nhiên rồi.

var o1 = {tên:'kim'}
var o2 = {tên:'kim'}
console.log(o1 === o2);
=> false. Có vẻ hơi mơ hồ. JavaScript xử lý các kiểu dữ liệu nguyên thủy, vốn không thay đổi, khác với các đối tượng, vốn có thể thay đổi.

var o1 = {tên:'kim'}
biến o2 = o1;
o2.name = 'lee';
console.log(o1.name);
=> Đây là lee. o1 thậm chí không biết tiếng Anh và giá trị của tên mà nó trỏ tới đã thay đổi.

var o1 = {tên:'kim'}
var o2 = Object.assign({}, o1); // Sao chép o1 vào một đối tượng trống.
o2.name = 'lee';
console.log(o1.name);
=> Đây là Kim. Việc thay đổi o2 không ảnh hưởng đến o1. Điều này cho phép o1 vẫn bất biến so với o2.

var o1 = {điểm:[1,2]}
var o2 = Object.assign({}, o1);
o2.score.push(3);
console.log(o1.score)
=> [1,2,3]. Tôi không biết tiếng Anh, nên o1 đã thay đổi lại. Điều này là do score là một mảng, vốn là một kiểu đối tượng.

var o1 = {điểm:[1,2]}
var o2 = Object.assign({}, o1);
o2.score = o2.score.concat(); // Sao chép mảng.
o2.score.push(3);
console.log(o1.score)
=> [1,2].

Có một cách khác: sao chép mọi thứ.
var o1 = {điểm:[1,2]}
var o2 = JSON.parse(JSON.stringify(o1));
o2.score.push(3);
console.log(o1.score)
=> [1,2].

Tốt nhất là nên cẩn thận để không thay đổi bản gốc, nhưng cũng có thể ngăn chặn việc bản gốc thay đổi.
var o1 = {tên:'kim'}
Đối tượng.đóng băng(o1);
o1.tên = 'lee';
console.log(o1.name);
=> Là 'kim'.

Nhưng đồ vật thì không làm như vậy.
var o1 = {điểm:[1,2]}
Đối tượng.đóng băng(o1);
o1.điểm.đẩy(3);
console.log(o1.điểm);
// [1,2,3].

Cần phải đóng băng để phòng vệ.
var o1 = {điểm:[1,2]}
Đối tượng.đóng băng(o1);
Đối tượng.đóng băng(o1.điểm);
o1.điểm.đẩy(3);
console.log(o1.điểm);
// Nó không thay đổi. Nó thậm chí còn gây ra lỗi phản đối.

3. Điều kiện tham gia bài giảng

Để tham gia khóa học này, bạn cần có những kiến thức tiên quyết sau:
(Bạn có thể học một trong hai.)

4. Tổng thời gian phát lại

Đây là lớp học kéo dài một giờ gồm 12 video.

5. Bản quyền lớp

Bài giảng này được cấp phép theo giấy phép Creative Commons và có thể xem tại liên kết bên dưới.
https://opentutorials.org/module/4075 Tôi muốn cảm ơn Life Coding vì đã chia sẻ những kiến thức quý báu.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Những người muốn giảm khả năng xảy ra lỗi bằng cách xử lý dữ liệu một cách không thay đổi

  • Bất cứ ai muốn xây dựng nền tảng triển khai các kỹ thuật JS nâng cao

Cần biết trước khi bắt đầu?

  • JavaScript

  • NodeJS (tùy chọn)

Xin chào
Đây là

311,858

Học viên

8,563

Đánh giá

1

Trả lời

4.9

Xếp hạng

44

Các khóa học

Chương trình giảng dạy

Tất cả

12 bài giảng ∙ (1giờ 0phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

100 đánh giá

4.9

100 đánh giá

  • bhjang45440679님의 프로필 이미지
    bhjang45440679

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Và bạn...

    • lyc11211212487님의 프로필 이미지
      lyc11211212487

      Đánh giá 28

      Đánh giá trung bình 4.3

      5

      33% đã tham gia

      • oyj님의 프로필 이미지
        oyj

        Đánh giá 4

        Đánh giá trung bình 5.0

        5

        33% đã tham gia

        Anh Egoing tuyệt vời nhất!

        • park7844323님의 프로필 이미지
          park7844323

          Đánh giá 5

          Đánh giá trung bình 5.0

          5

          33% đã tham gia

          • nam002425274님의 프로필 이미지
            nam002425274

            Đánh giá 2

            Đánh giá trung bình 5.0

            5

            100% đã tham gia

            Hiểu rất dễ dàng và rõ ràng. Có vẻ như đây là nội dung rất cần thiết cho việc quản lý dữ liệu.

            Miễn phí

            Khóa học khác của Egoing Lee

            Hãy khám phá các khóa học khác của giảng viên!

            Khóa học tương tự

            Khám phá các khóa học khác trong cùng lĩnh vực!