Trong bài viết này, chúng ta sẽ cùng bắt đầu thực hiện công việc viết code quản lý một
const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
7 đơn giản cho trang blog cá nhân mà chúng ta đang xây dựng. Tuy nhiên, mình muốn lưu ý một chút về const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
8 trong việc viết code xử lý const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
7 trước khi bắt tay vào viết code.Code quản lý
const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
7 sẽ được viết chủ đạo trên nền const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
1, với các thủ tục const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 thao tác const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
3 trên các tệp dữ liệu. Các kết quả thu được khi thực hiện các const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 sẽ được trả về ở dạng hiệu ứng biên const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
5 - tức là thay đổi nội dung của một const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
6 được truyền vào thay vì sử dụng lệnh const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
7.Các tham số của
const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 sẽ được chia làm 2 nhóm là:
9 - các tham số truyền dữ liệu vào và sẽ không bị thay đổi.const Article = class extends Map { nonStaticMethod[] { /* do something */ ; return this; } static clone[] { /* do something */ ; return Article; } }; // Article
0 - các tham số nhận kết quả khi[express-blog] . | . +-----[database] . | | . | +-----[data] . | | | . | | +-----[Article] . | | +-----[Category] . | | . | +-----[procedure] . | | | . | | +-----[Article] . | | +-----[Category] . | | . | +-----[type] . | | | . | | +-----Article.js . | | +-----Category.js . | | . | +-----manager.js . | . +-----test.js
2 được thực thi.const Article = class extends Map { nonStaticMethod[] { /* do something */ ; return this; } static clone[] { /* do something */ ; return Article; } }; // Article
const selectCategoryById = async [
in_recordId = "Infinity",
out_selected = new Map[]
] => {
// truy vấn dữ liệu từ các tệp...
// gắn dữ liệu vào object kết quả
out_selected.set["@id", in_recordId];
out_selected.set["name", "html"];
};
var selected = new Map[];
await selectCategoryById["01", selected];
console.log[selected];
// Category[2] [Map] {
// '@id' => '01',
// 'name' => 'html'
// }
Do hầu hết các
const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 ở đây đều làm việc với các tệp và chúng ta đã thảo luận từ trước là sẽ dùng các thao tác [express-blog]
. |
. +-----[database]
. | |
. | +-----[data]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[procedure]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[type]
. | | |
. | | +-----Article.js
. | | +-----Category.js
. | |
. | +-----manager.js
. |
. +-----test.js
3, vì vậy nên khi nào nhìn thấy từ khóa [express-blog]
. |
. +-----[database]
. | |
. | +-----[data]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[procedure]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[type]
. | | |
. | | +-----Article.js
. | | +-----Category.js
. | |
. | +-----manager.js
. |
. +-----test.js
3 thì chúng ta sẽ ngầm định là Procedure. Trong trường hợp không phải là thao tác [express-blog]
. |
. +-----[database]
. | |
. | +-----[data]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[procedure]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[type]
. | | |
. | | +-----Article.js
. | | +-----Category.js
. | |
. | +-----manager.js
. |
. +-----test.js
3 thì mình sẽ ghi [express-blog]
. |
. +-----[database]
. | |
. | +-----[data]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[procedure]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[type]
. | | |
. | | +-----Article.js
. | | +-----Category.js
. | |
. | +-----manager.js
. |
. +-----test.js
6 thay vào vị trí của từ khóa đó.Các hàm [nếu cần sử dụng] - cũng sẽ được viết với cú pháp
[express-blog]
. |
. +-----[database]
. | |
. | +-----[data]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[procedure]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[type]
. | | |
. | | +-----Article.js
. | | +-----Category.js
. | |
. | +-----manager.js
. |
. +-----test.js
7 và sử dụng [express-blog]
. |
. +-----[database]
. | |
. | +-----[data]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[procedure]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[type]
. | | |
. | | +-----Article.js
. | | +-----Category.js
. | |
. | +-----manager.js
. |
. +-----test.js
8 thay vào vị trí [express-blog]
. |
. +-----[database]
. | |
. | +-----[data]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[procedure]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[type]
. | | |
. | | +-----Article.js
. | | +-----Category.js
. | |
. | +-----manager.js
. |
. +-----test.js
3 ở trên. Tuy nhiên, khi sử dụng khái niệm hàm, chúng ta sẽ không có các tham số const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
9 và [express-blog]
. |
. +-----[database]
. | |
. | +-----[data]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[procedure]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[type]
. | | |
. | | +-----Article.js
. | | +-----Category.js
. | |
. | +-----manager.js
. |
. +-----test.js
0, mà tất cả đều sẽ được ngầm định là const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
9 và được áp dụng từng phần khi gọi hàm; Đồng thời, các hàm sẽ luôn luôn sử dụng lệnh const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
7 để trả về kết quả và không tạo ra const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
5 nào đối với các yếu tố bên ngoài hàm. Đồng thời khi định nghĩa hàm mình cũng sẽ bỏ đi tất cả các dấu [data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
5.const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
Các
[data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
6 tự định nghĩa cũng sẽ được khai báo ở dạng gán vào một hằng [data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
7 giống với các const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 và [data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
9. Đồng thời, tất cả các phương thức định nghĩa trong [data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
6 sẽ đều mặc định {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
1 khi kết thúc - hoặc {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
2 nếu là phương thức {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
3.const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
Cấu trúc thư mục database
Chúng ta sẽ khởi đầu với các nhóm dữ liệu bài viết
{
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
4 và danh mục {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
5; Và thư mục const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
7 của chúng ta sẽ có cấu trúc cơ bản như thế này -[express-blog]
. |
. +-----[database]
. | |
. | +-----[data]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[procedure]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[type]
. | | |
. | | +-----Article.js
. | | +-----Category.js
. | |
. | +-----manager.js
. |
. +-----test.js
Các tệp dữ liệu như chúng ta vẫn quy ước trước đó là đặt trong thư mục
{
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
7, với các bản ghi được xếp thành các nhóm {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
8 và {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
9. Khi các bản ghi được truy xuất vào môi trường vận hành code sẽ cần được chuyển thành các const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
6; Và do đó nên chúng ta có thêm các [data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
6 mô tả tương ứng được đặt trong thư mục var firstHTMLArticle = {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01",
"content": "Đây là nội dung của bài viết đầu tiên..."
}
2.Cuối cùng là các tệp code định nghĩa các thủ tục thao tác trong
const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
7 được đặt trong thư mục const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 và sẽ được tổng kết tại var firstHTMLArticle = {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01",
"content": "Đây là nội dung của bài viết đầu tiên..."
}
5. Code ở bên ngoài sẽ chỉ sử dụng các phương thức do var firstHTMLArticle = {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01",
"content": "Đây là nội dung của bài viết đầu tiên..."
}
6 cung cấp và các [data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
6 trong thư mục var firstHTMLArticle = {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01",
"content": "Đây là nội dung của bài viết đầu tiên..."
}
2 chứ không chạm vào bất kỳ thành phần nào khác trong thư mục const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
7.Các bản ghi và cấu trúc các tệp dữ liệu
Đối với mỗi bản ghi thuộc bất kỳ kiểu dữ liệu nào -
{
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
8, {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
9, {
"@id": "02",
"name": "css",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web"
]
}
2, v.v... - sẽ có một thư mục đại diện với tên thư mục ở dạng {
"@id": "02",
"name": "css",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web"
]
}
3 và bên trong thư mục này sẽ gồm một tệp {
"@id": "02",
"name": "css",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web"
]
}
4 và một tệp {
"@id": "02",
"name": "css",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web"
]
}
5. Trong đó thì tệp {
"@id": "02",
"name": "css",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web"
]
}
4 sẽ chứa các thông tin dạng ngắn {
"@id": "02",
"name": "css",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web"
]
}
7, còn tệp {
"@id": "02",
"name": "css",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web"
]
}
5 sẽ chứa nội dung văn bản {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
7 của trang đơn mô tả cho bản ghi đó trên bề mặt web [nếu có].[data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
Các bản ghi
{
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
8 sẽ có tệp {
"@id": "02",
"name": "css",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web"
]
}
4 với nội dung dạng này -{
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
Ở đây
const Article = class extends Map {
constructor[...params] {
super[...params];
for [var key of Article.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"title",
"short-title",
"keywords",
"edited-datetime",
"category-id",
"content"
];
}; // Article
module.exports = Article;
2 là giá trị const Article = class extends Map {
constructor[...params] {
super[...params];
for [var key of Article.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"title",
"short-title",
"keywords",
"edited-datetime",
"category-id",
"content"
];
}; // Article
module.exports = Article;
3 được lưu trong tên thư mục của bản ghi này. Nội dung của tệp {
"@id": "02",
"name": "css",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web"
]
}
5 thì chỉ đơn giản là văn bản dài có chứa mã const Article = class extends Map {
constructor[...params] {
super[...params];
for [var key of Article.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"title",
"short-title",
"keywords",
"edited-datetime",
"category-id",
"content"
];
}; // Article
module.exports = Article;
5 của Github nên chúng ta không có gì để lưu ý. Khi bản ghi {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
4 này được truy vấn const Article = class extends Map {
constructor[...params] {
super[...params];
for [var key of Article.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"title",
"short-title",
"keywords",
"edited-datetime",
"category-id",
"content"
];
}; // Article
module.exports = Article;
7 và đưa vào môi trường vận hành code thì chúng ta sẽ có một const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
6 như sau:var firstHTMLArticle = {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01",
"content": "Đây là nội dung của bài viết đầu tiên..."
}
Còn đây là nội dung tệp
{
"@id": "02",
"name": "css",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web"
]
}
4 của một danh mục {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
9:{
"@id": "02",
"name": "css",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web"
]
}
Bạn có thể chuẩn bị trước nội dung ngắn gọn cho một vài bản ghi hoặc
const Category = class extends Map {
constructor[...params] {
super[...params];
for [var key of Category.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"name",
"keywords",
"content"
];
}; // Category
module.exports = Category;
1 từ các liên kết dưới đây:
2const Category = class extends Map { constructor[...params] { super[...params]; for [var key of Category.fieldNames] { if [this.has[key]] { /* do nothing */; } else this.set[key, null]; } // for .. of return this; } static fieldNames = [ "@id", "name", "keywords", "content" ]; }; // Category module.exports = Category;
- id-0000/header.json
- id-0000/content.md
- id-0001/header.json
- id-0001/content.md
- id-Infinity/header.json
- id-Infinity/content.md
3const Category = class extends Map { constructor[...params] { super[...params]; for [var key of Category.fieldNames] { if [this.has[key]] { /* do nothing */; } else this.set[key, null]; } // for .. of return this; } static fieldNames = [ "@id", "name", "keywords", "content" ]; }; // Category module.exports = Category;
- id-00/header.json
- id-00/content.md
- id-01/header.json
- id-01/content.md
- id-Infinity/header.json
- id-Infinity/content.md
Ở đây mình cũng xin lưu ý một chút về
const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
8 sử dụng các bản ghi đặc biệt là const Category = class extends Map {
constructor[...params] {
super[...params];
for [var key of Category.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"name",
"keywords",
"content"
];
}; // Category
module.exports = Category;
5, const Category = class extends Map {
constructor[...params] {
super[...params];
for [var key of Category.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"name",
"keywords",
"content"
];
}; // Category
module.exports = Category;
6, const Category = class extends Map {
constructor[...params] {
super[...params];
for [var key of Category.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"name",
"keywords",
"content"
];
}; // Category
module.exports = Category;
7, Đối với bản thân mình thì số const Category = class extends Map {
constructor[...params] {
super[...params];
for [var key of Category.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"name",
"keywords",
"content"
];
}; // Category
module.exports = Category;
8 và giá trị const Category = class extends Map {
constructor[...params] {
super[...params];
for [var key of Category.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"name",
"keywords",
"content"
];
}; // Category
module.exports = Category;
9 rất đặc biệt và mình thường ưu tiên sử dụng các const Article = class extends Map {
constructor[...params] {
super[...params];
for [var key of Article.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"title",
"short-title",
"keywords",
"edited-datetime",
"category-id",
"content"
];
}; // Article
module.exports = Article;
3 này để làm các bản ghi mặc định cho một số nội dung đặc biệt. Cụ thể là const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
01 được mình sử dụng làm bài viết giới thiệu về blog và đặt trong trang const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
02 hoặc Trang Chủ const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
03; Còn const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
04 được mình sử dụng làm bài viết dự phòng và thông báo ngoại lệ trong trường hợp không tìm thấy nội dung phù hợp với yêu cầu nhận được.Vì lý do này nên trong một số thao tác làm việc với
const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
7 - ví dụ như tạo ra một giá trị const Article = class extends Map {
constructor[...params] {
super[...params];
for [var key of Article.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"title",
"short-title",
"keywords",
"edited-datetime",
"category-id",
"content"
];
}; // Article
module.exports = Article;
3 cho một bản ghi mới, trong code ví dụ minh họa ở đây bạn sẽ thấy mình có viết thêm một thao tác để chọn trị số const Article = class extends Map {
constructor[...params] {
super[...params];
for [var key of Article.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"title",
"short-title",
"keywords",
"edited-datetime",
"category-id",
"content"
];
}; // Article
module.exports = Article;
3 của bản ghi đứng trước bản ghi const Category = class extends Map {
constructor[...params] {
super[...params];
for [var key of Category.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"name",
"keywords",
"content"
];
}; // Category
module.exports = Category;
9 và thực hiện tăng giá trị. Còn nếu bạn không sử dụng Convention như mình và không có bản ghi const Category = class extends Map {
constructor[...params] {
super[...params];
for [var key of Category.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"name",
"keywords",
"content"
];
}; // Category
module.exports = Category;
9 thì chỉ việc chọn const Article = class extends Map {
constructor[...params] {
super[...params];
for [var key of Article.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"title",
"short-title",
"keywords",
"edited-datetime",
"category-id",
"content"
];
}; // Article
module.exports = Article;
3 của bản ghi mới nhất và tăng giá trị lên thôi. Các Class mô trả dữ liệu
Các
const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 về cơ bản là code thực hiện tương tác giữa môi trường vận hành và các tệp tĩnh; Do đó nên trước hết chúng ta sẽ cần chuẩn bị trước các [data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
6 mô tả các bản ghi trong môi trường phần mềm. Đối với mỗi nhóm các bản ghi thì chúng ta nên có tên [data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
6 riêng và vì vậy nên chúng ta sẽ có hai [data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
6 là - {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
8 và {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
9.Về cơ bản thì các
[data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
6 này đều không có gì đặc biệt và chỉ đơn giản là được sử dụng tạo ra các const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
6 chung chuyển dữ liệu. Đối với nhu cầu sử dụng như thế này thì chúng ta có const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
19 đã được thiết kế sẵn với nhiều tính năng tiện ích phù hợp. Và đầu tiên là code cho const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
20 -const Article = class extends Map {
constructor[...params] {
super[...params];
for [var key of Article.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"title",
"short-title",
"keywords",
"edited-datetime",
"category-id",
"content"
];
}; // Article
module.exports = Article;
Giống với việc sử dụng các
[data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
6 tự định nghĩa thông thường, sau khi kế thừa const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
22 chúng ta cần khởi tạo các const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
23 - hay các const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
24 - tương ứng với các bản ghi bằng cách tạo một phương thức có tên là const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
25. Phương thức này sẽ kiểm tra sự tồn tại của các khóa const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
26 và khởi tạo những thuộc tính còn thiếu khi code bên ngoài sử dụng const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
27. Và tương tự thì chúng ta có định nghĩa const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
28.const Category = class extends Map {
constructor[...params] {
super[...params];
for [var key of Category.fieldNames] {
if [this.has[key]]
{ /* do nothing */; }
else
this.set[key, null];
} // for .. of
return this;
}
static fieldNames = [
"@id",
"name",
"keywords",
"content"
];
}; // Category
module.exports = Category;
Rồi... như vậy là đã tạm đủ chất liệu cho các
const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 làm việc. Bây giờ chúng ta sẽ tiến hành viết code cho các const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2; Khi nào cần bổ sung hoặc chỉnh sửa gì đó ở các [data]
. |
. +-----[Article]
. | |
. | +-----[id-0000]
. | |
. | +-----header.json
. | +-----content.md
. |
. +-----[Category]
. |
. +-----[id-00]
. |
. +-----header.json
. +-----content.md
6 này thì chúng ta sẽ quay lại xử lý thêm sau. Trong bài viết này thì chúng ta sẽ tập trung cho các const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 làm việc trên các bản ghi {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
9 trước. Lý do thì là vì các bản ghi {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
4 có sự lệ thuộc vào các bản ghi {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01"
}
9 như chúng ta đã nói trong bài trước.Các thủ tục cơ bản
Mặc dù mục đích sử dụng phần mềm
const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
36 ở lớp bên ngoài rất đa dạng. Nhưng khi tương tác với const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
7 thì về cơ bản chúng ta sẽ chỉ có 4 kiểu thao tác -
38 - thêm một ghi mới vàoconst sumOf = /* function */ [a = 0] => [b = 0] => { var sum = a + b return sum } var nine = sumOf[1][8] console.log[nine] // 9
7.const sumOf = /* function */ [a = 0] => [b = 0] => { var sum = a + b return sum } var nine = sumOf[1][8] console.log[nine] // 9
40 - lấy ra một bản ghi để xem thông tin.const sumOf = /* function */ [a = 0] => [b = 0] => { var sum = a + b return sum } var nine = sumOf[1][8] console.log[nine] // 9
41 - cập nhật dữ liệu của một ghi đã có.const sumOf = /* function */ [a = 0] => [b = 0] => { var sum = a + b return sum } var nine = sumOf[1][8] console.log[nine] // 9
42 - xóa một bản ghi trongconst sumOf = /* function */ [a = 0] => [b = 0] => { var sum = a + b return sum } var nine = sumOf[1][8] console.log[nine] // 9
7.const sumOf = /* function */ [a = 0] => [b = 0] => { var sum = a + b return sum } var nine = sumOf[1][8] console.log[nine] // 9
Và chúng ta sẽ khởi đầu với các
const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 tương ứng thực hiện thao tác trên một bản ghi đơn. Các thao tác phức tạp hơn [nếu cần thiết] - sẽ có thể sử dụng các const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 này làm chất liệu.const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
0Mình thường có thói quen ghi chú trong tên tệp một vài yếu tố mà mình quan tâm ở phía cuối; Vì vậy nên tên các tệp trong ví dụ mình ghi có hơi dài một chút. Bạn có thể đặt tên tệp theo cách hiểu của bạn là được, điểm này không quan trọng lắm nên bạn đừng bận tâm nhé.
Về cơ bản thì các
const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 đều phải thực hiện các thao tác nhập/xuất liên quan tới các tệp nên thường sẽ là các thao tác [express-blog]
. |
. +-----[database]
. | |
. | +-----[data]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[procedure]
. | | |
. | | +-----[Article]
. | | +-----[Category]
. | |
. | +-----[type]
. | | |
. | | +-----Article.js
. | | +-----Category.js
. | |
. | +-----manager.js
. |
. +-----test.js
3, và nếu có ngoại lệ phát sinh khi tương tác với các tệp dữ liệu thì chúng ta sẽ const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
48ra ngoài cho code xử lý const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
49. Bởi vì code quản lý const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
7 về cơ bản là một phần mềm plug-in thụ động - được sử dụng bởi code logic điều hành của const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
49 ở phía bên ngoài; Do đó nên việc xử lý các ngoại lệ thế nào để phản hồi cho trình duyệt web thì hiển nhiên là không thể xử lý ở tầng này được.Do các
const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 của chúng ta đều phải thực hiện các thao tác có nhiều bước và chắc chắn sẽ cần chia thành các tác vụ nhỏ. Ở đây chúng ta sẽ tạo sẵn một thư mục const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
53 để lưu trữ code xử lý các tác vụ chia nhỏ và có thể được sử dụng chung cho các const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 chính.Bây giờ thì chúng ta sẽ khai báo đơn giản và tổng kết các
const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 này tại var firstHTMLArticle = {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01",
"content": "Đây là nội dung của bài viết đầu tiên..."
}
5 để code bên ngoài có thể sử dụng được:const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
1const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
2const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
3const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
4const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
5Ở đây chúng ta tạo ra một
const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
57 đại diện cho phần mềm quản lý const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
7 với một phương thức duy nhất là const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
59 [thực thi] để tìm và gọi một Procedure trong các nhóm Procedure chính const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
60 và const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
61.Cú pháp cơ bản của
const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
59 sẽ yêu cầu các thành phần lần lượt là const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
63:
64 - tên của kiểu bản ghi cần thực hiện thủ tục truy vấn hoặc chỉnh sửa.const sumOf = /* function */ [a = 0] => [b = 0] => { var sum = a + b return sum } var nine = sumOf[1][8] console.log[nine] // 9
65 - tên của thủ tục cần áp dụng.const sumOf = /* function */ [a = 0] => [b = 0] => { var sum = a + b return sum } var nine = sumOf[1][8] console.log[nine] // 9
66 - mảng chứa các tham số sử dụng cho thủ tục được chọn.const sumOf = /* function */ [a = 0] => [b = 0] => { var sum = a + b return sum } var nine = sumOf[1][8] console.log[nine] // 9
Ở phía trên thì mình chỉ liệt kê code mockup của các thao tác cơ bản thuộc nhóm
const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
61. Để code có thể hoạt động được thì bạn copy/paste và đổi lại tên thư mục và một số yếu tố trong code để khởi tạo nhóm const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
60 nhé.Sau đó chúng ta có thể viết một vài dòng trong
const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
69 và chạy lệnh const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
70 để xem var firstHTMLArticle = {
"@id": "0001",
"title": "Làm Thế Nào Để Tạo Ra Một Trang Web?",
"short-title": "Giới Thiệu Mở Đầu",
"keywords": [
"hướng dẫn cơ bản",
"lập trình web",
"html",
"giới thiệu"
],
"edited-datetime": "Sat, 16 Apr 2022 10:13:22 GMT",
"category-id": "01",
"content": "Đây là nội dung của bài viết đầu tiên..."
}
6 đã được kết nối với các tệp const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2 ổn chưa:const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
6Và bây giờ thì chúng ta sẽ bắt đầu viết code xử lý chi tiết cho từng
const Article = class extends Map {
nonStaticMethod[] {
/* do something */ ;
return this;
}
static clone[] {
/* do something */ ;
return Article;
}
}; // Article
2. Tuy nhiên thì bài viết của chúng ta tới đây thực sự là đã hơi dài quá rồi, vì vậy nên... Trong bài viết tiếp theo, chúng ta sẽ cùng viết code xử lý chi tiết cho thao tác const sumOf = /* function */
[a = 0] =>
[b = 0] =>
{ var sum = a + b
return sum
}
var nine = sumOf[1][8]
console.log[nine] // 9
38.[Database] Bài 5 - Viết Code Quản Lý Database [Tiếp Theo]