From 7bf40f533e65c84f6325169dfeb6a466ecad3997 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 May 2020 11:34:23 +0700 Subject: [PATCH 001/757] Update index.html --- examples/speech-recognition/game/index.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/speech-recognition/game/index.html b/examples/speech-recognition/game/index.html index ecb77d3..2aeceb9 100644 --- a/examples/speech-recognition/game/index.html +++ b/examples/speech-recognition/game/index.html @@ -92,7 +92,9 @@ - +
+
ฝากติดตามเพจด้วย โปรแกรมเมอร์ไทย thai programmer +
From 668ba634d742015acbfee961fa16d77ddfc0c11c Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 May 2020 11:35:13 +0700 Subject: [PATCH 002/757] Update index.html --- examples/speech-recognition/web/index.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/speech-recognition/web/index.html b/examples/speech-recognition/web/index.html index 90c2454..4a3a890 100644 --- a/examples/speech-recognition/web/index.html +++ b/examples/speech-recognition/web/index.html @@ -265,5 +265,8 @@ } +
+
ฝากติดตามเพจด้วย โปรแกรมเมอร์ไทย thai programmer +
From ab3c076f1cea7ee8691a1fe29424003ed1bb76b6 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 May 2020 11:39:19 +0700 Subject: [PATCH 003/757] Update translate_thai-eng.html --- examples/google_translate/translate_thai-eng.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/google_translate/translate_thai-eng.html b/examples/google_translate/translate_thai-eng.html index e20f0de..a69699f 100644 --- a/examples/google_translate/translate_thai-eng.html +++ b/examples/google_translate/translate_thai-eng.html @@ -156,6 +156,9 @@ }; */ +
+
ฝากติดตามเพจด้วย โปรแกรมเมอร์ไทย thai programmer +
From d2cea3dba788f2d0b4c780450ed4813d36101d60 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 May 2020 11:40:46 +0700 Subject: [PATCH 004/757] Update translate_general.html --- examples/google_translate/translate_general.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/google_translate/translate_general.html b/examples/google_translate/translate_general.html index f45782b..6ef2b3d 100644 --- a/examples/google_translate/translate_general.html +++ b/examples/google_translate/translate_general.html @@ -167,6 +167,9 @@ } +
+
ฝากติดตามเพจด้วย โปรแกรมเมอร์ไทย thai programmer +
From bf88060fcf3d31127118a8bca8f75e4b2f1361cb Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 May 2020 11:45:36 +0700 Subject: [PATCH 005/757] Update index.html --- examples/speech-recognition/web/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/speech-recognition/web/index.html b/examples/speech-recognition/web/index.html index 4a3a890..5073bd6 100644 --- a/examples/speech-recognition/web/index.html +++ b/examples/speech-recognition/web/index.html @@ -115,7 +115,7 @@

Translate:

-
x
+
From b1e22625cd07af0cca20c8a74da4623ce1169cf4 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:17:12 +0700 Subject: [PATCH 006/757] Update README.md --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bcd0b3c..65070dc 100644 --- a/README.md +++ b/README.md @@ -902,9 +902,9 @@ http://www.ebooks.in.th/ebook/40184/รีวีวฟรีเจอร์ใ ## สำหรับผู้ที่สนใจหนังสือเล่มนี้ -หนังสือ __ภาษาไทยเล่มแรก__ ที่กล่าวถึงจาวาสคริปต์มาตรฐานใหม่ ES6 พิมพ์ครั้งที่สามแล้วนะครับ มีการปรับปรุงแก้ไขคำผิดไป **แต่ทว่าตีพิม์จำนวนจำกัด ไม่มากเท่าไร** มีขายบางแห่งเท่านั้น ควรเช็คอีกที +หนังสือ __ภาษาไทยเล่มแรก__ ที่กล่าวถึงจาวาสคริปต์มาตรฐานใหม่ ES6 **ตอนนี้ไม่ตีพิมพ์ซ้ำอีกแล้ว** ยังมีขายบางแห่งเท่านั้น ควรเช็คอีกที -![cover](images/cover_big5.png) +![cover](images/cover_big.png) * [ศูนย์หนังสือจุฬา]( http://www.chulabook.com/description.asp?barcode=9786160825394) * [ร้านนายอินทร์](https://www.naiin.com/product/detail/191081/) @@ -913,3 +913,6 @@ http://www.ebooks.in.th/ebook/40184/รีวีวฟรีเจอร์ใ * [ผ่านฟ้าบุ๊คเซ็นเตอร์] (http://www.phanpha.com/item/พัฒนาเว็บแอปพลิเคชั่นด้วย-javascript) * [ซีเอ็ดบางสาขา]( https://www.se-ed.com/product/พัฒนาเว็บแอปพลิเคชั่นด้วย-JavaScript.aspx?no=9786160825394) * และร้านหนังสืออื่น ๆ ที่ไม่ได้กล่าว + +เล่มใหม่เนื้อหาจะเป็นจาวาสคริปต์ตัวใหม่ตั้งแต่ ES6 เป็นต้นไป (ล่าสุดเนื้อหาถึง ES14) เนื้อหาเกือบ 900 กว่าหน้า +![cover](images/cover_new.png) From 493d82b139259d8c5beb3efb14f185ab5d5f5d55 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:18:53 +0700 Subject: [PATCH 007/757] Add files via upload --- images/cover_new.png | Bin 0 -> 25312 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/cover_new.png diff --git a/images/cover_new.png b/images/cover_new.png new file mode 100644 index 0000000000000000000000000000000000000000..53040665a37e6eac80803ab6a6d3b00d392bed05 GIT binary patch literal 25312 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�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 Date: Wed, 17 May 2023 15:21:12 +0700 Subject: [PATCH 008/757] Update README.md --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 65070dc..a94fac1 100644 --- a/README.md +++ b/README.md @@ -904,7 +904,7 @@ http://www.ebooks.in.th/ebook/40184/รีวีวฟรีเจอร์ใ หนังสือ __ภาษาไทยเล่มแรก__ ที่กล่าวถึงจาวาสคริปต์มาตรฐานใหม่ ES6 **ตอนนี้ไม่ตีพิมพ์ซ้ำอีกแล้ว** ยังมีขายบางแห่งเท่านั้น ควรเช็คอีกที -![cover](images/cover_big.png) +![cover](images/cover_big.jpg) * [ศูนย์หนังสือจุฬา]( http://www.chulabook.com/description.asp?barcode=9786160825394) * [ร้านนายอินทร์](https://www.naiin.com/product/detail/191081/) @@ -914,5 +914,7 @@ http://www.ebooks.in.th/ebook/40184/รีวีวฟรีเจอร์ใ * [ซีเอ็ดบางสาขา]( https://www.se-ed.com/product/พัฒนาเว็บแอปพลิเคชั่นด้วย-JavaScript.aspx?no=9786160825394) * และร้านหนังสืออื่น ๆ ที่ไม่ได้กล่าว -เล่มใหม่เนื้อหาจะเป็นจาวาสคริปต์ตัวใหม่ตั้งแต่ ES6 เป็นต้นไป (ล่าสุดเนื้อหาถึง ES14) เนื้อหาเกือบ 900 กว่าหน้า +เล่มใหม่เนื้อหาอัปเดต เป็นจาวาสคริปต์ตั้งแต่ ES6 เป็นต้นไป (ล่าสุดเนื้อหาถึง ES14) เนื้อหาเกือบ 900 กว่าหน้า + ![cover](images/cover_new.png) +[สั่งซ์้อได้ที่เว็บ MEB (ขายเป็นอีบุ๊กเท่านั้น)] (https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjE1Njg1NCI7fQ) From f4bd1bc75c66b0dbe57e46086740455c49ded3c7 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:21:52 +0700 Subject: [PATCH 009/757] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a94fac1..cf75243 100644 --- a/README.md +++ b/README.md @@ -917,4 +917,5 @@ http://www.ebooks.in.th/ebook/40184/รีวีวฟรีเจอร์ใ เล่มใหม่เนื้อหาอัปเดต เป็นจาวาสคริปต์ตั้งแต่ ES6 เป็นต้นไป (ล่าสุดเนื้อหาถึง ES14) เนื้อหาเกือบ 900 กว่าหน้า ![cover](images/cover_new.png) -[สั่งซ์้อได้ที่เว็บ MEB (ขายเป็นอีบุ๊กเท่านั้น)] (https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjE1Njg1NCI7fQ) + +[สั่งซ์้อได้ที่เว็บ MEB (ขายเป็นอีบุ๊กเท่านั้น)](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjE1Njg1NCI7fQ) From d773ed621b4574c36062ea8ee1ce772ea77b8d38 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:23:36 +0700 Subject: [PATCH 010/757] Create Chapter9.md --- examples_book/Chapter9.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples_book/Chapter9.md diff --git a/examples_book/Chapter9.md b/examples_book/Chapter9.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples_book/Chapter9.md @@ -0,0 +1 @@ + From 73d1eb59142bb5f972eaf69d5acfef6dc6ec0ad2 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:24:16 +0700 Subject: [PATCH 011/757] Create Chapter10.md --- examples_book/Chapter10.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples_book/Chapter10.md diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples_book/Chapter10.md @@ -0,0 +1 @@ + From 05eab80f8ad50c6866981a7c9701015389e8052d Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:24:49 +0700 Subject: [PATCH 012/757] Create Chapter11.md --- examples_book/Chapter11.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples_book/Chapter11.md diff --git a/examples_book/Chapter11.md b/examples_book/Chapter11.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples_book/Chapter11.md @@ -0,0 +1 @@ + From dd38a9ead45b519d2af261c5a91d182ce085ed89 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:25:15 +0700 Subject: [PATCH 013/757] Create Chapter12.md --- examples_book/Chapter12.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples_book/Chapter12.md diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples_book/Chapter12.md @@ -0,0 +1 @@ + From e7cbcd0628a9926d9ddb1093fd36b8d6f47c7745 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:25:49 +0700 Subject: [PATCH 014/757] Update README.md --- examples_book/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/README.md b/examples_book/README.md index 92efc03..6abc9a2 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -1,5 +1,5 @@ -# [โค้ดตัวอย่างจากหนังสือทั้งหมด]( https://www.se-ed.com/product/พัฒนาเว็บแอปพลิเคชั่นด้วย-JavaScript.aspx?no=9786160825394) -![cover_6.PNG](https://github.com/adminho/javascript/blob/master/images/cover_6.PNG) +# [โค้ดตัวอย่างจากหนังสือทั้งหมด]([ https://www.se-ed.com/product/พัฒนาเว็บแอปพลิเคชั่นด้วย-JavaScript.aspx?no=9786160825394](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjE1Njg1NCI7fQ)) +![cover_new.PNG](https://github.com/adminho/javascript/blob/master/images/cover_new.PNG) * [บทที่ 1](Chapter1.md) From d58f7d6c10903f5ebb10bd9c7433d99968acfb7a Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:26:58 +0700 Subject: [PATCH 015/757] Update README.md --- examples_book/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples_book/README.md b/examples_book/README.md index 6abc9a2..59f1399 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -1,4 +1,5 @@ -# [โค้ดตัวอย่างจากหนังสือทั้งหมด]([ https://www.se-ed.com/product/พัฒนาเว็บแอปพลิเคชั่นด้วย-JavaScript.aspx?no=9786160825394](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjE1Njg1NCI7fQ)) +# [โค้ดตัวอย่างจากหนังสือทั้งหมด]([https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjE1Njg1NCI7fQ) + ![cover_new.PNG](https://github.com/adminho/javascript/blob/master/images/cover_new.PNG) From c86d0ecbba6d6c6ff8fcb1fe23b1eab7215254b8 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:28:02 +0700 Subject: [PATCH 016/757] Update README.md --- examples_book/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/README.md b/examples_book/README.md index 59f1399..7e0b80c 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -1,6 +1,6 @@ # [โค้ดตัวอย่างจากหนังสือทั้งหมด]([https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjE1Njg1NCI7fQ) -![cover_new.PNG](https://github.com/adminho/javascript/blob/master/images/cover_new.PNG) +![cover_new.PNG](https://github.com/adminho/javascript/blob/master/images/cover_new.png) * [บทที่ 1](Chapter1.md) From cf6846f0771977543763302ce214004cfd7d4f51 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:28:25 +0700 Subject: [PATCH 017/757] Create Chapter13.md --- examples_book/Chapter13.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples_book/Chapter13.md diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples_book/Chapter13.md @@ -0,0 +1 @@ + From be432d987ec941222f52c4187be71aab2d90a6b1 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:28:41 +0700 Subject: [PATCH 018/757] Create Chapter14.md --- examples_book/Chapter14.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples_book/Chapter14.md diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples_book/Chapter14.md @@ -0,0 +1 @@ + From cba7e42bcb718a55b7de909d55659ee19437c490 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:28:57 +0700 Subject: [PATCH 019/757] Create Chapter15.md --- examples_book/Chapter15.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples_book/Chapter15.md diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples_book/Chapter15.md @@ -0,0 +1 @@ + From 35612196a5f803cf5b8daec6833b867278d8f4be Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:29:19 +0700 Subject: [PATCH 020/757] Create Chapter16.md --- examples_book/Chapter16.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples_book/Chapter16.md diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples_book/Chapter16.md @@ -0,0 +1 @@ + From 0c06440ad3f5242638b42e6bce137cce024f6c0a Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:29:36 +0700 Subject: [PATCH 021/757] Create Chapter17.md --- examples_book/Chapter17.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples_book/Chapter17.md diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples_book/Chapter17.md @@ -0,0 +1 @@ + From 2903585832e58edf001d29377d4aae9a3d41bdd0 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:29:52 +0700 Subject: [PATCH 022/757] Create Chapter18.md --- examples_book/Chapter18.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples_book/Chapter18.md diff --git a/examples_book/Chapter18.md b/examples_book/Chapter18.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples_book/Chapter18.md @@ -0,0 +1 @@ + From b5893514a9451ba71ff6f5344b9ad1ca8a75d5ca Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:30:08 +0700 Subject: [PATCH 023/757] Create Chapter19.md --- examples_book/Chapter19.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples_book/Chapter19.md diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples_book/Chapter19.md @@ -0,0 +1 @@ + From 0f7ac36f1a36c3f7deab743c132ff5d1bf84895f Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:30:26 +0700 Subject: [PATCH 024/757] Create Chapter20.md --- examples_book/Chapter20.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 examples_book/Chapter20.md diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples_book/Chapter20.md @@ -0,0 +1 @@ + From 265de91142e491efa309f14ff5cbcba7c99c7de2 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 17 May 2023 15:49:58 +0700 Subject: [PATCH 025/757] Update README.md --- examples_book/README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/examples_book/README.md b/examples_book/README.md index 7e0b80c..2f370d9 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -10,5 +10,18 @@ * [บทที่ 5](Chapter5.md) * [บทที่ 6](Chapter6.md) * [บทที่ 7](Chapter7.md) +* [บทที่ 8](Chapter9.md) +* [บทที่ 9](Chapter9.md) +* [บทที่ 10](Chapter10.md) +* [บทที่ 11](Chapter11.md) +* [บทที่ 12](Chapter12.md) +* [บทที่ 13](Chapter13.md) +* [บทที่ 14](Chapter14.md) +* [บทที่ 15](Chapter15.md) +* [บทที่ 16](Chapter16.md) +* [บทที่ 17](Chapter17.md) +* [บทที่ 18](Chapter18.md) +* [บทที่ 19](Chapter19.md) +* [บทที่ 20](Chapter20.md) From 23a3debca2857cd2faebc57ad5573b5cad120991 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 24 Jul 2023 13:12:33 +0700 Subject: [PATCH 026/757] add appendix_B --- examples_book/Appendix_B/README.md | 7 +++++++ examples_book/Appendix_B/ajax.mjs | 22 ++++++++++++++++++++++ examples_book/Appendix_B/hello.js | 2 ++ examples_book/Appendix_B/server.mjs | 9 +++++++++ 4 files changed, 40 insertions(+) create mode 100644 examples_book/Appendix_B/README.md create mode 100644 examples_book/Appendix_B/ajax.mjs create mode 100644 examples_book/Appendix_B/hello.js create mode 100644 examples_book/Appendix_B/server.mjs diff --git a/examples_book/Appendix_B/README.md b/examples_book/Appendix_B/README.md new file mode 100644 index 0000000..f17914a --- /dev/null +++ b/examples_book/Appendix_B/README.md @@ -0,0 +1,7 @@ +# ภาคผนวก ข + +* [ไฟล์ hello.js](hello.js) +* [ไฟล์ server.mjs](server.mjs) +* [ไฟล์ ajax.mjs](ajax.mjs) + + diff --git a/examples_book/Appendix_B/ajax.mjs b/examples_book/Appendix_B/ajax.mjs new file mode 100644 index 0000000..106770b --- /dev/null +++ b/examples_book/Appendix_B/ajax.mjs @@ -0,0 +1,22 @@ +import * as http from "http"; +import * as fs from "fs"; +import * as url from "url"; +/* ถ้านำเข้ามอดูลตามมาตรฐาน CommonJS ก็ให้ใช้ require() +var http = require("http"), + fs = require("fs"), + url = require("url"); */ +http.createServer( function(request, response) { + var parser = url.parse(request.url,true); + var path = parser.pathname; + var query = parser.query; + if( path=="/message" ) { + var echo = `{"echo" : "${query.msg}"}`; + //response.writeHead(200, {"Content-Type": "text/plain"}); + response.writeHead(200, { + "Content-Type": "text/html", + "Access-Control-Allow-Origin" : "*"}); + response.end(echo); + console.log(echo); + } +}).listen(8001,"127.0.0.1"); +console.log("Server running at http://127.0.0.1:8001/"); \ No newline at end of file diff --git a/examples_book/Appendix_B/hello.js b/examples_book/Appendix_B/hello.js new file mode 100644 index 0000000..2f56984 --- /dev/null +++ b/examples_book/Appendix_B/hello.js @@ -0,0 +1,2 @@ +let msg = "Hello, world!"; // เป็นการประกาศตัวแปรแบบ let ซึ่งเป็นไวยากรณ์ของ ES6 +console.log(msg); \ No newline at end of file diff --git a/examples_book/Appendix_B/server.mjs b/examples_book/Appendix_B/server.mjs new file mode 100644 index 0000000..6850331 --- /dev/null +++ b/examples_book/Appendix_B/server.mjs @@ -0,0 +1,9 @@ +import * as http from "http"; +// ถ้านำเข้ามอดูลตามมาตรฐาน CommonJS ก็ให้ใช้ require() +// var http = require("http"); +http.createServer(function (req, res) { + res.writeHead(200, {"Content-Type": "text/html"}); + res.write("

Hello, world!

"); + res.end(); +}).listen(8001, "127.0.0.1"); +console.log("Server running at http://127.0.0.1:8001/"); From 3243487abc5df38f2f3a6357888032b38b46579a Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 24 Jul 2023 18:54:55 +0700 Subject: [PATCH 027/757] update --- examples_book/{Chapter1.md => Chapter01.md} | 0 examples_book/{Chapter2.md => Chapter02.md} | 0 examples_book/{Chapter3.md => Chapter03.md} | 0 examples_book/{Chapter4.md => Chapter04.md} | 0 examples_book/{Chapter5.md => Chapter05.md} | 0 examples_book/{Chapter6.md => Chapter06.md} | 0 examples_book/{Chapter7.md => Chapter07.md} | 0 examples_book/{Chapter8.md => Chapter08.md} | 0 examples_book/{Chapter9.md => Chapter09.md} | 0 examples_book/Chapter13.md | 21 +++++++++++++++++++++ 10 files changed, 21 insertions(+) rename examples_book/{Chapter1.md => Chapter01.md} (100%) rename examples_book/{Chapter2.md => Chapter02.md} (100%) rename examples_book/{Chapter3.md => Chapter03.md} (100%) rename examples_book/{Chapter4.md => Chapter04.md} (100%) rename examples_book/{Chapter5.md => Chapter05.md} (100%) rename examples_book/{Chapter6.md => Chapter06.md} (100%) rename examples_book/{Chapter7.md => Chapter07.md} (100%) rename examples_book/{Chapter8.md => Chapter08.md} (100%) rename examples_book/{Chapter9.md => Chapter09.md} (100%) diff --git a/examples_book/Chapter1.md b/examples_book/Chapter01.md similarity index 100% rename from examples_book/Chapter1.md rename to examples_book/Chapter01.md diff --git a/examples_book/Chapter2.md b/examples_book/Chapter02.md similarity index 100% rename from examples_book/Chapter2.md rename to examples_book/Chapter02.md diff --git a/examples_book/Chapter3.md b/examples_book/Chapter03.md similarity index 100% rename from examples_book/Chapter3.md rename to examples_book/Chapter03.md diff --git a/examples_book/Chapter4.md b/examples_book/Chapter04.md similarity index 100% rename from examples_book/Chapter4.md rename to examples_book/Chapter04.md diff --git a/examples_book/Chapter5.md b/examples_book/Chapter05.md similarity index 100% rename from examples_book/Chapter5.md rename to examples_book/Chapter05.md diff --git a/examples_book/Chapter6.md b/examples_book/Chapter06.md similarity index 100% rename from examples_book/Chapter6.md rename to examples_book/Chapter06.md diff --git a/examples_book/Chapter7.md b/examples_book/Chapter07.md similarity index 100% rename from examples_book/Chapter7.md rename to examples_book/Chapter07.md diff --git a/examples_book/Chapter8.md b/examples_book/Chapter08.md similarity index 100% rename from examples_book/Chapter8.md rename to examples_book/Chapter08.md diff --git a/examples_book/Chapter9.md b/examples_book/Chapter09.md similarity index 100% rename from examples_book/Chapter9.md rename to examples_book/Chapter09.md diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 8b13789..2581dc5 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -1 +1,22 @@ +# บทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์ +## กำหนดค่าให้พร็อพเพอร์ตี้แบบย่อ + +```js +let color = "red"; +let size = 200; +let font = { + color: color, // คีย์กับข้อมูล ชื่อซ้ำกัน + size: size // คีย์กับข้อมูล ชื่อซ้ำกัน +}; +console.log(font.color); // "red" +console.log(font.size); // 200 +``` + +```js +let color = "red"; +let size = 200; +let font = { color, size}; // พร็อพเพอร์ตี้ของอ็อบเจ็กต์แบบย่อ +console.log(font.color); // "red" +console.log(font.size); // 200 +``` \ No newline at end of file From 15a76a3b10fc5bedb07a6b2515b750234184a714 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 24 Jul 2023 18:56:56 +0700 Subject: [PATCH 028/757] update --- examples_book/Chapter13.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 2581dc5..52d0e56 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -19,4 +19,23 @@ let size = 200; let font = { color, size}; // พร็อพเพอร์ตี้ของอ็อบเจ็กต์แบบย่อ console.log(font.color); // "red" console.log(font.size); // 200 +``` + +## การประกาศเมธอดแบบย่อ +```js +let obj = { + myFunction: function (param) { // ประกาศเมธอดเต็มรูปแบบ + console.log(param); + } +}; +obj.myFunction(200); // 200 +``` + +```js +let obj = { + myFunction(param){ // ประกาศเมธอดแบบย่อ + console.log(param); + } +} ; +obj.myFunction(200); // 200 ``` \ No newline at end of file From 57adbd567db25c97fe1c255460fab6163248eba5 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 24 Jul 2023 21:15:23 +0700 Subject: [PATCH 029/757] update --- examples_book/Chapter13.md | 17 +++++++++++++++++ examples_book/README.md | 1 + examples_book/json.php | 9 +++++++++ 3 files changed, 27 insertions(+) create mode 100644 examples_book/json.php diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 52d0e56..1ecf754 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -38,4 +38,21 @@ let obj = { } } ; obj.myFunction(200); // 200 +``` + +## ชื่อคีย์ซ้ำกัน + +```js +let font = { + color: "red", + color: "green", // เลือกใช้ตัวนี้ + myFunction() { + console.log("myFunction1"); + }, + myFunction() { // เลือกใช้ตัวนี้ + console.log("myFunction2"); + } +} ; +console.log(font.color); // "green" +font.myFunction(); // "myFunction2" ``` \ No newline at end of file diff --git a/examples_book/README.md b/examples_book/README.md index 2f370d9..7a9e079 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -22,6 +22,7 @@ * [บทที่ 17](Chapter17.md) * [บทที่ 18](Chapter18.md) * [บทที่ 19](Chapter19.md) +** [ไฟล์ json ประกอบเนื้อหา Fetch API](json.php) * [บทที่ 20](Chapter20.md) diff --git a/examples_book/json.php b/examples_book/json.php new file mode 100644 index 0000000..b3f4369 --- /dev/null +++ b/examples_book/json.php @@ -0,0 +1,9 @@ +name = "Somchai"; +$myObj->age = 30; +$myObj->city = "Bangkok"; + +$myJSON = json_encode($myObj); + +echo $myJSON; +?> \ No newline at end of file From a1dd18e971c6a3731672eb0beaf0df3134538b2b Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 24 Jul 2023 21:16:37 +0700 Subject: [PATCH 030/757] update --- examples_book/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/README.md b/examples_book/README.md index 7a9e079..2410500 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -22,7 +22,7 @@ * [บทที่ 17](Chapter17.md) * [บทที่ 18](Chapter18.md) * [บทที่ 19](Chapter19.md) -** [ไฟล์ json ประกอบเนื้อหา Fetch API](json.php) + ** [ไฟล์ json ประกอบเนื้อหา Fetch API](json.php) * [บทที่ 20](Chapter20.md) From 9df0808c57c85feb27be0d009ca3a4a2d9d37ad2 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 24 Jul 2023 21:17:19 +0700 Subject: [PATCH 031/757] update --- examples_book/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/README.md b/examples_book/README.md index 2410500..c49d6c9 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -22,7 +22,7 @@ * [บทที่ 17](Chapter17.md) * [บทที่ 18](Chapter18.md) * [บทที่ 19](Chapter19.md) - ** [ไฟล์ json ประกอบเนื้อหา Fetch API](json.php) + *[ไฟล์ json ประกอบเนื้อหา Fetch API](json.php) * [บทที่ 20](Chapter20.md) From a2e71b458f1c1ebe53a10be5c805d57a86c1a43b Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 24 Jul 2023 21:19:07 +0700 Subject: [PATCH 032/757] update --- examples_book/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/README.md b/examples_book/README.md index c49d6c9..3f5f6e9 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -22,7 +22,7 @@ * [บทที่ 17](Chapter17.md) * [บทที่ 18](Chapter18.md) * [บทที่ 19](Chapter19.md) - *[ไฟล์ json ประกอบเนื้อหา Fetch API](json.php) +*[ไฟล์ json ประกอบเนื้อหา Fetch API ของบทที่ 19](json.php) * [บทที่ 20](Chapter20.md) From bce1f88b1e6783adf1497654a1b827eb280bba9c Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 24 Jul 2023 21:20:05 +0700 Subject: [PATCH 033/757] update --- examples_book/README.md | 1 + images/chap01/quotes.png | Bin 12160 -> 14048 bytes 2 files changed, 1 insertion(+) diff --git a/examples_book/README.md b/examples_book/README.md index 3f5f6e9..37d8183 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -24,5 +24,6 @@ * [บทที่ 19](Chapter19.md) *[ไฟล์ json ประกอบเนื้อหา Fetch API ของบทที่ 19](json.php) * [บทที่ 20](Chapter20.md) +*[ภาคผนวก ข](Appendix_B) diff --git a/images/chap01/quotes.png b/images/chap01/quotes.png index 1d6ec0820af26e3bd83a9c53c8e252ebfca4134c..6d991aaeb4590b85665112ea94b10931143a96f4 100644 GIT binary patch literal 14048 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�S)(rM^<@qnqP|E0?C=-UTw>KpG_-ehhCek&( zme$Kqf^4;KG|InMmU}xXzLzG0DE;W$k)}b{PZ{v!uejVb4S*Km@LdKeTlHmfWi{cy z^w1#Eafv|sR!@iBk)Nfo5II9}dA#2aaZ?mVYb#@mCSzyWee%S z9ZSbTJ|M+#SZ{53`b7DNWka)wVoF%+EFr}YeD2#hv_cwoScJR(DlO!T<$jRRPC5~$ z1c_ax*T~gNID3|p22FkTmLhZ}HFz(i_v4T~$vWnm z0I~NRiHxV1N&!q$YJL6&&;&j}1~aCy-uCh!&j%B4`Y66%5jR--g;~-P^B}bm(ItY5 z8R;lbvzsO&86Nbb+90cfLJ`qM=)D@a0Wc%j(?nFRIcEEemv3gkLFmCq|J;e9<>4 z++a>W#k3R>fe_h-+KY-l@oCVB({-meGGOdTZBrix-}0Q5y(NGBn=kBXiL%1MZ-2v& zmj(K@0FcL^#A`O3aqYEPkLpZu>%G1YT|8lWRsteewhw4*^d$*XyD+|9LI&d;HrN;$ zKo0XEN#U!=hopXH7AD|;IE9y?)P)b@iOfXD|x;V3^)QNH}E&+V~uiZ eU+L&8`G+6*q$}U3^q~dvFtU=064heHp#KN(^?XGD From 53f533a17e6b6fc5a45c7af9ef6de16575dad100 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 24 Jul 2023 21:21:36 +0700 Subject: [PATCH 034/757] Update README.md update --- examples_book/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/README.md b/examples_book/README.md index 37d8183..2c6a815 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -22,7 +22,7 @@ * [บทที่ 17](Chapter17.md) * [บทที่ 18](Chapter18.md) * [บทที่ 19](Chapter19.md) -*[ไฟล์ json ประกอบเนื้อหา Fetch API ของบทที่ 19](json.php) + * [ไฟล์ json ประกอบเนื้อหา Fetch API ของบทที่ 19](json.php) * [บทที่ 20](Chapter20.md) *[ภาคผนวก ข](Appendix_B) From 9468f67e81984887cf6ce743eeaca2387e121924 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 24 Jul 2023 21:21:58 +0700 Subject: [PATCH 035/757] Update README.md --- examples_book/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/README.md b/examples_book/README.md index 2c6a815..bd8b5d9 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -22,7 +22,7 @@ * [บทที่ 17](Chapter17.md) * [บทที่ 18](Chapter18.md) * [บทที่ 19](Chapter19.md) - * [ไฟล์ json ประกอบเนื้อหา Fetch API ของบทที่ 19](json.php) + * [ไฟล์ json ประกอบเนื้อหา Fetch API](json.php) * [บทที่ 20](Chapter20.md) *[ภาคผนวก ข](Appendix_B) From 7e97bc55291628e824741e01496dc41a8563d66a Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 24 Jul 2023 21:23:02 +0700 Subject: [PATCH 036/757] update --- examples_book/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/README.md b/examples_book/README.md index bd8b5d9..28b4595 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -24,6 +24,6 @@ * [บทที่ 19](Chapter19.md) * [ไฟล์ json ประกอบเนื้อหา Fetch API](json.php) * [บทที่ 20](Chapter20.md) -*[ภาคผนวก ข](Appendix_B) +* [ภาคผนวก ข](Appendix_B) From 3a682b649610fb92ddb34fb50c65626908936567 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 24 Jul 2023 21:23:43 +0700 Subject: [PATCH 037/757] update --- examples_book/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/README.md b/examples_book/README.md index 28b4595..0b2156c 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -22,7 +22,7 @@ * [บทที่ 17](Chapter17.md) * [บทที่ 18](Chapter18.md) * [บทที่ 19](Chapter19.md) - * [ไฟล์ json ประกอบเนื้อหา Fetch API](json.php) + * [ไฟล์ json.php ประกอบเนื้อหา Fetch API](json.php) * [บทที่ 20](Chapter20.md) * [ภาคผนวก ข](Appendix_B) From 023b15d47d309b52770b2fdf83c92a90adaf39a6 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 25 Jul 2023 05:36:05 +0700 Subject: [PATCH 038/757] update --- examples_book/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/examples_book/README.md b/examples_book/README.md index 0b2156c..b67c7ed 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -2,6 +2,7 @@ ![cover_new.PNG](https://github.com/adminho/javascript/blob/master/images/cover_new.png) +(กำลังอัปเดตโค้ดอยู่นะครับ ยังไม่เรียบร้อยดี) * [บทที่ 1](Chapter1.md) * [บทที่ 2](Chapter2.md) From 603f70cf8f5862e396bb63a868fb35b9d16da09e Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 08:53:10 +0700 Subject: [PATCH 039/757] update --- examples_book/Chapter13.md | 686 ++++++++++++++++++++++++++++++++++++- 1 file changed, 685 insertions(+), 1 deletion(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 1ecf754..d421f66 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -1,5 +1,6 @@ # บทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์ - +```js +``` ## กำหนดค่าให้พร็อพเพอร์ตี้แบบย่อ ```js @@ -55,4 +56,687 @@ let font = { } ; console.log(font.color); // "green" font.myFunction(); // "myFunction2" +``` + +## ประกาศชื่อคีย์แบบวงเล็บเหลี่ยม + +```js +let name = "name" +let student = { + ["First " + name] : "Somchai", // ประกาศชื่อคีย์แบบวงเล็บเหลี่ยม + [ `Last ${name}`] : "Jaidee" // ประกาศชื่อคีย์แบบวงเล็บเหลี่ยม (ใช้เทมเพลตสตริง) +}; +console.log(student["First name"]); // "Somchai" +let lastName = `Last ${name}`; +console.log(student[lastName]); // "Jaidee" +``` + +```js +let key1 = {a:1}; +let key2 = {b:2}; +let obj = { + [key1] : 100, + [key2]: 200 // ใช้คีย์ตัวนี้ +} +console.log(obj[key1], obj[key2]); // 200 200 +console.log(obj[key1] === obj[key2]); // true +``` + + +```js +let name = "myFunction"; +let obj = { + [name]: function(param) { // ประกาศเมธอดโดยใช้วงเล็บเหลี่ยม + console.log(param); + } +}; +obj[name](200); // 200 +obj.myFunction(200); // 200 +``` + +```js +let name = "myFunction"; +let obj = { + [name](param) { // ประกาศเมธอดแบบย่อ + console.log(param); + } +}; +obj[name](200); // 200 +obj.myFunction(200); // 200 +``` + +## เมธอด Object.assign() + +```js +let obj = { x: 1, y: 2 }; +let cloned1 = Object.assign({}, obj); +let cloned2 = Object.assign({}, obj); +//สร้างอ็อบเจ็กต์ใหม่ได้เรื่อย ๆ ที่เหมือนกับอ็อบเจ็กต์ต้นแบบ obj ทุกประการ +console.log(cloned1); // { x: 1, y: 2 } +console.log(cloned2); // { x: 1, y: 2 } +console.log(cloned1 === cloned2); // false +``` + +```js +let obj1 = { x: 1 }; +let obj2 = { y: 2 }; +let obj3 = { z: 3 }; +let merged = Object.assign(obj1, obj2, obj3); +console.log(merged); // { x: 1, y : 2, z: 3 } +console.log(obj1); // { x: 1, y : 2, z: 3 } +console.log(merged === obj1); // true +console.log(merged === obj2); // false +console.log(merged === obj3); // false +``` + +```js +let person1 = {}; +let person2 = { + firstName: "Somchai", + lastName: "Jaidee" +}; +let person3 = { + lastName: "Dekdee" +}; +let person4 = { + lastName: "Rakdee" // ถ้าชื่อคีย์มันซ้ำกัน จะเลือกก็อปปี้จากอ็อบเจ็กต์ตัวล่าสุดเท่านั้น +}; +Object.assign(person1, person2, person3, person4); +console.log(person1.firstName); // "Somchai" +console.log(person1.lastName); // "Rakdee" +``` + +```js +let sym = Symbol("example"); +let name = "to do"; +let obj = { + myFunction(param) { + console.log(param); + }, + [ `${name}`]( ) { + console.log("to do something"); + }, + x : null, + y : undefined, + [sym] : 100 +}; +let cloned = Object.assign({}, obj); +cloned.myFunction(200); // 200 +cloned[`${name}`](); // "to do something" +console.log(cloned.x); // null +console.log(cloned.y); // undefined +console.log(cloned[sym]); // 100 +``` + +```js +let person = { + set firstName(param) { + this.fname = param; + }, + get firstName() { + return this.fname; + } +}; +person.firstName = "Somchai"; +let target = Object.assign({}, person); +let descriptor = Object.getOwnPropertyDescriptor(target, "firstName"); +console.log(descriptor.value); // "Somchai" +console.log(typeof descriptor.set); // undefined +console.log(typeof descriptor.get); // undefined +console.log(target.firstName); // "Somchai" +``` + +```js +let font = {} ; +Object.defineProperties (font, { + color: { + value : "red", + writable: false // ไม่สามารถก็อปปี้ได้ + }, + size: { + value : 200, + enumerable: false // ไม่สามารถก็อปปี้ได้ + } +}); +let obj = Object.assign({}, font); +console.log(typeof obj.color); // undefined +console.log(typeof obj.size); // undefined +``` + +```js +let car = { + drive() { + console.log("Drive a car") ; + } +}; +let taxi = Object.create(car); // กำหนดให้ taxi มีโปรโตไทป์เป็น car +taxi.drive(); // "Drive a car" +let driver = Object.assign({}, taxi); // driver โคลนนิ่งมาจาก taxi +console.log(typeof driver.drive); // undefined +``` + +## การเปลี่ยนโปรโตไทป์ +```js +let car = { + drive() { + console.log("Drive a car") ; + } +}; +let taxi = { + drive(){ + console.log("Drive a taxi") ; + } +}; +let driver = Object.create(car); // บรรทัด a -- โปรโตไทป์คือ car +console.log( Object.getPrototypeOf(driver) === car); // true +driver.drive(); // "Drive a car" +Object.setPrototypeOf(driver, taxi); // บรรทัด b -- เปลี่ยนโปรโตไทป์เป็น taxi +console.log( Object.getPrototypeOf(driver) === taxi); // true +driver.drive(); // "Drive a taxi" +``` + +```js +let car = { + drive() { + console.log("Drive a car") ; + } +}; +let taxi = { + drive() { + console.log("Drive a taxi") ; + } +}; +let driver ={ + __proto__ : car // โปรโตไทป์คือ car +} +console.log(driver.__proto__ === car); // true +driver.drive(); // "Drive a car" +driver.__proto__ = taxi; // เปลี่ยนโปรโตไทป์เป็น taxi +console.log(driver.__proto__ === taxi); // true +driver.drive(); // "Drive a taxi" +``` + +```js +let car = { + drive() { + console.log("Drive a car") ; + } +}; +let driver ={ + __proto__ : car, + __proto__ : car // SyntaxError +} +``` + +```js +let car = { + drive() { + console.log("Drive a car") ; + } +}; +let driver = { + ["__proto__"]: car +} +console.log(typeof driver.drive); // undefined +console.log(driver["__proto__"] === car); // true +``` + +##การใช้ supper +```js +let car = { + speed: 100, + drive() { + return "Car speed: "; + } +}; +let driver = { + __proto__: car, + drive() { + return "Car speed: " + this.speed ; + } +}; +console.log(driver.speed); // 100 +console.log(driver.drive()); // "Car speed: 100" +``` + +```js +let car = { + speed: 100, + drive() { + return "Car speed: " ; + } +}; +let driver = { + __proto__: car, + drive() { + return super.drive() + super.speed ; // เรียกใช้งาน super +// อาจเรียกวิธีนี้แทนก็ได้ +// 1) return Object.getPrototypeOf(this).drive.call(this) + this.__proto__.speed; +// 2) return this.__proto__. drive.call(this) + this.__proto__.speed; + } // สิ้นสุดการประกาศ drive() +}; +console.log(driver.speed); // 100 +console.log(driver.drive()); // "Car speed: 100" +``` + +```js +let car = { + ["car speed"]: 100, + ["drive a car"] ( ) { + return "Car speed: " ; + } +}; +let driver = { + __proto__: car, + speed: 900, + drive() { + return super["drive a car"]() + super["car speed"] ; // เรียกใช้งาน super + } +}; +console.log(driver.speed); // 900 +console.log(driver.drive()); // "Car speed: 100" +``` + +```js +let car = { + drive() { + return "is driving"; + } +}; +let taxi = { + __proto__ : car, // โปรโตไทป์คือ car + drive() { + return super.drive() + " a taxi"; + } +}; +let driver ={ + __proto__ : taxi, // โปรโตไทป์คือ taxi + drive() { + return "Someone " + super.drive(); + } +} +console.log(car.drive()); // "is driving" +console.log(taxi.drive()); // "is driving a taxi" +console.log(driver.drive()); // "Someone is driving a taxi" +``` + +```js +let car = { + drive() { + return "Driving"; + } +}; +let taxi = { + __proto__ : car, // โปรโตไทป์คือ car + drive() { + return super.drive() + " a taxi"; // บรรทัด a + } +}; +let driver = { + __proto__ : taxi // โปรโตไทป์คือ taxi +} +console.log(car.drive()); // "Driving" +console.log(taxi.drive()); // "Driving a taxi" +console.log(driver.drive()); // "Driving a taxi" +``` + +```js +let car = { + drive() { + return "Driving"; + } +}; +let taxi = { + __proto__ : car, // โปรโตไทป์คือ car + drive() { + return Object.getPrototypeOf(this).drive.call(this) + " a taxi"; + } +}; +let driver ={ + __proto__ : taxi // โปรโตไทป์คือ taxi +} +console.log(car.drive()); // "Driving" +console.log(taxi.drive()); // "Driving a taxi" +console.log(driver.drive()); // RangeError: Maximum call stack size exceeded +``` + +### เบื้องหลังการใช้งาน super + +```js +function drive() { + console.log("Drive a taxi"); +} +``` + +```js +let car = { + drive() { + console.log("Drive a car"); + } +}; +``` + +```js +let car = { + drive() { + console.log("Drive a car. It has speed:", this.speed ) ; + } +}; +let driver = { + __proto__: car, + speed: 100, + drive() { // บรรทัด a + super.drive(); // บรรทัด b + // จะเหมือน Object.getPrototypeOf(driver).drive.call(this); + } // สิ้นสุดการประกาศ drive() +}; +driver.drive(); // "Drive a car. It has speed: 100" +``` + +```js +function startCar() { + console.log( super.drive()); // เกิด SytnaxError +} +``` + +```js +let car = { + drive() { + console.log("Drive a car. It has speed:", this.speed ) ; + } +}; +let driver = { + __proto__: car, + speed: 100, + drive() { + console.log("Drive a taxi") ; + } +}; +function startCar() { + return super.drive() + " :100"; // บรรทัด a - เกิด SytnaxError +} +driver.drive = startCar; // กำหนดค่าทับพร็อพเพอร์ตี้ driver.drive + driver.drive(); // เกิด error +``` + + +```js +let car = { + drive() { + console.log("Drive a car. It has speed:", this.speed ) ; + } +}; +let driver = { + __proto__: car, + speed: 100, + drive: function() { // บรรทัด a -- ไม่ได้ประกาศเมธอดแบบย่อ + super.drive(); + } // สิ้นสุดการประกาศ drive() +}; +driver.drive(); // SyntaxError +``` + +## เมธอด Object.is() +```js +console.log(NaN === NaN); // false +console.log(-0 === +0); // true +``` + +```js +// เปรียบเทียบค่า NaN +console.log(NaN === NaN); // false +console.log(NaN === 0/0); // false +console.log(Object.is(NaN, NaN)); // true +console.log(Object.is(NaN, 0/0)); // true +// เปรียบเทียบเลข 0 +console.log(+0 === -0); // true +console.log(Object.is(+0, -0)); // false +// เปรียบเทียบตัวเลข +console.log(10 === 10); // true +console.log(10 === "10"); // false +console.log(Object.is(10, 10)); // true +console.log(Object.is(10, "10")); // false +// เปรียบเทียบอ็อบเจ็กต์ +console.log([] === []); // false +console.log({} === {}); // false +console.log(Object.is([], [])); // false +console.log(Object.is({}, {})); // false +var obj = { x: 1, y: 2 }; +console.log(obj === obj); // true +console.log(Object.is(obj, obj)); // true +// เปรียบเทียบค่า undefinded และ null +console.log(undefined === undefined); // true +console.log(null === null); // true +console.log(Object.is(undefined, undefined)); // true +console.log(Object.is(null, null)); // true +// เปรียบเทียบสตริง +console.log("Hello" === "Hello"); // true +console.log(Object.is("Hello", "Hello")); // true +// เปรียบเทียบบูลีน +console.log("" === false); // false +console.log(0 === false); // false +console.log(0 === ""); // false +console.log(false === false); // true +console.log(Object.is("", false)); // false +console.log(Object.is(0, false)); // false +console.log(Object.is(0, "")); // false +console.log(Object.is(false, false)); // true +``` +## เมธอด Object.values() + +```js +let obj = { foo: 1, bar: 2 }; +let array = Object.values(obj); +console.log(array); // [ 1, 2 ] +``` + +```js +let foo = Symbol("foo"); +let obj = { + [foo]: 1, + bar: 2, + }; +let array = Object.values(obj); +console.log(array); // [ 2 ] +``` + +```js +let obj = { foo: 1, bar: 2 }; +for (let v of Object.values(obj)) { // สกัดส่วนข้อมูลจากอ็อบเจ็กต์ obj ออกมา + console.log(v); +} +/* แสดงผลลัพธ์ +1 +2 */ +``` + +## เมธอด Object.entries() + +```js +let obj = { foo: 1, bar: 2 }; +let array = Object.entries(obj); +console.log(array); // [ [ ‘foo’, 1 ], [ ‘bar’, 2 ] ] +``` + +```js +let foo = Symbol("foo"); +let obj = { + [foo]: 1, + bar: 2, + }; +let array = Object.entries(obj); +console.log(array); // [ [ ‘bar’, 2 ] ] +``` + +```js +let obj = { foo: 1, bar: 2 }; +for (let [k,v] of Object.entries(obj)) { // สกัดคีย์กับข้อมูลจากอ็อบเจ็กต์ obj ออกมา + console.log(`${k}: ${v}`); +} +/* แสดงผลลัพธ์ +foo: 1 +bar: 2 */ +``` + +```js +let obj = { foo: 1, bar: 2 }; +let map = new Map(Object.entries(obj)); +console.log(map); // Map(2) { ‘foo’ => 1, ‘bar’ => 2 } +``` + +## เมธอด Object.getOwnPropertyDescriptors() +```js +let obj = {"foo": 100, "bar": 200 }; +console.log( Object.getOwnPropertyDescriptor(obj,"foo")); // รีเทิร์น descriptor +// { value: 100, writable: true, enumerable: true, configurable: true } +console.log( Object.getOwnPropertyDescriptor(obj,"bar")); // รีเทิร์น descriptor +// { value: 200, writable: true, enumerable: true, configurable: true } +``` + +```js +let obj = { + foo: 1, + get bar() { return 2 }, + [Symbol("zoo")]: 3 +}; +console.log(Object.getOwnPropertyDescriptors(obj)); +``` + +## เมธอด Object.fromEntries() + +```js +let array = [["name", "somchai"], ["age", 65]]; +let obj = Object.fromEntries(array); +console.log(obj); // { name: ‘somchai’, age: 65 } +``` + +```js +let map = new Map([["name", "somchai"], ["age", 65]]); // สร้างแม็พขึ้นมาก่อน +console.log(map); // Map(2) { ‘name’ => ‘somchai’, ‘age’ => 65 } +let obj = Object.fromEntries(map) +console.log(obj); // { name: ‘somchai’, age: 65 } +``` + +## เมธอด Object.hasOwn() +```js +let foo = { + fooProp: 100, +}; +let bar = { + __proto__: foo, + barProp: 200, +}; + +console.log("fooProp" in bar); // true + +console.log( Object.hasOwn(foo, "fooProp") ); // true -- foo เป็นเจ้าของ "fooProp" +console.log( Object.hasOwn(bar, "fooProp") ); // false -- bar ไม่ใช่เจ้าของ "fooProp" + +console.log( foo.hasOwnProperty("fooProp") ); // true -- foo เป็นเจ้าของ "fooProp" +console.log( bar.hasOwnProperty("fooProp") ); // false -- bar ไม่ใช่เจ้าของ "fooProp" +``` + +## การกระจายพร็อพเพอร์ตี้ไปให้อีกอ็อบเจ็กต์ +```js +let obj1 = {a: "foo", b: "bar"}; +let obj2 = {...obj1 }; // ใช้โอเปอเรเตอร์สเปรด ประกาศสมาชิก +console.log(obj2) // { a: ‘foo’, b: ‘bar’ } +// แก้ไขอ็อบเจ็กต์ obj1 ก็ไม่กระทบต่อ obj2 +obj1.a = "zoo"; +console.log(obj1); // { a: ‘zoo’, b: ‘bar’ } +console.log(obj2); // { a: ‘foo’, b: ‘bar’ } +``` + +```js +let obj1 = {a: "foo", b: "bar"}; +let obj2 = {...obj1, c: "zoo"}; +console.log(obj2) // { a: ‘foo’, b: ‘bar’, c: ‘zoo’ } +``` + +```js +let obj1 = {a:"foo", b:"bar"}; +let obj2 = {x:"zoo", y:"car"}; +let obj3 = {...obj1, d:"car", ...obj2}; +console.log(obj3) // { a: ‘foo’, b: ‘bar’, d: ‘car’, x: ‘zoo’, y: ‘car’ } +``` + +```js +let obj1 = {a:"foo", b:"bar"}; +let obj2 = {a:"zoo", ...obj1}; +console.log(obj2) // { a: ‘foo’, b: ‘bar’ } +let obj3 = {...obj1, a:"zoo"}; +console.log(obj3) // { a: ‘zoo’, b: ‘bar’ } +``` + +```js +console.log( {...undefined}); // {} +console.log( {...null} ); // {} +console.log( {...123} ); // {} +console.log( {..."abc"} ); // { ‘0’: ‘a’, ‘1’: ‘b’, ‘2’: ‘c’ } +console.log( {...["foo", "bar"]}); // { ‘0’: ‘foo’, ‘1’: ‘bar’ +``` + +## Optional Chaining +```js +let data = { + parent : { + child: { + name: { + firstName: "สมชาย", + lastName : "ใจดี" + } + } + } +}; +console.log(data.parent.child.name.firstName); // "สมชาย" +console.log(data.parent.child.name.surname); // undefined +console.log(data.parent.child.NAME.firstName); // บรรทัด a -- เกิด error + +console.log(data.parent.child.NAME?.firstName); // undefined +console.log(data.parent.child.name?.firstName); // "สมชาย" + +console.log(data.parent.child.NAME?.["firstName"]); // undefined +console.log(data.parent.child.name?.["firstName"]); // "สมชาย" + +console.log(data.parent.child.name.surname?); // วาง ? ไว้ท้ายสุด เกิด error ทำไม่ได้ +``` + +```js +function foo (x, y) { + return x*y; +} +let result1 = foo?.(2, 3); // - บรรทัด a +console.log(result1); // 6 +``` + +```js +let bar; //undefined +let result2 = bar?.(2, 3); +console.log(result2); // undefined +``` + +```js +let zoo = null; +let result3 = zoo?.(2, 3); +console.log(result3); // undefined +``` + +## globalThis +```js +function findGlobal () { + if (typeof global !== "undefined") { + return global; + } + if (typeof window !== "undefined") { + return window + }; + if (typeof self !== "undefined") { + return self + }; +}; +console.log(findGlobal()); +``` + +```js +console.log(globalThis); ``` \ No newline at end of file From 5d135f5c1d784079116041afb9879c410ef2e763 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 09:11:21 +0700 Subject: [PATCH 040/757] update --- examples_book/Chapter13.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index d421f66..e719619 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -34,7 +34,7 @@ obj.myFunction(200); // 200 ```js let obj = { - myFunction(param){ // ประกาศเมธอดแบบย่อ + myFunction(param) { // ประกาศเมธอดแบบย่อ console.log(param); } } ; @@ -223,7 +223,7 @@ let car = { } }; let taxi = { - drive(){ + drive() { console.log("Drive a taxi") ; } }; @@ -235,6 +235,8 @@ console.log( Object.getPrototypeOf(driver) === taxi); // true driver.drive(); // "Drive a taxi" ``` +## __proto__ + ```js let car = { drive() { @@ -281,7 +283,8 @@ console.log(typeof driver.drive); // undefined console.log(driver["__proto__"] === car); // true ``` -##การใช้ supper +## การใช้ supper + ```js let car = { speed: 100, From 04dfdb187e89118ece973597302d735dea17fead Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 09:35:21 +0700 Subject: [PATCH 041/757] update --- examples_book/Chapter13.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index e719619..6a0519c 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -235,7 +235,7 @@ console.log( Object.getPrototypeOf(driver) === taxi); // true driver.drive(); // "Drive a taxi" ``` -## __proto__ +## '__proto__' ```js let car = { From 5d7ef4f5528c6c7186b1e7f4debf856342d6b62c Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 10:23:33 +0700 Subject: [PATCH 042/757] update --- examples_book/Chapter11.md | 221 +++++++++++++++++++++++++++++++++++++ examples_book/Chapter13.md | 4 +- 2 files changed, 223 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter11.md b/examples_book/Chapter11.md index 8b13789..3dd5126 100644 --- a/examples_book/Chapter11.md +++ b/examples_book/Chapter11.md @@ -1 +1,222 @@ +# บทที่ 11 เทมเพลตสตริง +```js + +``` + +## เทมเพลตสตริงคืออะไร + +```js +let msg = `JavaScript`; +console.log(msg); // "JavaScript" +console.log(msg.length); // 10 +console.log(typeof msg); // "string" +``` + +```js +let msg = `\`One\` "Two" ‘Three’`; +console.log(msg); // แสดงคำว่า `One` "Two" ‘Three’ +``` + +### เขียนสตริงหลายบรรทัด + +```js +let div = `
+

Hello world

+
`; +console.log(div); +/* แสดงผลลัพธ์เป็น +
+

Hello world

+
+*/ +``` + +```js +let div = "
\n\t

Hello world

\n
"; +console.log(div); +/* แสดงผลลัพธ์เป็น +
+

Hello world

+
+*/ +``` + +```js +let div = "
\n" + +"

Hello world

\n" + +"
"; +console.log(div); +/* แสดงผลลัพธ์เป็น +
+

Hello world

+
+*/ +``` + +```js +let div = ["
", "\t

Hello world

", "
"].join("\n"); +console.log(div); +/* แสดงผลลัพธ์เป็น +
+

Hello world

+
+*/ +``` + +```js +let div = "
\ +

Hello world

\ +
"; +console.log(div); +// แสดงผลลัพธ์เป็น +//

Hello world

+``` + +```js +let msg = `Hello\nworld`; +console.log(msg); +/* แสดงผลลัพธ์เป็น +Hello +world +*/ +``` + +### คอมเมนต์ในเทมเพลตสตริง + +```js +let msg = `First line // This is not a comment +/* +This is not a comment +*/ +Last line`; +console.log(msg); +``` + +### ความยาวของเทมเพลตสตริง + +```js +let msg = ` +JavaScript + String`; +console.log(msg.length); // 20 +console.log(msg.trim().length); // 19 + +``` + +## นิพจน์ในเทมเพลตสตริง + +```js +let name = "Somchai"; +let msg = `My name is ${name}`; +console.log(msg) // "My name is Somchai" +``` + +```js +let a = 5, b = 10, c = 100; +console.log("Price $" + ((a*b).toFixed(2)) + ", not " + (c + a) ); +// แสดงผลลัพธ์เป็น +// "Price $50.00, not 105" +``` + +```js +let a = 5, b = 10, c = 100; +console.log(`Price $${(a*b).toFixed(2)}, not ${c + a}` ); +// แสดงผลลัพธ์เป็น +// "Price $50.00, not 105" +``` + +```js +function myFunction() { + let name = "Somchai"; +} +console.log(`My name is ${name}`); +// อาจเกิด ReferenceError หรือไม่มีค่า name (ขึ้นอยู่กับจาวาสคริปต์เอนจิน) +``` + +## นิพจน์ในเทมเพลตสตริง + +```js +let n = 1, a = 3, b = 6; +console.log(divTag`${n}) Hello world : ${a * b} items`); // บรรทัด 2 +``` + +```js +function divTag(strings, ...values) { + //console.log(strings[0]); // "" + //console.log(strings[1]); // ") Hello world world : " + //console.log(strings[2]); // " items" + //console.log(values[0]); // 1 (เป็นค่าของนิพจน์ ${n} ) + //console.log(values[1]); // 18 (เป็นค่าของนิพจน์ ${a * b} ) + + let result = ""; + for (let i = 0; i < values.length; i++) { + result += strings [i]; + result += values [i]; + } + if(values.length < strings.length){ + result += strings[values.length]; // ต่อท้ายสตริงด้วยข้อความที่เหลือคือ " items" + } +// เมื่อโปรแกรมทำงานถึงตรงนี้ ค่าของตัวแปร result ก็คือสตริงตัวเดิมที่ถูกส่งเข้ามา +// ส่วนค่าที่รีเทิร์นออกมา จะเป็นสตริงตัวใหม่ที่มี
กับ
ครอบเปิดและปิดท้ายสตริงตัวเดิม + return `
${result}
`; +} +let n = 1, a = 3, b = 6; +console.log(divTag`${n}) Hello world : ${a * b} items`); +// แสดงผลลัพธ์เป็น +// "
1) Hello world : 18 items
" +``` + +### String.raw +```js +console.log(`One\tTwo\nThree`); +/* เมื่อตัวอักษรพิเศษถูกประมวลผล ก็จะแสดงผลลัพธ์เป็น +"One Two +Three" +*/ +``` + +```js +console.log(String.raw `One\tTwo\nThree`); +// แสดงผลลัพธ์เป็น +// "One\tTwo\nThree" +``` + +```js +function rawTag(strings, ...values) { + let result = ""; + for (let i = 0; i < strings.length; i++) { + result += strings.raw[i]; // บรรทัด a + } + return result; +} +console.log(rawTag`One\tTwo\nThree`); +// แสดงผลลัพธ์เป็น +// "One\tTwo\nThree" +``` + +```js +console.log(`\u{004B}`); // ’K’ +console.log(`\u004B`); // ’K’ +console.log(`\x4B`); // ’K’ +``` + +```js +console.log("C:\unit\x-ray\12"); // เกิด SyntaxError +console.log(`C:\unit\x-ray\12`); // เกิด SyntaxError +``` + +```js +function windowPath(str) { + console.log(str[0]) // ถ้าใช้ \ ผิด ก็จะได้สตริงเป็น undefined + } +windowPath `C:\unit\x-ray\12`; // undefined +``` + +```js +function windowPath(str) { + return str.raw[0]; + } +let str = windowPath `C:\unit\x-ray\12`; +console.log(str) // C:\unit\x-ray\12 +``` \ No newline at end of file diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 6a0519c..0b094a0 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -450,7 +450,7 @@ let car = { }; let driver = { __proto__: car, - speed: 100, + speed: 100, drive() { console.log("Drive a taxi") ; } @@ -459,7 +459,7 @@ function startCar() { return super.drive() + " :100"; // บรรทัด a - เกิด SytnaxError } driver.drive = startCar; // กำหนดค่าทับพร็อพเพอร์ตี้ driver.drive - driver.drive(); // เกิด error +driver.drive(); // เกิด error ``` From 9b25a1db87c239af0fa9346b9efd239736e919e0 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 10:25:02 +0700 Subject: [PATCH 043/757] update --- examples_book/Chapter11.md | 4 ---- examples_book/Chapter13.md | 3 +-- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/examples_book/Chapter11.md b/examples_book/Chapter11.md index 3dd5126..006823c 100644 --- a/examples_book/Chapter11.md +++ b/examples_book/Chapter11.md @@ -1,9 +1,5 @@ # บทที่ 11 เทมเพลตสตริง -```js - -``` - ## เทมเพลตสตริงคืออะไร ```js diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 0b094a0..7a072d0 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -1,6 +1,5 @@ # บทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์ -```js -``` + ## กำหนดค่าให้พร็อพเพอร์ตี้แบบย่อ ```js From e71402b8ad121e12b94ae714a3e498d2271b5b34 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 11:04:23 +0700 Subject: [PATCH 044/757] update --- examples_book/Chapter11.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter11.md b/examples_book/Chapter11.md index 006823c..de42d90 100644 --- a/examples_book/Chapter11.md +++ b/examples_book/Chapter11.md @@ -130,7 +130,7 @@ console.log(`My name is ${name}`); // อาจเกิด ReferenceError หรือไม่มีค่า name (ขึ้นอยู่กับจาวาสคริปต์เอนจิน) ``` -## นิพจน์ในเทมเพลตสตริง +## การติดแท็ก ```js let n = 1, a = 3, b = 6; From ef9f9091f3d409afd72ce822ddf87b1dde25a6fb Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 11:57:26 +0700 Subject: [PATCH 045/757] update --- examples_book/Chapter05.md | 506 ++++++++++++++++++++----------------- 1 file changed, 281 insertions(+), 225 deletions(-) diff --git a/examples_book/Chapter05.md b/examples_book/Chapter05.md index 239655f..7e6138c 100644 --- a/examples_book/Chapter05.md +++ b/examples_book/Chapter05.md @@ -1,297 +1,353 @@ -# บทที่ 5 ฟีเจอร์ใหม่ของตัวเลข สตริง และ regex +# บทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น -## การแปลงสตริงเป็นตัวเลข -```js -console.log(Number.parseInt("15")); // 15 -console.log(Number.parseFloat("123.5")); // 123.5 -console.log(Number.parseInt("abc")); // NaN (แปลงเป็นเลขจำนวนเต็มไม่ได้) -console.log(Number.parseFloat("abc")); // NaN (แปลงเป็นเลขทศนิยมไม่ได้) -``` +## บล็อก ```js -console.log(parseInt("15")); // 15 -console.log(parseFloat("123.5")); // 123.5 -console.log(typeof window.parseInt); // "function" (บนเว็บบราวเซอร์) -console.log(typeof window.parseFloat); // "function" (บนเว็บบราวเซอร์) -//console.log(typeof global.parseInt); // "function" (บน Node.js) -//console.log(typeof global.parseFloat); // "function" (บน Node.js) +{ + var a = 2; // ประโยคคำสั่ง 1 + a++; // ประโยคคำสั่ง 2 + console.log(a); // ประโยคคำสั่ง 3 +} ``` -## เลขฐาน 2 ฐาน 8 และฐาน 16 ```js -console.log(Number("100")); // 100 -console.log(Number("0b111")); // 7 -console.log(Number("0o45")); // 37 -console.log(Number("0x17")); // 23 -// ใช้ Number.parseInt() -console.log(Number.parseInt("100")); // 100 -console.log(Number.parseInt("0b111")); // 0 -console.log(Number.parseInt("0o45")); // 0 -console.log(Number.parseInt("0x17")); // 23 +if (true) { + var a = 2; // ประโยคคำสั่ง 1 + a++; // ประโยคคำสั่ง 2 + console.log(a); // ประโยคคำสั่ง 3 +} ``` +## ประโยควนลูป -## เมธอด Number.isFinite() กับ Number.isNaN() -```js -console.log(isFinite(2560)); // true -console.log(isFinite("2560")); // true -console.log(Number.isFinite(2560)); // true -console.log(Number.isFinite("2560")); // false -console.log(isNaN(NaN)); // true -console.log(isNaN("NaN")); // true -console.log(Number.isNaN(NaN) ); // true -console.log(Number.isNaN("NaN")); // false -console.log(typeof window.isFinite); // "function" (บนเว็บบราวเซอร์) -console.log(typeof window.isNaN); // "function" (บนเว็บบราวเซอร์) -//console.log(typeof global.isFinite); // "function" (บน Node.js) -//console.log(typeof global.isNaN); // "function" (บน Node.js) -``` +### ประโยคคำสั่ง while -## เมธอด Number.isInteger() กับ Number.isSafeInteger() ```js -console.log(Number.isInteger(34.6)); // false -console.log(Number.isInteger(34.0)); // true (เขียนเป็นเลข 34.0 ก็จริง แต่จะถูกจัดเก็บเป็นเลข 34) -console.log(Number.isInteger(34)); // true +var i = 0; +while (i < 3) { + console.log(i); + i++; +} +/* แสดงผลลัพธ์ +0 +1 +2 */ ``` -```js -console.log(Math.pow(2,53)); // 9007199254740992 -console.log(Math.pow(2,53) + 1); // 9007199254740992 -- บรรทัด 2 -console.log(Math.pow(2,53) + 2); // 9007199254740994 -- บรรทัด 3 -console.log(Math.pow(2,53) + 3); // 9007199254740996 -- บรรทัด 4 -console.log(Math.pow(2,53) * 100); // 900719925474099200 -- บรรทัด 5 -``` +### ประโยคคำสั่ง do …while ```js -var upper = Number.MAX_SAFE_INTEGER; -console.log(Number.isSafeInteger(upper)); // true -console.log(Number.isInteger(upper)); // true -var outside_upper = upper + 1; -console.log(Number.isSafeInteger(outside_upper)); // false -console.log(Number.isInteger(outside_upper)); // true -var lower = Number.MIN_SAFE_INTEGER; -console.log(Number.isSafeInteger(lower)); // true -console.log(Number.isInteger(lower)); // true -var outside_lower = lower - 1; -console.log(Number.isSafeInteger(outside_lower)); // false -console.log(Number.isInteger(outside_lower)); // true +var i = 0; +do{ + console.log(i); + i++; +} while (i < 3); +/* แสดงผลลัพธ์ +0 +1 +2 */ ``` -## ค่าคงที่ Number.EPSILON -```js -console.log(Number.EPSILON); // 2.220446049250313e-16 -``` +### ประโยคคำสั่ง for -## เมธอด repeat() ```js -console.log( "JavaScript".repeat(3) ); // "JavaScriptJavaScriptJavaScript" +for(var i=0; i<3; i++) { + console.log(i); +} +/* แสดงผลลัพธ์ +0 +1 +2 */ ``` -## เมธอด startsWith(), endsWith(), กับ includes() +### ประโยคคำสั่ง continue ```js -console.log("JavaScript".startsWith("Java")); // true (มีคำว่า "Java" อยู่ตำแหน่งแรก) -console.log("JavaScript".startsWith("world")); // false (ไม่มีคำว่า "world" อยู่ตำแหน่งแรก) -console.log("JavaScript".endsWith("Script")); // true (มีคำว่า "Script" อยู่ตำแหน่งสุดท้าย) -console.log("JavaScript".endsWith("Hello")); // false (ไม่มีคำว่า "Hello" อยู่ตำแหน่งสุดท้าย) -console.log("JavaScript".includes("va")); // true (มีคำว่า "va" อยู่ในสตริง) -console.log("JavaScript".includes("same")); // false (ไม่มีคำว่า "same" อยู่ในสตริง) +for(var i=0; i<3; i++){ + if(i<=1) { + continue; // ข้ามประโยคคำสั่งที่เหลือ ไปทำงานรอบถัดไปแทน + } + console.log(i); +} +// แสดงผลลัพธ์ +// 2 ``` -```js -console.log("JavaScript".startsWith("ri", 6)); // true -console.log("JavaScript".endsWith("va", 4)); // true -console.log("JavaScript".includes("ri", 2)); // true -``` +### ประโยคคำสั่ง break -## ยูนิโคด ```js -var a = "ABC"; -console.log(a.length); // 3 -console.log(a.codePointAt(0)); // 65 -console.log(a.codePointAt(1)); // 66 -console.log(a.codePointAt(2)); // 67 -console.log(a.codePointAt(3)); // undefined +for(var i=0; i<3; i++) { + if(i==2){ + break; // ยุติการทำงานของ for + } + console.log(i); +} +/* แสดงผลลัพธ์ +0 +1 */ +``` + +### ประโยคคำสั่ง label + +```js +outer: for(var i=0; i < 2; i++) { // บรรทัด a + console.log(“i: “, i); + for (var j=i; j < 2; j++ ) { + if ( j == 1){ + continue outer; // บรรทัด b + } + console.log(“j: “, j); + } // สิ้นสุดประโยคคำสั่ง for +} // สิ้นสุดประโยคคำสตั่ง for ที่ได้ติดฉลาก outer: +/* แสดงผลลัพธ์ +“i: 0” +“j: 0” +“i: 1” + */ +``` + +```js +outer: while(true) { // บรรทัด a + for (var i=0; i < 3; i++ ) { + if ( i == 1){ + break outer; // บรรทัด b + } + console.log(“i: “, i); + } // สิ้นสุดประโยคคำสั่ง for +} // สิ้นสุดประโยคคำสั่ง while +// แสดงผลลัพธ์ +// “i: 0” +``` + +## ประโยคเลือกเส้นทางการทำงาน + +### ประโยคคำสั่ง if +```js +// var i = 1; +// var i = 2; +// var i = 3; +if(i == 1) + console.log(“if statement”); +else if(i == 2) + console.log(“else if statement”); +else + console.log(“else statement”); +``` + +### ประโยคคำสั่ง switch + +```js +// var i = 1; +// var i = 2; +// var i = 3; +switch (i) { + case 1: + console.log(“case1”); // ถ้า i มีค่าเป็น 1 ก็จะมาทำประโยคนี้ + break; // ออกจากประโยค switch + case 2: + console.log(“case2”); // ถ้า i มีค่าเป็น 2 ก็จะมาทำประโยคนี้ + break; // ออกจากประโยค switch + default: + console.log(“case_default”); // ถ้า i ไม่ใช่ 1 กับ 2 ก็จะมาทำประโยคนี้ +} ``` ```js -var thai = "กขค"; -console.log(thai.length); // 3 -console.log(thai.codePointAt(0).toString(16)); // e01 -console.log(thai.codePointAt(1).toString(16)); // e02 -console.log(thai.codePointAt(2).toString(16)); // e04 +switch (1) { + case 1: + console.log(“case1”); + case 2: + console.log(“case2”); + default: + console.log(“case_default”); +} +/* แสดงผลลัพธ์เป็น +“case1” +“case2” +“case_default” */ ``` ```js -console.log(String.fromCodePoint(42)); // "*" -console.log(String.fromCodePoint(65, 66, 67)); // "ABC" -console.log(String.fromCodePoint(0xe01, 0xe02, 0xe04) ); // "กขค" -// สามารถส่งค่าอากิวเมนต์เป็นสตริงที่เขียนด้วยตัวเลข ก็สามารถทำได้เช่นกัน -console.log(String.fromCodePoint("97", "98", "99")); // "abc" -console.log(String.fromCodePoint("0xe07", "0xe08", "0xe09") ); // "งจฉ" -//String.fromCodePoint('_'); // RangeError -//String.fromCodePoint(Infinity); // RangeError -//String.fromCodePoint(-1); // RangeError -//String.fromCodePoint(NaN); // RangeError +switch (1) { + case 1: + case 2: + default: + console.log(“case_default”); +} +// แสดงผลลัพธ์เป็น +// “case_default” ``` +### โอเปอเรเตอร์แบบเงื่อนไข ```js -console.log("\u{e01}"); // "ก" -console.log("\u{e01}\u{e02}\u{e04}ABC"); // "กขคABC" +// var condition = true; +// var condition = false; +var value; +if(condition) { + value = “foo”; +} else { + value = “bar”; +} +console.log(value); // “foo” หรือ “bar” ``` +## ประโยคคำสั่งว่าง ```js -console.log("\u0e01"); // "ก" +; ``` ```js -console.log("\u20BB7"); // " 7" -console.log("\u{20BB7}"); // "𠮷" +while(true); // วนลูปไม่รู้จบ +// หรือจะใช้ในประโยค for +for(;;); // วนลูปไม่รู้จบ ``` +## การจัดการความผิดพลาด ```js -console.log("a".length); // 1 -console.log("ก".length); // 1 -var char = "𤭢"; // "\u{24b62}" -- เป็นอักษรกลุ่ม CJK -console.log(char.length); // 2 +throw “Error”; // โยน exception เป็นชนิดข้อมูลสตริง +throw 100; // โยน exception เป็นชนิดข้อมูลตัวเลข +throw true; // โยน exception เป็นชนิดข้อมูลบูลีน +throw new Object(); // โยน exception เป็นชนิดข้อมูลอ็อบเจ็กต์ +throw new Error(“Error”) // โยน exception เป็นชนิดข้อมูลอ็อบเจ็กต์ ``` -## การตั้งชื่อด้วยตัวอักษรพิเศษยูนิโคด ```js -var \u{e01} = 100; // จะเหมือนเขียน var ก = 100 -console.log(\u{e01}); // 100 -console.log("\u{e01}"); // "ก" -var ข = "JavaScript"; -console.log(ข); // "JavaScript" +new Error([“ข้อความ error”]) ``` ```js -var \u0e01 = 100; // จะเหมือนเขียน var ก = 100 -console.log(\u0e01); // 100 +throw new SyntaxError (“Syntax error”); ``` -## เมธอด normalize() +### ประโยคคำสั่งจัดการความผิดพลาด ```js -function toCodePoint(str){ // ฟังก์ชั่นแสดงค่า code point ของสตริงออกทางหน้าคอนโซล - var concat = ""; - for(var i = 0; i < str.length; i++ ){ - concat += "0x" + str.codePointAt(i).toString(16) + " "; - } - console.log(concat); +try { + console.log(x); // บรรทัด a เกิด error + x++; // บรรทัด b +} catch (e) { + console.log(typeof e); // “object” + console.log(e.message); // “x is not defined” + console.log(e.name); // “ReferenceError” } - -// U+1E9B: LATIN SMALL LETTER LONG S WITH DOT ABOVE -// U+0373: GREEK SMALL LETTER ARCHAIC SAMPI -var str = "\u{1E9B}\u{0373}"; -var s1= str.normalize("NFC"); -toCodePoint(s1); // 0x1e9b 0x373 - -var s2= str.normalize("NFD"); -toCodePoint(s2); // 0x17f 0x307 0x373 - -var s3 = str.normalize("NFKC"); -toCodePoint(s3); // 0x1e61 0x373 - -var s4 = str.normalize("NFKD"); -toCodePoint(s4); // 0x73 0x307 0x373 +console.log(“Last statement”); // บรรทัด c +/* แสดงผลลัพธ์เป็น +“object” +“x is not defined” +“ReferenceError” +“Last statement” */ ``` -## แฟล็ก u ```js -var str = "𠮷"; -console.log(str.length); // 2 -console.log(/^.$/.test(str)); // false -``` - -```js -var str = "𠮷"; -console.log(/^.$/u.test(str)); // true -``` - -```js -var result1 = "𠮷กขคง𤭢".match(/[\s\S]/gu); -console.log(result1.length); // 6 - -// ถ้าไม่ใช้แฟล็ก u จะนับตัวอักษรผิด -var result2 = "𠮷กขคง𤭢".match(/[\s\S]/g); -console.log(result2.length); // 8 -``` - -## แฟล็ก y -```js -var str = "foo1_foo2_foo3"; // สตริงที่จะค้นหา -var regex = /foo\d_?/; // ไม่มีแฟล็ก -var regexG = /foo\d_?/g; // แฟล็ก g -var regexY = /foo\d_?/y; // แฟลก y -var result = regex.exec(str); -var resultG = regexG.exec(str); -var resultY = regexY.exec(str); -console.log(result[0]); // "foo1_" -console.log(resultG[0]); // "foo1_" -console.log(resultY[0]); // "foo1_" -console.log(regex.lastIndex); // 0 -console.log(regexG.lastIndex); // 5 -console.log(regexY.lastIndex); // 5 -``` - -```js -result = regex.exec(str); -resultG = regexG.exec(str), -resultY = regexY.exec(str); -console.log(result[0]); // "foo1_" -console.log(resultG[0]); // "foo2_" -console.log(resultY[0]); // "foo2_" -console.log(regex.lastIndex); // 0 -console.log(regexG.lastIndex); // 10 -console.log(regexY.lastIndex); // 10 +try { + throw 42; // โยน exception ออกมาเอง + console.log(42); // เส้นทางการทำงานของโปรแกรมจะมาไม่ถึง +} catch (e) { + console.log(e); // 42 +} +console.log(“Last statment”); +/* แสดงผลลัพธ์ +42 +“Last statment” */ ``` ```js -var str = "foo1_foo2_foo3"; -var regex = /foo\d_?/; -var regexG = /foo\d_?/g; // แฟล็ก g -var regexY = /foo\d_?/y; // แฟลก y - -regex.lastIndex = 1; -regexG.lastIndex = 1; -regexY.lastIndex = 1; -var result = regex.exec(str); -var resultG = regexG.exec(str); -var resultY = regexY.exec(str); - -console.log(result[0]); // "foo1_" -console.log(resultG[0]); // "foo2_" -console.log(resultY); // มีค่าเป็น null เพราะค้นหาไม่เจอข้อความ +try { + console.log(x); // บรรทัด a เกิด error +} catch (e) { + console.log(e.message); // “x is not defined” +} finally { + console.log(“finally”); +} +console.log(“Last statement”); +/* แสดงผลลัพธ์ +“x is not defined” +“finally”; +“Last statement” */ ``` ```js -var myRegex = /foo+/y; -console.log(myRegex.sticky); // true -myRegex.sticky = 1; // TypeError ไม่สามารถแก้ไขค่าได้ มีไว้อ่านอย่างเดียว +try { + console.log(“no error”); // บรรทัด a ทำงานปกติ +} catch (e) { + console.error(e.message); +} finally { + console.log(“finally”); +} +console.log(“Last statement “); +/* แสดงผลลัพธ์ +“no error” +“finally”; +“Last statement” */ +``` + +```js +function foo(){ + try { + return “foo”; + } finally { + console.log(“finally”); + } +} +console.log(foo()); +/* แสดงผลลัพธ์ +“finally”; +“foo”; */ +``` + +```js +function foo(){ + try { + console.log(x); // บรรทัด a เกิด error + return “foo”; + } finally{ + console.log(“finally”); // บรรทัด b ทำงาน + } +} +console.log(foo()); // บรรทัด c ไม่เข้ามาทำงาน +/* แสดงผลลัพธ์ +“finally” +จากนั้นจะจบการทำงานพร้อมแจ้ง error ว่า +“error: Uncaught ReferenceError: x is not defined“ +*/ +``` + +### Optional Catch Binding + +```js +try { + console.log(x); // บรรทัด a เกิด error +} catch { // มาตรฐานใหม่ ด้านหลัง catch ไม่จำเป็นต้องมีวงเล็บ ไม่ต้องระบุชื่อตัวแปร + console.error(“Error”); +} +/* แสดงผลลัพธ์ +“Error” */ ``` -## RegExp ```js -var myRegex = /foo/g; -var regex2 = new RegExp(myRegex); -console.log(regex2.test("foo")); // true -console.log(myRegex === regex2); // false +try { + console.log(x); // บรรทัด a เกิด error +} catch(e) { // มาตรฐานเก่า ด้านหลัง catch ต้องมีวงเล็บแล้วให้ระบุชื่อตัวแปร + console.error(“Error”); +} +/* แสดงผลลัพธ์ +“Error” */ ``` -```js -var myRegex = /foo/i; -var regex2 = new RegExp(myRegex, "g"); -console.log(myRegex.test("FOO")); // true (ไม่สนใจตัวพิมพ์ใหญ่พิมพ์เล็ก) -console.log(regex2.test("FOO")); // false -``` +### cause ใน error ```js -var myRegex = new RegExp("foo", "y"); // จะเสมือนเขียน var myRegex = /foo/y; -console.log(myRegex.exec("foo_abc")); // ["foo"] +new Error( + “My error”, // ค่าอากิวเมนต์ตัวแรก + {cause: “otherError”} // ค่าอากิวเมนต์ตัวที่สอง + ); ``` -## พร็อพเพอร์ตี้ flags ```js -var myRegex = /foo/i; -console.log(myRegex.source); // "foo" -console.log(myRegex.flags); // "i" -``` - +try { + console.log(x); // บรรทัด a + } catch (error) { + throw new Error( + “My Error”, + {cause: error} + ); +} +/* โปรแกรมจะตาย และแจ้ง error ออกมา */ +``` \ No newline at end of file From ee2f1db66bb7ab9d0fc0d90bcf5e925b66e5c926 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 13:51:42 +0700 Subject: [PATCH 046/757] update --- examples_book/Chapter05.md | 157 ++++++++++++++++++++----------------- 1 file changed, 85 insertions(+), 72 deletions(-) diff --git a/examples_book/Chapter05.md b/examples_book/Chapter05.md index 7e6138c..360324f 100644 --- a/examples_book/Chapter05.md +++ b/examples_book/Chapter05.md @@ -37,7 +37,7 @@ while (i < 3) { ```js var i = 0; -do{ +do { console.log(i); i++; } while (i < 3); @@ -75,7 +75,7 @@ for(var i=0; i<3; i++){ ```js for(var i=0; i<3; i++) { - if(i==2){ + if(i==2) { break; // ยุติการทำงานของ for } console.log(i); @@ -89,32 +89,32 @@ for(var i=0; i<3; i++) { ```js outer: for(var i=0; i < 2; i++) { // บรรทัด a - console.log(“i: “, i); + console.log("i: ", i); for (var j=i; j < 2; j++ ) { - if ( j == 1){ + if ( j == 1) { continue outer; // บรรทัด b } - console.log(“j: “, j); + console.log("j: ", j); } // สิ้นสุดประโยคคำสั่ง for } // สิ้นสุดประโยคคำสตั่ง for ที่ได้ติดฉลาก outer: /* แสดงผลลัพธ์ -“i: 0” -“j: 0” -“i: 1” +"i: 0" +"j: 0" +"i: 1" */ ``` ```js outer: while(true) { // บรรทัด a for (var i=0; i < 3; i++ ) { - if ( i == 1){ + if ( i == 1) { break outer; // บรรทัด b } - console.log(“i: “, i); + console.log("i: ", i); } // สิ้นสุดประโยคคำสั่ง for } // สิ้นสุดประโยคคำสั่ง while // แสดงผลลัพธ์ -// “i: 0” +// "i: 0" ``` ## ประโยคเลือกเส้นทางการทำงาน @@ -125,11 +125,11 @@ outer: while(true) { // บรรทัด a // var i = 2; // var i = 3; if(i == 1) - console.log(“if statement”); + console.log("if statement"); else if(i == 2) - console.log(“else if statement”); + console.log("else if statement"); else - console.log(“else statement”); + console.log("else statement"); ``` ### ประโยคคำสั่ง switch @@ -140,29 +140,29 @@ else // var i = 3; switch (i) { case 1: - console.log(“case1”); // ถ้า i มีค่าเป็น 1 ก็จะมาทำประโยคนี้ + console.log("case1"); // ถ้า i มีค่าเป็น 1 ก็จะมาทำประโยคนี้ break; // ออกจากประโยค switch case 2: - console.log(“case2”); // ถ้า i มีค่าเป็น 2 ก็จะมาทำประโยคนี้ + console.log("case2"); // ถ้า i มีค่าเป็น 2 ก็จะมาทำประโยคนี้ break; // ออกจากประโยค switch default: - console.log(“case_default”); // ถ้า i ไม่ใช่ 1 กับ 2 ก็จะมาทำประโยคนี้ + console.log("case_default"); // ถ้า i ไม่ใช่ 1 กับ 2 ก็จะมาทำประโยคนี้ } ``` ```js switch (1) { case 1: - console.log(“case1”); + console.log("case1"); case 2: - console.log(“case2”); + console.log("case2"); default: - console.log(“case_default”); + console.log("case_default"); } /* แสดงผลลัพธ์เป็น -“case1” -“case2” -“case_default” */ +"case1" +"case2" +"case_default" */ ``` ```js @@ -170,23 +170,31 @@ switch (1) { case 1: case 2: default: - console.log(“case_default”); + console.log("case_default"); } // แสดงผลลัพธ์เป็น -// “case_default” +// "case_default" ``` ### โอเปอเรเตอร์แบบเงื่อนไข + +```js +// var condition = true; +// var condition = false; +var value = condition ? "foo" : "bar"; +console.log(value); // "foo" หรือ "bar" +``` + ```js // var condition = true; // var condition = false; var value; if(condition) { - value = “foo”; + value = "foo"; } else { - value = “bar”; + value = "bar"; } -console.log(value); // “foo” หรือ “bar” +console.log(value); // "foo" หรือ "bar" ``` ## ประโยคคำสั่งว่าง @@ -201,20 +209,25 @@ for(;;); // วนลูปไม่รู้จบ ``` ## การจัดการความผิดพลาด + ```js -throw “Error”; // โยน exception เป็นชนิดข้อมูลสตริง +throw "Error"; // โยน exception เป็นชนิดข้อมูลสตริง throw 100; // โยน exception เป็นชนิดข้อมูลตัวเลข throw true; // โยน exception เป็นชนิดข้อมูลบูลีน throw new Object(); // โยน exception เป็นชนิดข้อมูลอ็อบเจ็กต์ -throw new Error(“Error”) // โยน exception เป็นชนิดข้อมูลอ็อบเจ็กต์ +throw new Error("Error") // โยน exception เป็นชนิดข้อมูลอ็อบเจ็กต์ ``` ```js -new Error([“ข้อความ error”]) +console.log(x); // ReferenceError ``` ```js -throw new SyntaxError (“Syntax error”); +new Error(["ข้อความ error"]) +``` + +```js +throw new SyntaxError ("Syntax error"); ``` ### ประโยคคำสั่งจัดการความผิดพลาด @@ -223,16 +236,16 @@ try { console.log(x); // บรรทัด a เกิด error x++; // บรรทัด b } catch (e) { - console.log(typeof e); // “object” - console.log(e.message); // “x is not defined” - console.log(e.name); // “ReferenceError” + console.log(typeof e); // "object" + console.log(e.message); // "x is not defined" + console.log(e.name); // "ReferenceError" } -console.log(“Last statement”); // บรรทัด c +console.log("Last statement"); // บรรทัด c /* แสดงผลลัพธ์เป็น -“object” -“x is not defined” -“ReferenceError” -“Last statement” */ +"object" +"x is not defined" +"ReferenceError" +"Last statement" */ ``` ```js @@ -242,70 +255,70 @@ try { } catch (e) { console.log(e); // 42 } -console.log(“Last statment”); +console.log("Last statment"); /* แสดงผลลัพธ์ 42 -“Last statment” */ +"Last statment" */ ``` ```js try { - console.log(x); // บรรทัด a เกิด error + console.log(x); // บรรทัด a เกิด error } catch (e) { - console.log(e.message); // “x is not defined” + console.log(e.message); // "x is not defined" } finally { - console.log(“finally”); + console.log("finally"); } -console.log(“Last statement”); +console.log("Last statement"); /* แสดงผลลัพธ์ -“x is not defined” -“finally”; -“Last statement” */ +"x is not defined" +"finally"; +"Last statement" */ ``` ```js try { - console.log(“no error”); // บรรทัด a ทำงานปกติ + console.log("no error"); // บรรทัด a ทำงานปกติ } catch (e) { console.error(e.message); } finally { - console.log(“finally”); + console.log("finally"); } -console.log(“Last statement “); +console.log("Last statement "); /* แสดงผลลัพธ์ -“no error” -“finally”; -“Last statement” */ +"no error" +"finally"; +"Last statement" */ ``` ```js -function foo(){ +function foo() { try { - return “foo”; + return "foo"; } finally { - console.log(“finally”); + console.log("finally"); } } console.log(foo()); /* แสดงผลลัพธ์ -“finally”; -“foo”; */ +"finally"; +"foo"; */ ``` ```js -function foo(){ +function foo() { try { console.log(x); // บรรทัด a เกิด error - return “foo”; + return "foo"; } finally{ - console.log(“finally”); // บรรทัด b ทำงาน + console.log("finally"); // บรรทัด b ทำงาน } } console.log(foo()); // บรรทัด c ไม่เข้ามาทำงาน /* แสดงผลลัพธ์ -“finally” +"finally" จากนั้นจะจบการทำงานพร้อมแจ้ง error ว่า -“error: Uncaught ReferenceError: x is not defined“ +"error: Uncaught ReferenceError: x is not defined" */ ``` @@ -315,28 +328,28 @@ console.log(foo()); // บรรทัด c ไม่ try { console.log(x); // บรรทัด a เกิด error } catch { // มาตรฐานใหม่ ด้านหลัง catch ไม่จำเป็นต้องมีวงเล็บ ไม่ต้องระบุชื่อตัวแปร - console.error(“Error”); + console.error("Error"); } /* แสดงผลลัพธ์ -“Error” */ +"Error" */ ``` ```js try { console.log(x); // บรรทัด a เกิด error } catch(e) { // มาตรฐานเก่า ด้านหลัง catch ต้องมีวงเล็บแล้วให้ระบุชื่อตัวแปร - console.error(“Error”); + console.error("Error"); } /* แสดงผลลัพธ์ -“Error” */ +"Error" */ ``` ### cause ใน error ```js new Error( - “My error”, // ค่าอากิวเมนต์ตัวแรก - {cause: “otherError”} // ค่าอากิวเมนต์ตัวที่สอง + "My error", // ค่าอากิวเมนต์ตัวแรก + {cause: "otherError"} // ค่าอากิวเมนต์ตัวที่สอง ); ``` @@ -345,7 +358,7 @@ try { console.log(x); // บรรทัด a } catch (error) { throw new Error( - “My Error”, + "My Error", {cause: error} ); } From dceefe783169b6d5a63e9f5a05ef1907fb6f6c05 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 14:26:01 +0700 Subject: [PATCH 047/757] update --- examples_book/Chapter05.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter05.md b/examples_book/Chapter05.md index 360324f..61e3fa0 100644 --- a/examples_book/Chapter05.md +++ b/examples_book/Chapter05.md @@ -61,7 +61,7 @@ for(var i=0; i<3; i++) { ### ประโยคคำสั่ง continue ```js -for(var i=0; i<3; i++){ +for(var i=0; i<3; i++) { if(i<=1) { continue; // ข้ามประโยคคำสั่งที่เหลือ ไปทำงานรอบถัดไปแทน } From b8afe7c53608ccb23a4a60874906c4fff0aea027 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 15:34:52 +0700 Subject: [PATCH 048/757] update --- examples_book/Chapter08.md | 297 +++++++++++++++++++++++++++++++++++++ 1 file changed, 297 insertions(+) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 8b13789..8cfc859 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -1 +1,298 @@ +# บทที่ 8 ฟีเจอร์ใหม่ของตัวเลข สตริง และ regex + +## การแปลงสตริงเป็นตัวเลข +```js +console.log(Number.parseInt("15")); // 15 +console.log(Number.parseFloat("123.5")); // 123.5 +console.log(Number.parseInt("abc")); // NaN (แปลงเป็นเลขจำนวนเต็มไม่ได้) +console.log(Number.parseFloat("abc")); // NaN (แปลงเป็นเลขทศนิยมไม่ได้) +``` + +```js +console.log(parseInt("15")); // 15 +console.log(parseFloat("123.5")); // 123.5 +console.log(typeof window.parseInt); // "function" (บนเว็บบราวเซอร์) +console.log(typeof window.parseFloat); // "function" (บนเว็บบราวเซอร์) +//console.log(typeof global.parseInt); // "function" (บน Node.js) +//console.log(typeof global.parseFloat); // "function" (บน Node.js) +``` + +## เลขฐาน 2 ฐาน 8 และฐาน 16 +```js +console.log(Number("100")); // 100 +console.log(Number("0b111")); // 7 +console.log(Number("0o45")); // 37 +console.log(Number("0x17")); // 23 +// ใช้ Number.parseInt() +console.log(Number.parseInt("100")); // 100 +console.log(Number.parseInt("0b111")); // 0 +console.log(Number.parseInt("0o45")); // 0 +console.log(Number.parseInt("0x17")); // 23 +``` + +## เมธอด Number.isFinite() กับ Number.isNaN() +```js +console.log(isFinite(2560)); // true +console.log(isFinite("2560")); // true +console.log(Number.isFinite(2560)); // true +console.log(Number.isFinite("2560")); // false +console.log(isNaN(NaN)); // true +console.log(isNaN("NaN")); // true +console.log(Number.isNaN(NaN) ); // true +console.log(Number.isNaN("NaN")); // false +console.log(typeof window.isFinite); // "function" (บนเว็บบราวเซอร์) +console.log(typeof window.isNaN); // "function" (บนเว็บบราวเซอร์) +//console.log(typeof global.isFinite); // "function" (บน Node.js) +//console.log(typeof global.isNaN); // "function" (บน Node.js) +``` + +## เมธอด Number.isInteger() กับ Number.isSafeInteger() +```js +console.log(Number.isInteger(34.6)); // false +console.log(Number.isInteger(34.0)); // true (เขียนเป็นเลข 34.0 ก็จริง แต่จะถูกจัดเก็บเป็นเลข 34) +console.log(Number.isInteger(34)); // true +``` + +```js +console.log(Math.pow(2,53)); // 9007199254740992 +console.log(Math.pow(2,53) + 1); // 9007199254740992 -- บรรทัด 2 +console.log(Math.pow(2,53) + 2); // 9007199254740994 -- บรรทัด 3 +console.log(Math.pow(2,53) + 3); // 9007199254740996 -- บรรทัด 4 +console.log(Math.pow(2,53) * 100); // 900719925474099200 -- บรรทัด 5 +``` + +```js +var upper = Number.MAX_SAFE_INTEGER; +console.log(Number.isSafeInteger(upper)); // true +console.log(Number.isInteger(upper)); // true +var outside_upper = upper + 1; +console.log(Number.isSafeInteger(outside_upper)); // false +console.log(Number.isInteger(outside_upper)); // true +var lower = Number.MIN_SAFE_INTEGER; +console.log(Number.isSafeInteger(lower)); // true +console.log(Number.isInteger(lower)); // true +var outside_lower = lower - 1; +console.log(Number.isSafeInteger(outside_lower)); // false +console.log(Number.isInteger(outside_lower)); // true +``` + +## ค่าคงที่ Number.EPSILON +```js +console.log(Number.EPSILON); // 2.220446049250313e-16 +``` + +## เมธอด repeat() +```js +console.log( "JavaScript".repeat(3) ); // "JavaScriptJavaScriptJavaScript" +``` + +## เมธอด startsWith(), endsWith(), กับ includes() +```js +console.log("JavaScript".startsWith("Java")); // true (มีคำว่า "Java" อยู่ตำแหน่งแรก) +console.log("JavaScript".startsWith("world")); // false (ไม่มีคำว่า "world" อยู่ตำแหน่งแรก) +console.log("JavaScript".endsWith("Script")); // true (มีคำว่า "Script" อยู่ตำแหน่งสุดท้าย) +console.log("JavaScript".endsWith("Hello")); // false (ไม่มีคำว่า "Hello" อยู่ตำแหน่งสุดท้าย) +console.log("JavaScript".includes("va")); // true (มีคำว่า "va" อยู่ในสตริง) +console.log("JavaScript".includes("same")); // false (ไม่มีคำว่า "same" อยู่ในสตริง) +``` + +```js +console.log("JavaScript".startsWith("ri", 6)); // true +console.log("JavaScript".endsWith("va", 4)); // true +console.log("JavaScript".includes("ri", 2)); // true +``` + +## ยูนิโคด +```js +var a = "ABC"; +console.log(a.length); // 3 +console.log(a.codePointAt(0)); // 65 +console.log(a.codePointAt(1)); // 66 +console.log(a.codePointAt(2)); // 67 +console.log(a.codePointAt(3)); // undefined +``` + +```js +var thai = "กขค"; +console.log(thai.length); // 3 +console.log(thai.codePointAt(0).toString(16)); // e01 +console.log(thai.codePointAt(1).toString(16)); // e02 +console.log(thai.codePointAt(2).toString(16)); // e04 +``` + +```js +console.log(String.fromCodePoint(42)); // "*" +console.log(String.fromCodePoint(65, 66, 67)); // "ABC" +console.log(String.fromCodePoint(0xe01, 0xe02, 0xe04) ); // "กขค" +// สามารถส่งค่าอากิวเมนต์เป็นสตริงที่เขียนด้วยตัวเลข ก็สามารถทำได้เช่นกัน +console.log(String.fromCodePoint("97", "98", "99")); // "abc" +console.log(String.fromCodePoint("0xe07", "0xe08", "0xe09") ); // "งจฉ" +//String.fromCodePoint('_'); // RangeError +//String.fromCodePoint(Infinity); // RangeError +//String.fromCodePoint(-1); // RangeError +//String.fromCodePoint(NaN); // RangeError +``` + +```js +console.log("\u{e01}"); // "ก" +console.log("\u{e01}\u{e02}\u{e04}ABC"); // "กขคABC" +``` + +```js +console.log("\u0e01"); // "ก" +``` + +```js +console.log("\u20BB7"); // " 7" +console.log("\u{20BB7}"); // "𠮷" +``` + +```js +console.log("a".length); // 1 +console.log("ก".length); // 1 +var char = "𤭢"; // "\u{24b62}" -- เป็นอักษรกลุ่ม CJK +console.log(char.length); // 2 +``` + +## การตั้งชื่อด้วยตัวอักษรพิเศษยูนิโคด +```js +var \u{e01} = 100; // จะเหมือนเขียน var ก = 100 +console.log(\u{e01}); // 100 +console.log("\u{e01}"); // "ก" +var ข = "JavaScript"; +console.log(ข); // "JavaScript" +``` + +```js +var \u0e01 = 100; // จะเหมือนเขียน var ก = 100 +console.log(\u0e01); // 100 +``` + +## เมธอด normalize() +```js +function toCodePoint(str){ // ฟังก์ชั่นแสดงค่า code point ของสตริงออกทางหน้าคอนโซล + var concat = ""; + for(var i = 0; i < str.length; i++ ){ + concat += "0x" + str.codePointAt(i).toString(16) + " "; + } + console.log(concat); +} + +// U+1E9B: LATIN SMALL LETTER LONG S WITH DOT ABOVE +// U+0373: GREEK SMALL LETTER ARCHAIC SAMPI +var str = "\u{1E9B}\u{0373}"; +var s1= str.normalize("NFC"); +toCodePoint(s1); // 0x1e9b 0x373 + +var s2= str.normalize("NFD"); +toCodePoint(s2); // 0x17f 0x307 0x373 + +var s3 = str.normalize("NFKC"); +toCodePoint(s3); // 0x1e61 0x373 + +var s4 = str.normalize("NFKD"); +toCodePoint(s4); // 0x73 0x307 0x373 +``` + +## แฟล็ก u +```js +var str = "𠮷"; +console.log(str.length); // 2 +console.log(/^.$/.test(str)); // false +``` + +```js +var str = "𠮷"; +console.log(/^.$/u.test(str)); // true +``` + +```js +var result1 = "𠮷กขคง𤭢".match(/[\s\S]/gu); +console.log(result1.length); // 6 + +// ถ้าไม่ใช้แฟล็ก u จะนับตัวอักษรผิด +var result2 = "𠮷กขคง𤭢".match(/[\s\S]/g); +console.log(result2.length); // 8 +``` + +## แฟล็ก y +```js +var str = "foo1_foo2_foo3"; // สตริงที่จะค้นหา +var regex = /foo\d_?/; // ไม่มีแฟล็ก +var regexG = /foo\d_?/g; // แฟล็ก g +var regexY = /foo\d_?/y; // แฟลก y +var result = regex.exec(str); +var resultG = regexG.exec(str); +var resultY = regexY.exec(str); +console.log(result[0]); // "foo1_" +console.log(resultG[0]); // "foo1_" +console.log(resultY[0]); // "foo1_" +console.log(regex.lastIndex); // 0 +console.log(regexG.lastIndex); // 5 +console.log(regexY.lastIndex); // 5 +``` + +```js +result = regex.exec(str); +resultG = regexG.exec(str), +resultY = regexY.exec(str); +console.log(result[0]); // "foo1_" +console.log(resultG[0]); // "foo2_" +console.log(resultY[0]); // "foo2_" +console.log(regex.lastIndex); // 0 +console.log(regexG.lastIndex); // 10 +console.log(regexY.lastIndex); // 10 +``` + +```js +var str = "foo1_foo2_foo3"; +var regex = /foo\d_?/; +var regexG = /foo\d_?/g; // แฟล็ก g +var regexY = /foo\d_?/y; // แฟลก y + +regex.lastIndex = 1; +regexG.lastIndex = 1; +regexY.lastIndex = 1; +var result = regex.exec(str); +var resultG = regexG.exec(str); +var resultY = regexY.exec(str); + +console.log(result[0]); // "foo1_" +console.log(resultG[0]); // "foo2_" +console.log(resultY); // มีค่าเป็น null เพราะค้นหาไม่เจอข้อความ +``` + +```js +var myRegex = /foo+/y; +console.log(myRegex.sticky); // true +myRegex.sticky = 1; // TypeError ไม่สามารถแก้ไขค่าได้ มีไว้อ่านอย่างเดียว +``` + +## RegExp +```js +var myRegex = /foo/g; +var regex2 = new RegExp(myRegex); +console.log(regex2.test("foo")); // true +console.log(myRegex === regex2); // false +``` + +```js +var myRegex = /foo/i; +var regex2 = new RegExp(myRegex, "g"); +console.log(myRegex.test("FOO")); // true (ไม่สนใจตัวพิมพ์ใหญ่พิมพ์เล็ก) +console.log(regex2.test("FOO")); // false +``` + +```js +var myRegex = new RegExp("foo", "y"); // จะเสมือนเขียน var myRegex = /foo/y; +console.log(myRegex.exec("foo_abc")); // ["foo"] +``` + +## พร็อพเพอร์ตี้ flags +```js +var myRegex = /foo/i; +console.log(myRegex.source); // "foo" +console.log(myRegex.flags); // "i" +``` + From 3a82332e0648f396a99044c6416dccde96fffa7b Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 16:35:31 +0700 Subject: [PATCH 049/757] update --- examples_book/Chapter08.md | 345 ++++++++++++++++++++++++++++++++++--- 1 file changed, 321 insertions(+), 24 deletions(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 8cfc859..60cec1f 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -1,6 +1,8 @@ # บทที่ 8 ฟีเจอร์ใหม่ของตัวเลข สตริง และ regex -## การแปลงสตริงเป็นตัวเลข +## ตัวเลข +### การแปลงสตริงเป็นตัวเลข + ```js console.log(Number.parseInt("15")); // 15 console.log(Number.parseFloat("123.5")); // 123.5 @@ -17,7 +19,7 @@ console.log(typeof window.parseFloat); // "function" (บนเว็บบร //console.log(typeof global.parseFloat); // "function" (บน Node.js) ``` -## เลขฐาน 2 ฐาน 8 และฐาน 16 +### เลขฐาน 2 ฐาน 8 และฐาน 16 ```js console.log(Number("100")); // 100 console.log(Number("0b111")); // 7 @@ -30,7 +32,7 @@ console.log(Number.parseInt("0o45")); // 0 console.log(Number.parseInt("0x17")); // 23 ``` -## เมธอด Number.isFinite() กับ Number.isNaN() +### เมธอด Number.isFinite() กับ Number.isNaN() ```js console.log(isFinite(2560)); // true console.log(isFinite("2560")); // true @@ -46,7 +48,7 @@ console.log(typeof window.isNaN); // "function" (บนเว็บบรา //console.log(typeof global.isNaN); // "function" (บน Node.js) ``` -## เมธอด Number.isInteger() กับ Number.isSafeInteger() +### เมธอด Number.isInteger() กับ Number.isSafeInteger() ```js console.log(Number.isInteger(34.6)); // false console.log(Number.isInteger(34.0)); // true (เขียนเป็นเลข 34.0 ก็จริง แต่จะถูกจัดเก็บเป็นเลข 34) @@ -76,17 +78,73 @@ console.log(Number.isSafeInteger(outside_lower)); // false console.log(Number.isInteger(outside_lower)); // true ``` -## ค่าคงที่ Number.EPSILON +### ค่าคงที่ Number.EPSILON ```js console.log(Number.EPSILON); // 2.220446049250313e-16 ``` +### BigInt + +```js +let max = Number.MAX_SAFE_INTEGER; +console.log(max); // 9007199254740991 +console.log(++max); // 9007199254740992 +console.log(++max); // 9007199254740992 +``` + +```js +let big = 9007199254740991n; +console.log(big) // 9007199254740991n +console.log(++big); // 9007199254740992n +console.log(++big); // 9007199254740993n +console.log(typeof big); // bigint +``` + +```js +let num = 1n; // น้อยกว่า MAX_SAFE_INTEGER +console.log(num); // 1n +``` + +```js +let num = 1000000000000n; +console.log(num.toString()); // "1000000000000" +``` + +### ใช้เครื่องหมาย Underscores (_) ในตัวเลข +```js +let num1 = 128_556_790; +let num2 = 880_000.71; +console.log(num1); // 128556790 +console.log(num2); // 880000.71 +``` -## เมธอด repeat() +```js +let num3 = 1000_000_000_000n; +console.log(num3.toString()); // "1000000000000" +``` + +```js +let num4 = 177_3; +console.log(num4); // 1773 +``` + +```js +let num5 = _177_3; +console.log(num5); // จะเกิด error +``` + +```js +let num6= 1773_; +console.log(num6); // จะเกิด error +``` + +## สตริง + +### เมธอด repeat() ```js console.log( "JavaScript".repeat(3) ); // "JavaScriptJavaScriptJavaScript" ``` -## เมธอด startsWith(), endsWith(), กับ includes() +### เมธอด startsWith(), endsWith(), กับ includes() ```js console.log("JavaScript".startsWith("Java")); // true (มีคำว่า "Java" อยู่ตำแหน่งแรก) console.log("JavaScript".startsWith("world")); // false (ไม่มีคำว่า "world" อยู่ตำแหน่งแรก) @@ -102,7 +160,7 @@ console.log("JavaScript".endsWith("va", 4)); // true console.log("JavaScript".includes("ri", 2)); // true ``` -## ยูนิโคด +### ยูนิโคด ```js var a = "ABC"; console.log(a.length); // 3 @@ -154,7 +212,13 @@ var char = "𤭢"; // "\u{24b62}" -- เป็นอักษรกลุ่ console.log(char.length); // 2 ``` -## การตั้งชื่อด้วยตัวอักษรพิเศษยูนิโคด +```js +console.log("\x41"); // "A" +console.log("\101"); // "A" - ทำไม่ได้ในโหมดสตริคท์ +``` + +### การตั้งชื่อด้วยตัวอักษรพิเศษยูนิโคด + ```js var \u{e01} = 100; // จะเหมือนเขียน var ก = 100 console.log(\u{e01}); // 100 @@ -168,33 +232,189 @@ var \u0e01 = 100; // จะเหมือนเขียน var ก = 100 console.log(\u0e01); // 100 ``` -## เมธอด normalize() +### เมธอด normalize() ```js -function toCodePoint(str){ // ฟังก์ชั่นแสดงค่า code point ของสตริงออกทางหน้าคอนโซล +function toCodePoint(str) { // ฟังก์ชั่นแสดงค่า code point ของสตริงออกทางหน้าคอนโซล var concat = ""; - for(var i = 0; i < str.length; i++ ){ + for(var i = 0; i < str.length; i++ ) { concat += "0x" + str.codePointAt(i).toString(16) + " "; } console.log(concat); } - // U+1E9B: LATIN SMALL LETTER LONG S WITH DOT ABOVE // U+0373: GREEK SMALL LETTER ARCHAIC SAMPI var str = "\u{1E9B}\u{0373}"; var s1= str.normalize("NFC"); -toCodePoint(s1); // 0x1e9b 0x373 - +toCodePoint(s1); // 0x1e9b 0x373 var s2= str.normalize("NFD"); -toCodePoint(s2); // 0x17f 0x307 0x373 - +toCodePoint(s2); // 0x17f 0x307 0x373 var s3 = str.normalize("NFKC"); -toCodePoint(s3); // 0x1e61 0x373 - +toCodePoint(s3); // 0x1e61 0x373 var s4 = str.normalize("NFKD"); -toCodePoint(s4); // 0x73 0x307 0x373 +toCodePoint(s4); // 0x73 0x307 0x373 +``` + + +### เมธอด padStart() + +```js +let str = "x"; +let newStr = str.padStart(5, "ab"); +console.log(newStr); // "ababx" +console.log(str); // "x" +``` + +```js +let str = "x"; +let newStr = str.padStart(4, "ab"); +console.log(newStr); // "abax" +``` + +```js +let newStr = "abc".padStart(10, "0123456789"); +console.log(newStr); // "0123456abc" + +``` + +```js +let newStr = "abcd".padStart(2, "x"); +console.log(newStr); // "abcd" +``` + +```js +let newStr = "x".padStart(3); +console.log(newStr); // " x" +console.log(newStr.length); // 3 +``` + +```js +let newStr = "x".padStart(3, ‘ ’); +console.log(newStr); // " x" +console.log(newStr.length); // 3 +``` + +### เมธอด padEnd() + +```js +// เติม ab จำนวน 2 ครั้งต่อท้าย x +let str1 = "x"; +let newStr1 = str1.padEnd(5, "ab"); +console.log(newStr1); // "xabab" +// เติม ab จำนวน 2 ครั้งต่อท้าย x แต่ครั้งที่สองจะตัดให้ a +let str2 = "x"; +let newStr2 = str2.padEnd(4, "ab"); +console.log(newStr2); // "xaba" +// เมื่อ fillString ยาวเท่ากับ maxLength +let newStr3 = "abc".padEnd(10, "0123456789"); +console.log(newStr3); // "abc0123456" +// เมื่อสตริงตัวตั้งต้นมีความยาวมากกว่าค่า maxLength +let newStr4 = "abcd".padEnd(2, "x"); +console.log(newStr4); // "abcd" +// เมื่อไม่ระบุ fillString +let newStr5 = "x".padEnd(3); +console.log(newStr5); // "x " +console.log(newStr5.length); // 3 +``` + +```js +let numStr = "12AF"; +let fillString = "0x"; +let maxLength = numStr.length + fillString.length; +console.log(numStr.padStart(maxLength, fillString)); // "0x12AF" +``` + +```js +let str1 = "OK"; +let str2 = "Javascript"; +let str3 = "Wow"; +let fillString = " "; +let maxLength = fillString.length; +console.log(maxLength); // 15 +console.log(str1.padStart(maxLength, fillString)); +console.log(str2.padStart(maxLength, fillString)); +console.log(str3.padStart(maxLength, fillString)); +/* แสดงผลลัพธ์ + OK + Javascript + Wow +*/ +``` + +```js +let filename = "test"; +let fillString = ".js"; +let maxLength = filename.length + fillString.length; +console.log(filename.padEnd(maxLength, fillString)); // "test.js" +``` + +```js +let numStr = "525"; +let fillString = ".00"; +let maxLength = numStr.length + fillString.length; +console.log(numStr.padEnd(maxLength, fillString)); // "525.00" +``` + +### เมธอด trimStart() กับ trimEnd() + +```js +let str1 = " ฉันรัก JavaScript"; +console.log(str1.trimStart()); // "ฉันรัก JavaScript" +let str2 = "ฉันรัก JavaScript "; +console.log(str2.trimEnd()); // "ฉันรัก JavaScript" +``` + +```js +let str = " ฉันรัก JavaScript "; +console.log(str.trim()); // "ฉันรัก JavaScript" +``` + +### เมธอด matchAll() + +```js +let str = "นายไก่ เลี้ยงแต่ไก่ ไม่ขายไข่ไก่"; +for(const c of str.matchAll("ไก่") ) { + console.log("เจอคำว่า", c[0], "ที่ตำแหน่ง", c.index ) +} +/* แสดงผลลัพธ์ +เจอคำว่า ไก่ ที่ตำแหน่ง 3 +เจอคำว่า ไก่ ที่ตำแหน่ง 16 +เจอคำว่า ไก่ ที่ตำแหน่ง 29 */ +``` + +```js +let str = ‘นายไก่ เลี้ยงแต่ไก่ ไม่ขายไข่ไก่’; +for(const c of str.matchAll(/ไก่/g) ) { + console.log("เจอคำว่า", c[0], "ที่ตำแหน่ง", c.index ) +} +/* แสดงผลลัพธ์ +เจอคำว่า ไก่ ที่ตำแหน่ง 3 +เจอคำว่า ไก่ ที่ตำแหน่ง 16 +เจอคำว่า ไก่ ที่ตำแหน่ง 29 +*/ +``` + +### เมธอด replaceAll() + +```js +let str = "สมชาย น้องสมปอง มีเพื่อนชื่อ สมชาย"; +let newStr = str.replace("สมชาย", "ประยุทธ์"); +console.log(newStr) // ประยุทธ์ น้องสมปอง มีเพื่อนชื่อ สมชาย +``` + +```js +let str = "สมชาย น้องสมปอง มีเพื่อนชื่อ สมชาย"; +let newStr = str.replace(/สมชาย/g, "ประยุทธ์"); +console.log(newStr) // ประยุทธ์ น้องสมปอง มีเพื่อนชื่อ ประยุทธ์ +``` + +```js +let str = "สมชาย น้องสมปอง มีเพื่อนชื่อ สมชาย"; +let newStr = str.replaceAll("สมชาย", "ประยุทธ์"); +console.log(newStr) // ประยุทธ์ น้องสมปอง มีเพื่อนชื่อ ประยุทธ์ ``` +## Regex +### แฟล็ก u -## แฟล็ก u ```js var str = "𠮷"; console.log(str.length); // 2 @@ -215,7 +435,7 @@ var result2 = "𠮷กขคง𤭢".match(/[\s\S]/g); console.log(result2.length); // 8 ``` -## แฟล็ก y +### แฟล็ก y ```js var str = "foo1_foo2_foo3"; // สตริงที่จะค้นหา var regex = /foo\d_?/; // ไม่มีแฟล็ก @@ -268,7 +488,7 @@ console.log(myRegex.sticky); // true myRegex.sticky = 1; // TypeError ไม่สามารถแก้ไขค่าได้ มีไว้อ่านอย่างเดียว ``` -## RegExp +### RegExp ```js var myRegex = /foo/g; var regex2 = new RegExp(myRegex); @@ -288,11 +508,88 @@ var myRegex = new RegExp("foo", "y"); // จะเสมือนเขียน console.log(myRegex.exec("foo_abc")); // ["foo"] ``` -## พร็อพเพอร์ตี้ flags +### พร็อพเพอร์ตี้ flags ```js var myRegex = /foo/i; console.log(myRegex.source); // "foo" console.log(myRegex.flags); // "i" ``` +## เพิ่มเติมใน ES9 + +### RegExp named capture groups + +```js +let regEx = /[a-z]+.js/; +let matchObj = regEx.exec("test index.js"); +console.log(matchObj) // [ ‘index.js’, index: 5, input: ‘test index.js’, groups: undefined ] +``` + +```js +let regEx = /(?[a-z]+).js/; +let matchObj = regEx.exec("test index.js"); +console.log(matchObj); +/* แสดงผลลัพธ์ +[ + ‘index.js’, + ‘index’, + index: 5, + input: ‘test index.js’, + groups: [Object: null prototype] { filename: ‘index’ } +] */ +``` + +### Lookbehind assertions + +```js +let regex = /(?<=Java)Script/g; +let result = "This is a JavaScript book".match( regex ); +console.log(result); // [ ‘Script’ ] +``` + +```js +let regex = /(?<=Java)[a-zA-Z\s]+/g; +let result = "This is a JavaScript book".match( regex ); +console.log(result); // [ ‘Script book’ ] +``` + +```js +let regex = /(? Date: Wed, 26 Jul 2023 16:48:34 +0700 Subject: [PATCH 050/757] update --- examples_book/Chapter08.md | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 60cec1f..52b9079 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -288,7 +288,7 @@ console.log(newStr.length); // 3 ``` ```js -let newStr = "x".padStart(3, ‘ ’); +let newStr = "x".padStart(3, ' '); console.log(newStr); // " x" console.log(newStr.length); // 3 ``` @@ -382,7 +382,7 @@ for(const c of str.matchAll("ไก่") ) { ``` ```js -let str = ‘นายไก่ เลี้ยงแต่ไก่ ไม่ขายไข่ไก่’; +let str = 'นายไก่ เลี้ยงแต่ไก่ ไม่ขายไข่ไก่'; for(const c of str.matchAll(/ไก่/g) ) { console.log("เจอคำว่า", c[0], "ที่ตำแหน่ง", c.index ) } @@ -427,12 +427,11 @@ console.log(/^.$/u.test(str)); // true ``` ```js -var result1 = "𠮷กขคง𤭢".match(/[\s\S]/gu); -console.log(result1.length); // 6 - +var result1 = “𠮷กขคง𤭢”.match(/[\s\S]/gu); +console.log(result1.length); // 6 // ถ้าไม่ใช้แฟล็ก u จะนับตัวอักษรผิด -var result2 = "𠮷กขคง𤭢".match(/[\s\S]/g); -console.log(result2.length); // 8 +var result2 = “𠮷กขคง𤭢”.match(/[\s\S]/g); +console.log(result2.length); // 8 ``` ### แฟล็ก y @@ -522,7 +521,7 @@ console.log(myRegex.flags); // "i" ```js let regEx = /[a-z]+.js/; let matchObj = regEx.exec("test index.js"); -console.log(matchObj) // [ ‘index.js’, index: 5, input: ‘test index.js’, groups: undefined ] +console.log(matchObj) // [ 'index.js', index: 5, input: 'test index.js', groups: undefined ] ``` ```js @@ -531,11 +530,11 @@ let matchObj = regEx.exec("test index.js"); console.log(matchObj); /* แสดงผลลัพธ์ [ - ‘index.js’, - ‘index’, + 'index.js', + 'index', index: 5, - input: ‘test index.js’, - groups: [Object: null prototype] { filename: ‘index’ } + input: 'test index.js', + groups: [Object: null prototype] { filename: 'index' } ] */ ``` @@ -544,19 +543,19 @@ console.log(matchObj); ```js let regex = /(?<=Java)Script/g; let result = "This is a JavaScript book".match( regex ); -console.log(result); // [ ‘Script’ ] +console.log(result); // [ 'Script' ] ``` ```js let regex = /(?<=Java)[a-zA-Z\s]+/g; let result = "This is a JavaScript book".match( regex ); -console.log(result); // [ ‘Script book’ ] +console.log(result); // [ 'Script book' ] ``` ```js let regex = /(? Date: Wed, 26 Jul 2023 16:49:53 +0700 Subject: [PATCH 051/757] update --- examples_book/Chapter08.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 52b9079..8989078 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -427,10 +427,10 @@ console.log(/^.$/u.test(str)); // true ``` ```js -var result1 = “𠮷กขคง𤭢”.match(/[\s\S]/gu); +var result1 = "𠮷กขคง𤭢".match(/[\s\S]/gu); console.log(result1.length); // 6 // ถ้าไม่ใช้แฟล็ก u จะนับตัวอักษรผิด -var result2 = “𠮷กขคง𤭢”.match(/[\s\S]/g); +var result2 = "𠮷กขคง𤭢".match(/[\s\S]/g); console.log(result2.length); // 8 ``` From 7fe3649c2a8093a8cdc9baa9880d06a32c6aaae6 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 16:52:32 +0700 Subject: [PATCH 052/757] update --- examples_book/Chapter08.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 8989078..1d26376 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -464,21 +464,19 @@ console.log(regexY.lastIndex); // 10 ``` ```js -var str = "foo1_foo2_foo3"; +var str = “foo1_foo2_foo3”; var regex = /foo\d_?/; -var regexG = /foo\d_?/g; // แฟล็ก g -var regexY = /foo\d_?/y; // แฟลก y - +var regexG = /foo\d_?/g; // แฟล็ก g +var regexY = /foo\d_?/y; // แฟลก y regex.lastIndex = 1; regexG.lastIndex = 1; regexY.lastIndex = 1; var result = regex.exec(str); var resultG = regexG.exec(str); var resultY = regexY.exec(str); - -console.log(result[0]); // "foo1_" -console.log(resultG[0]); // "foo2_" -console.log(resultY); // มีค่าเป็น null เพราะค้นหาไม่เจอข้อความ +console.log(result[0]); // “foo1_” +console.log(resultG[0]); // “foo2_” +console.log(resultY); // มีค่าเป็น null เพราะค้นหาไม่เจอข้อความ ``` ```js From 31847d743eab94c10039774f6e21f1f77aa7fff7 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 16:57:32 +0700 Subject: [PATCH 053/757] update --- examples_book/Chapter08.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 1d26376..bef93e2 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -464,7 +464,7 @@ console.log(regexY.lastIndex); // 10 ``` ```js -var str = “foo1_foo2_foo3”; +var str = "foo1_foo2_foo3"; var regex = /foo\d_?/; var regexG = /foo\d_?/g; // แฟล็ก g var regexY = /foo\d_?/y; // แฟลก y @@ -474,8 +474,8 @@ regexY.lastIndex = 1; var result = regex.exec(str); var resultG = regexG.exec(str); var resultY = regexY.exec(str); -console.log(result[0]); // “foo1_” -console.log(resultG[0]); // “foo2_” +console.log(result[0]); // "foo1_" +console.log(resultG[0]); // "foo2_" console.log(resultY); // มีค่าเป็น null เพราะค้นหาไม่เจอข้อความ ``` @@ -562,6 +562,13 @@ let regex = /./; let result = regex.test("\n"); console.log(result); // false ``` + +```js +let regex = /./s; +let result = regex.test("\n"); +console.log(result); // true +``` + ### Unicode character properties ```js From 662d138a6acbe676b44c18427fd69b9784d1383f Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 20:30:59 +0700 Subject: [PATCH 054/757] update --- examples_book/Chapter12.md | 161 +++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md index 8b13789..8a28c2a 100644 --- a/examples_book/Chapter12.md +++ b/examples_book/Chapter12.md @@ -1 +1,162 @@ +# บทที่ 12 ซิมโบล +## การใช้งานซิมโบล + +```js +let sym1 = Symbol(); // ไม่มี description +let sym2 = Symbol(“example”); // มี description เป็น “example” +let sym3 = Symbol(“example”); // มี description เป็น “example” +console.log(sym2 === sym3); // false +``` + +```js +let sym = Symbol(“example”); +console.log(sym.toString()); // Symbol(example) +console.log(sym); // Symbol(example) +``` + +```js +console.log( typeof Symbol() ); // “symbol” +console.log( typeof Symbol(“example”) ); // “symbol” +``` + +## ข้อควรระวังการใช้ซิมโบล + +```js +let bool = new Boolean(); // สามารถทำได้ +let str = new String(); // สามารถทำได้ +let num = new Number(); // สามารถทำได้ +let sym = new Symbol(); // จะเกิด TypeError +``` + +```js +let sym = Symbol(“example”); +let symObj1 = Object(sym); +let symObj2 = new Object(sym); +console.log(typeof sym); // “symbol” +console.log(typeof symObj1); // “object” +console.log(typeof symObj2); // “object” +``` + +```js +let sym = Symbol(“example”); +console.log(sym == Object(sym)); +// ถ้าใช้บน Firefox จะได้เป็น true แต่ถ้าใช้บน Google Chrome จะเป็น fasle +``` + +## ใช้ซิมโบลเป็นคีย์ในอ็อบเจ็กต์ + +```js +let sym = Symbol(“first symbol”); +let obj = { [sym]: 100 }; // ใช้ซิมโบลเป็นชื่อคีย์ในอ็อบเจ็กต์ +console.log(obj[sym]); // 100 +obj[sym] = 200; +console.log(obj[sym]); // 200 +let lastSym = Symbol(“last symbol”); +Object.defineProperties(obj, { + [lastSym]: { // ใช้ซิมโบลเป็นชื่อคีย์ในอ็อบเจ็กต์ + value: 300, + writable: true + } +}); +console.log(obj[lastSym]); // 300 +Object.defineProperty(obj, sym, { writable: false }); // กำหนดให้พร็อพเพอร์ตี้ ไม่สามารถแก้ไขค่าได้ +obj[sym] = 1; // จะเกิด error เพราะไม่สามารถแก้ไขค่าได้ (อยู่ในโหมดสตริคท์) +``` + +## การแชร์ซิมโบล + +```js +let uid = Symbol.for(“uid”); // มีค่า description เป็น “uid” +console.log(uid); // Symbol(uid) +``` + +```js +let sym1 = Symbol.for(“uid”); // ค้นหาซิมโบลครั้งแรก +let sym2 = Symbol.for(“uid”); // ค้นหาซิมโบลครั้งที่สอง +console.log(sym1 === sym2); // true (เพราะ sym1 กับ sym2 คือซิมโบลตัวเดียวกัน) +console.log(sym1); // Symbol(uid) +// เนื่องจาก sym1 กับ sym2 คือซิมโบลตัวเดียวกัน จึงสามารถใช้แทนกันได้ +let obj = {[sym1]: 100}; +console.log(obj[sym2]); // 100 +``` + +```js +let sym1 = Symbol.for(“uid”); +console.log(Symbol.keyFor(sym1)); // “uid” +let sym2 = Symbol(“uid”); +console.log(Symbol.keyFor(sym2)); // undefined +``` + +```js +Symbol.for(“dojo.uid”); +Symbol.for(“jquery.uid”); +``` + +## ซิมโบลในประโยค for...in + +```js +let obj = {}; +obj.car = “100”; +obj[“zoo”] = “200”; +obj[Symbol(“foo”)] = “foo”; +obj[Symbol(“bar”)] = “bar”; +for (let i in obj) { + console.log(i); +} +// ประโยค for จะแสดงผลลัพธ์ +// “car” +// “zoo” +let keys = Object.getOwnPropertyNames(obj); +console.log(keys); // [“car”, “zoo”] +``` + +```js +let obj = {}; +obj.car = “100”; +obj[“zoo”] = “200”; +obj[Symbol(“foo”)] = “foo”; +obj[Symbol(“bar”)] = “bar”; +let keys = Object.getOwnPropertySymbols(obj); +console.log(keys); // [Symbol(foo), Symbol(bar)] +``` + +## JSON.stringify() + +```js +let obj = { +[Symbol(“example”)]: “100”, +“bar” : “200” +} +// จะได้เป็นสตริงที่เขียนอยู่ในรูปแบบของ JSON +console.log(JSON.stringify(obj)); // ‘{“bar” : “200”}’ +``` + +## แปลงซิมโบลเป็นสตริง + +```js +let sym = Symbol(“foo”); +++sym; // TypeError +sym + 0; // TypeError +``` + +```js +Symbol(“foo”) + “bar”; // TypeError +``` + +```js +let sym = Symbol(“foo”); +console.log(sym.toString()); // Symbol(foo) +console.log(String(sym)); // Symbol(foo) +new String(sym); // TypeError +``` + +## พร็อพเพอร์ตี้ description + +```js +let sym= Symbol(“foo”); +console.log(sym) // Symbol(foo) +console.log(String(sym) === `Symbol(${“foo”})`); // true +console.log(sym.toString()); // “Symbol(foo)” +console.log(sym.description); // “foo” +``` \ No newline at end of file From 906f4f17938e9395d317bfbb7fbaa4138f379a96 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 20:44:10 +0700 Subject: [PATCH 055/757] update --- examples_book/Chapter12.md | 86 +++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md index 8a28c2a..5ecd25c 100644 --- a/examples_book/Chapter12.md +++ b/examples_book/Chapter12.md @@ -4,20 +4,20 @@ ```js let sym1 = Symbol(); // ไม่มี description -let sym2 = Symbol(“example”); // มี description เป็น “example” -let sym3 = Symbol(“example”); // มี description เป็น “example” +let sym2 = Symbol("example"); // มี description เป็น "example" +let sym3 = Symbol("example"); // มี description เป็น "example" console.log(sym2 === sym3); // false ``` ```js -let sym = Symbol(“example”); -console.log(sym.toString()); // Symbol(example) -console.log(sym); // Symbol(example) +let sym = Symbol("example"); +console.log(sym.toString()); // Symbol(example) +console.log(sym); // Symbol(example) ``` ```js -console.log( typeof Symbol() ); // “symbol” -console.log( typeof Symbol(“example”) ); // “symbol” +console.log( typeof Symbol() ); // "symbol" +console.log( typeof Symbol("example") ); // "symbol" ``` ## ข้อควรระวังการใช้ซิมโบล @@ -30,16 +30,16 @@ let sym = new Symbol(); // จะเกิด TypeError ``` ```js -let sym = Symbol(“example”); +let sym = Symbol("example"); let symObj1 = Object(sym); let symObj2 = new Object(sym); -console.log(typeof sym); // “symbol” -console.log(typeof symObj1); // “object” -console.log(typeof symObj2); // “object” +console.log(typeof sym); // "symbol" +console.log(typeof symObj1); // "object" +console.log(typeof symObj2); // "object" ``` ```js -let sym = Symbol(“example”); +let sym = Symbol("example"); console.log(sym == Object(sym)); // ถ้าใช้บน Firefox จะได้เป็น true แต่ถ้าใช้บน Google Chrome จะเป็น fasle ``` @@ -47,12 +47,12 @@ console.log(sym == Object(sym)); ## ใช้ซิมโบลเป็นคีย์ในอ็อบเจ็กต์ ```js -let sym = Symbol(“first symbol”); +let sym = Symbol("first symbol"); let obj = { [sym]: 100 }; // ใช้ซิมโบลเป็นชื่อคีย์ในอ็อบเจ็กต์ console.log(obj[sym]); // 100 obj[sym] = 200; console.log(obj[sym]); // 200 -let lastSym = Symbol(“last symbol”); +let lastSym = Symbol("last symbol"); Object.defineProperties(obj, { [lastSym]: { // ใช้ซิมโบลเป็นชื่อคีย์ในอ็อบเจ็กต์ value: 300, @@ -67,13 +67,13 @@ obj[sym] = 1; // จะเกิด error เพราะไม่สาม ## การแชร์ซิมโบล ```js -let uid = Symbol.for(“uid”); // มีค่า description เป็น “uid” +let uid = Symbol.for("uid"); // มีค่า description เป็น "uid" console.log(uid); // Symbol(uid) ``` ```js -let sym1 = Symbol.for(“uid”); // ค้นหาซิมโบลครั้งแรก -let sym2 = Symbol.for(“uid”); // ค้นหาซิมโบลครั้งที่สอง +let sym1 = Symbol.for("uid"); // ค้นหาซิมโบลครั้งแรก +let sym2 = Symbol.for("uid"); // ค้นหาซิมโบลครั้งที่สอง console.log(sym1 === sym2); // true (เพราะ sym1 กับ sym2 คือซิมโบลตัวเดียวกัน) console.log(sym1); // Symbol(uid) // เนื่องจาก sym1 กับ sym2 คือซิมโบลตัวเดียวกัน จึงสามารถใช้แทนกันได้ @@ -82,41 +82,41 @@ console.log(obj[sym2]); // 100 ``` ```js -let sym1 = Symbol.for(“uid”); -console.log(Symbol.keyFor(sym1)); // “uid” -let sym2 = Symbol(“uid”); +let sym1 = Symbol.for("uid"); +console.log(Symbol.keyFor(sym1)); // "uid" +let sym2 = Symbol("uid"); console.log(Symbol.keyFor(sym2)); // undefined ``` ```js -Symbol.for(“dojo.uid”); -Symbol.for(“jquery.uid”); +Symbol.for("dojo.uid"); +Symbol.for("jquery.uid"); ``` ## ซิมโบลในประโยค for...in ```js let obj = {}; -obj.car = “100”; -obj[“zoo”] = “200”; -obj[Symbol(“foo”)] = “foo”; -obj[Symbol(“bar”)] = “bar”; +obj.car = "100"; +obj["zoo"] = "200"; +obj[Symbol("foo")] = "foo"; +obj[Symbol("bar")] = "bar"; for (let i in obj) { console.log(i); } // ประโยค for จะแสดงผลลัพธ์ -// “car” -// “zoo” +// "car" +// "zoo" let keys = Object.getOwnPropertyNames(obj); -console.log(keys); // [“car”, “zoo”] +console.log(keys); // ["car", "zoo"] ``` ```js let obj = {}; -obj.car = “100”; -obj[“zoo”] = “200”; -obj[Symbol(“foo”)] = “foo”; -obj[Symbol(“bar”)] = “bar”; +obj.car = "100"; +obj["zoo"] = "200"; +obj[Symbol("foo")] = "foo"; +obj[Symbol("bar")] = "bar"; let keys = Object.getOwnPropertySymbols(obj); console.log(keys); // [Symbol(foo), Symbol(bar)] ``` @@ -125,27 +125,27 @@ console.log(keys); // [Symbol(foo), Symbol(bar)] ```js let obj = { -[Symbol(“example”)]: “100”, -“bar” : “200” +[Symbol("example")]: "100", +"bar" : "200" } // จะได้เป็นสตริงที่เขียนอยู่ในรูปแบบของ JSON -console.log(JSON.stringify(obj)); // ‘{“bar” : “200”}’ +console.log(JSON.stringify(obj)); // ‘{"bar" : "200"}’ ``` ## แปลงซิมโบลเป็นสตริง ```js -let sym = Symbol(“foo”); +let sym = Symbol("foo"); ++sym; // TypeError sym + 0; // TypeError ``` ```js -Symbol(“foo”) + “bar”; // TypeError +Symbol("foo") + "bar"; // TypeError ``` ```js -let sym = Symbol(“foo”); +let sym = Symbol("foo"); console.log(sym.toString()); // Symbol(foo) console.log(String(sym)); // Symbol(foo) new String(sym); // TypeError @@ -154,9 +154,9 @@ new String(sym); // TypeError ## พร็อพเพอร์ตี้ description ```js -let sym= Symbol(“foo”); +let sym= Symbol("foo"); console.log(sym) // Symbol(foo) -console.log(String(sym) === `Symbol(${“foo”})`); // true -console.log(sym.toString()); // “Symbol(foo)” -console.log(sym.description); // “foo” +console.log(String(sym) === `Symbol(${"foo"})`); // true +console.log(sym.toString()); // "Symbol(foo)" +console.log(sym.description); // "foo" ``` \ No newline at end of file From 42a3c487368518348256c1a848dcb6bf58b1494a Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 26 Jul 2023 22:08:24 +0700 Subject: [PATCH 056/757] update --- examples_book/Chapter17.md | 387 +++++++++++++++++++++++++++++++++++++ 1 file changed, 387 insertions(+) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 8b13789..3428d7e 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -1 +1,388 @@ +# บทที่ 17 เมต้าโปรแกรมมิ่ง + +## เมต้าโปรแกรมมิ่ง + +### ฟังก์ชั่น eval() + +```js +var function1 = "function myFunction ( a, b) { console.log(a*b); }"; +var function2 = "function myFunction ( a, b) { console.log(a/b); }"; +var randomNumber = Math.random() >= 0.5; // true หรือ false +var code = randomNumber ? function1 : function2; +eval(code); +myFunction(10,5); // 50 หรือ 2 -- บรรทัด a +/* จะเสมือนเขียน +function myFunction(a, b) { + console.log(a*b); +}*/ +/* หรืออาจะเขียนเป็น +function myFunction(a, b) { + console.log(a/b); +}*/ +``` + +### Function() + +```js +var body1 = "console.log(a*b)"; +var body2 = "console.log(a/b)"; +var randomNumber = Math.random() >= 0.5; // true หรือ false +var myBody = randomNumber ? body1 : body2; +var myFunction = Function("a","b", myBody); +myFunction(10,5); // 50 หรือ 2 +/* จะเสมือนเขียน +function myFunction(a, b){ + console.log(a*b); +}*/ +/* หรืออาจะเขียนเป็น +function myFunction(a, b){ + console.log(a/b); +}*/ +``` + +## Reflect + +```js +let obj = { }; +obj.a = 100; +console.log(obj.a); // 100 +``` + +```js +let obj = { }; +Reflect.set(obj,"a", 100); // เหมือนเขียนประโยค obj.a = 100; +console.log( Reflect.get(obj,"a") ); // เหมือนเขียนประโยค console.log(obj.a); +//แสดงคำว่า "to do something" +``` + +## พร็อกซี่ + +```js +let obj = { a: 100 }; +let handler = { }; // บรรทัด 2 +let proxyObj = new Proxy( obj, handler); // บรรทัด 3 +console.log(proxyObj.a); // 100 (บรรทัด 4) +console.log(obj.a); // 100 (บรรทัด 5) +``` + +```js +// ห่ออาร์เรย์ +let proxyArray = new Proxy( [1, 2, 3], {}); // บรรทัด a +console.log(proxyArray[1]); // 2 +console.log(...proxyArray); // 1 2 3 +// ห่อฟังก์ชั่นลูกศร +let proxyFunc = new Proxy( ()=> console.log("myFunction") , {} ); // บรรทัด b +proxyFunc(); // "myFunction" +// ห่อพร็อกซี่ +let proxyObj1 = new Proxy(proxyArray, {}); // บรรทัด c +console.log(...proxyObj1); // 1 2 3 +// ห่อพร็อกซี่ +let proxyObj2 = new Proxy(proxyFunc, {}); // บรรทัด d +proxyObj2(); // "myFunction" +``` + +### Trap + +```js +let obj = { a: 100 }; +let trapLogic = { + get(targetObj,key, proxy) { + console.log(`key: ${key}`); + // targetObj ในตัวอย่างนี้คือ obj + // proxy ในตัวอย่างนี้คือ proxyObj + return Reflect.get(targetObj, key); + // เนื่องจาก Reflect บางเว็บบราวเซอร์อาจไม่ทำงาน จึงอาจเขียนแบบนี้แทนก็ได้ + // return targetObj[key]; + } + }; +let proxyObj = new Proxy( obj, trapLogic); +console.log(proxyObj.a); // บรรทัด a +// แสดงผลลัพธ์เป็น +// "key: a" +// 100 +console.log(obj.a); // 100 +``` + +### ตัวอย่างการใช้งานพร็อกซี่ + +ตัวอย่างที่ 1 จะแสดงการดัดแปลงพฤติกรรมของอ็อบเจ็กต์ ด้วยการใช้พร็อกซี่ + +```js +let obj = { foo: 1 }; +let trapLogic = { + set(targetObj, key, value, proxy) { // กำหนดค่าให้กับพร็อพเพอร์ตี้ + if(Reflect.has( targetObj, key )) { + return Reflect.set( targetObj, key, value ); + } else { + throw `Can’t write property: ${key}`; + } + } + ,get(targetObj, key, proxy) { // อ่านค่าพร็อพเพอร์ตี้ + if(Reflect.has( targetObj, key )) { + return Reflect.get(targetObj, key); + } else { + throw `Can’t read property: ${key}`; + } + } + ,deleteProperty(targetObj, key){ // ลบพร็อพเพอร์ตี้ + if(Reflect.has( targetObj, key )) { + return Reflect.deleteProperty(targetObj, key); + } else { + throw `Can’t delete property: ${key}`; + } + } +} +let proxyObj = new Proxy(obj, trapLogic); +proxyObj.foo = 100; +console.log(proxyObj.foo); // 100 +// console.log(delete proxyObj.foo); // true +proxyObj.a = 1; // exception: Can’t write property: a +console.log(proxyObj.b); // exception: Can’t read property: b +delete proxyObj.c ; // exception: Can’t delete property: c +``` + +ตัวอย่างที่ 2 จะแสดงการตรวจสอบค่าอากิวเมนต์ที่ส่งไปให้พารามิเตอร์ของฟังก์ชั่น รวมทั้งค่ารีเทิร์นจากฟังก์ชั่นด้วย + +```js +let validation = { // handler + apply(targetObj, thisObj, argumentList) { // ดักจับตอนฟังก์ชันเป้าหมายถูกเรียกใช้งาน + if( argumentList.length == 0 ) { // ไม่มีค่าอากิวเมนต์ส่งมาให้ฟังก์ชั่น + throw new Error("Must send arguments to the function"); + } + argumentList.forEach( function(value, index, thisObj) { + if(typeof value != "number") { + // ตรวจสอบค่าอากิวเมนต์ที่ส่งให้ฟังก์ชั่น มันเป็นตัวเลขหรือไม่ ? + throw new Error("All arguments must be numbers"); + } // สิ้นสุด if + }); // สิ้นสุด argumentList.forEach() + // เรียกใช้งานฟังก์ชันเป้าหมาย + let result = Reflect.apply(targetObj, thisObj, argumentList); + // ตรวจสอบค่าที่รีเทิร์นจากฟังก์ชั่น มันอยู่ในช่วง safe integer หรือไม่ ? + if( Number.isSafeInteger(result) == false) { + throw new Error("The result is not safe integer"); + }; + return result; + } // สิ้นสุด apply +} // สิ้นสุดการประกาศอ็อบเจ็กต์ validation +``` + +```js +function sum(param1, param2) { // หาผลบวก + return param1 + param2; +} +function multiply(param1, param2) { // หาผลคูณ + return param1 * param2; +} +``` + +```js +let proxySum = new Proxy(sum, validation); +let proxyMultiply = new Proxy(multiply, validation); +// เรียกฟังก์ชั่น โดยส่งค่าอากิวเมนต์ไปให้ ที่เป็นตัวเลข +// แล้วรีเทิร์นค่าไม่เกิน "safe integer" ก็จะทำงานได้ตามปกติ +console.log(proxySum(2, 3 )); // 5 = 2 + 3 +console.log(proxyMultiply(2, 3)); // 6 = 2 * 3 +``` + +```js +// ไม่มีค่าอากิวเมนต์ส่งไปให้ฟังก์ชั่น ก็จะเกิด error +proxySum(); // error +proxyMultiply(); // error +``` + +```js +// เมื่อส่งค่าอากิวเมนต์ที่ไม่ใช่ตัวเลข ก็จะเกิด error +proxySum(2, "3"); // error +proxyMultiply(2, "3"); // error +``` + +```js +// ค่าที่รีเทิร์นออกจากฟังก์ชั่น ถ้าเกินช่วง safe integer ก็จะเกิด error +let maxNum = Number.MAX_SAFE_INTEGER + 1; +proxySum(maxNum, maxNum); // error +proxyMultiply(maxNum, maxNum); // error +``` + +ตัวอย่างที่ 3 จะแสดงกลไกการป้องกันเวลากำหนดโปรโตไทป์ให้กับอ็อบเจ็กต์ + +```js +let people = {}; +``` + +```js +let preventObj = { // handler + // ดักจับตอนกำหนดโปรโตไทป์ให้กับอ็อบเจ็กต์เป้าหมาย + setPrototypeOf(targetObj, prototype) { + if(prototype !== people) { // ตรวจสอบว่าได้กำหนดโปรโตไทป์เป็น people หรือไม่ + throw new Error("Prototype must be people object only"); + } + console.log("Set the people prototype"); + return Reflect.setPrototypeOf(targetObj, prototype); + } // สิ้นสุด setPrototypeOf +}// สิ้นสุดประกาศอ็อบเจ้กต์ +``` + +```js +let man = { age: 17 }; +let woman = { age: 20 }; +let proxyMan = new Proxy(man, preventObj); +let proxyWoman = new Proxy(woman, preventObj); +``` + +```js +// กำหนดโปรโตไทป์เป็น people ก็จะทำงานได้ตามปกติ +proxyMan.__proto__ = people; // "Set the people prototype" +proxyWoman.__proto__ = people; // "Set the people prototype" +console.log( man.__proto__ === people ); // true +console.log( woman.__proto__ === people ); // true +``` + +```js +// เมื่อกำหนดโปรโตไทป์ที่ไม่ใช่ people ก็จะเกิด error +let car = { speed: 100 }; // กำหนดให้เป็นโปรโตไทป์ของ man กับ woman +proxyMan.__proto__ = car; // error +proxyWoman.__proto__ = car; // error +``` + +```js +let checkType = { + set(targetObj, key, value, proxy) { + if( targetObj.length == 0) { // ถ้าเป็นอาร์เรย์ว่าง + return Reflect.set( targetObj, key, value ); + } + let val0 = Reflect.get(targetObj, 0); // เข้าถึงสมาชิกตัวแรกของอาร์เรย์ (อินเด็กซ์ 0) + if( typeof val0 == typeof value ) { // ข้อมูลสมาชิกที่กำหนดเข้ามาเป็นชนิดเดียวกัน + return Reflect.set( targetObj, key, value ); + } else { // ถ้าเป็นคนข้อมูลคนละชนิดกัน ก็จะเกิด error + throw new Error(`Can’t add this type: ${typeof value}`); + } + } // สิ้นสุดการประกาศ set +} +``` + +```js +let myArray = [ 0, 1, 2, 3, 4]; +let proxyArray = new Proxy(myArray, checkType); +``` + +```js +// เพิ่มสมาชิกตัวที่ 5 (มีชนิดข้อมูลเป็นตัวเลข) +proxyArray[5] = 5; +console.log(proxyArray); // [ 0, 1, 2, 3, 4, 5 ] +console.log(myArray); // [ 0, 1, 2, 3, 4, 5 ] +``` + +```js +// เพิ่มสมาชิกตัวที่ 6 แต่เป็นสตริง จะเกิด error ขึ้นได้ +proxyArray[6] = "6"; // error +``` + +```js +class Image{ + constructor(imageName){ + this.imageName = imageName; + // สมมติว่าไปโหลดไปมาจากฐานข้อมูล + // ซึ่งอาจเสียเวลานานด้วย + // loadImageFromDB(imageName); + } +} + +let createImage = { // handler + imageMap: new Map(), // เอาไว้เก็บอ็อบเจ็กต์ (cached) + construct(targetObj, thisArugment, newTarget) { // ดักจับเมื่อสร้างอ็อบเจ็กต์เป้าหมาย + imageName = thisArugment[0]; + let map = this.imageMap; + if( map.has(imageName)) { + console.log("Clone an Object from cached"); + // โคลนนิ่งอ็อบเจ๊กที่เก็บไว้ใน imageMap มาใส่อ็อบเจ็กต์เปล่า แล้วรีเทิร์นออกไป + return Object.assign({},map.get(imageName)); + } + // ถ้าไม่มีเก็บไว้ในแม็พ + console.log("Create new Object"); + let newObj = Reflect.construct(targetObj, thisArugment, newTarget); + map.set(imageName, newObj); // เก็บไว้ในแม็พ + return newObj + } // สิ้นสุด construct +}// สิ้นสุดประกาศอ็อบเจ็กต์ + +let proxyImage = new Proxy(Image, createImage); + +// เมื่อสร้างอ็อบเจ็กต์ด้วยการเรียกใช้ new +let catImage1 = new proxyImage("cat"); // Create new Object + +// เมื่อระบุค่าอากิวเมนต์ "cat" ซ้ำอีกครั้ง ก็จะเป็นการโคลนิ่งอ็อบเจ็กต์ที่มีอยู่แล้ว +let catImage2 = new proxyImage("cat"); // Clone an Object from cached +console.log( catImage1 === catImage2) // false +``` + +### ข้อควรระวังเมื่อใช้ trap + +```js +let obj = {a: 100}; +let trapLogic = { + getOwnPropertyDescriptor(targetObj, key) { + console.log(`getOwnPropertyDescriptor: ${key}`); // บรรทัด a + return Reflect.getOwnPropertyDescriptor(targetObj, key); + }, + defineProperty(targetObj, key, descriptor) { // บรรทัด b + console.log(`defineProperty: ${key}`); + return Reflect.defineProperty(targetObj, key, descriptor); + } + /* ,set(targetObj, key, value, proxy) { // บรรทัด c + console.log(`set property: ${key} = ${value}`); + return Reflect.set( targetObj, key, value ); + }*/ +}; +let proxyObj = new Proxy( obj, trapLogic); +proxyObj.a = 100; +/* แสดงผลลัพธ์เป็น +"getOwnPropertyDescriptor: a" +"defineProperty: a" +*/ +/* แต่ถ้าเอาคอมเมนต์ของบรรทัด c ออกไป จะเปลี่ยนไปแสดงผลลัพธ์เป็น +"set property: a = 100" +*/ +``` + +### วิธียกเลิกพร็อกซี่ + +```js +let trapLogic = { + set(target,key,value, proxy) { + console.log(`set property: ${key} = ${value}`); + return true; + } +}; +let {proxy: myProxy, revoke: revokeFunc} = Proxy.revocable({}, trapLogic); // บรรทัด a +myProxy.a = 100; // "set property: a = 100" -- บรรทัด b +revokeFunc(); // หยุดการทำงานของพร็อกซี่ +console.log(myProxy.a); // TypeError -- บรรทัด c +``` + +## ลำดับของพร็อพเพอร์ตี้ + +```js +let parent = { parentKey: 1 }; +let obj = { + __proto__: parent // กำหนดโปรโตไทป์เป็น parent +}; +console.log(obj.parentKey); // 1 +obj.z = 100; +obj.y = 200; +obj [Symbol("c")] = "symbol c"; +obj [Symbol("a")] = "symbol a"; +obj[3.14] = 400; +obj[-10] = 300 +obj[null] = 500; +obj[undefined] = 600; +obj[true] = 700; +obj[{}] = 800; +obj[10] = "foo"; +obj[0] = "bar"; +console.log(Reflect.ownKeys(obj)); +/* [ "0", "10", "z", "y", "3.14", "-10", "null", "undefined", "true", "Object{}", Symbol(c), Symbol(a)]] */ +console.log(Object.getOwnPropertyNames(obj)); +// [ "0", "10", "z", "y", "3.14", "-10", "null", "undefined", "true", "Object{}"] +console.log(Object.getOwnPropertySymbols(obj)); // [Symbol(c), Symbol(a)] +``` From 0e733daf5ce02082813e65f2fc530378ee246c7d Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 05:42:42 +0700 Subject: [PATCH 057/757] update --- examples_book/Chapter17.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 3428d7e..4347202 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -5,8 +5,8 @@ ### ฟังก์ชั่น eval() ```js -var function1 = "function myFunction ( a, b) { console.log(a*b); }"; -var function2 = "function myFunction ( a, b) { console.log(a/b); }"; +var function1 = "function myFunction (a, b) { console.log(a*b); }"; +var function2 = "function myFunction (a, b) { console.log(a/b); }"; var randomNumber = Math.random() >= 0.5; // true หรือ false var code = randomNumber ? function1 : function2; eval(code); @@ -146,20 +146,20 @@ delete proxyObj.c ; // exception: Can’t delete prope ```js let validation = { // handler apply(targetObj, thisObj, argumentList) { // ดักจับตอนฟังก์ชันเป้าหมายถูกเรียกใช้งาน - if( argumentList.length == 0 ) { // ไม่มีค่าอากิวเมนต์ส่งมาให้ฟังก์ชั่น - throw new Error("Must send arguments to the function"); - } - argumentList.forEach( function(value, index, thisObj) { - if(typeof value != "number") { + if( argumentList.length == 0 ) { // ไม่มีค่าอากิวเมนต์ส่งมาให้ฟังก์ชั่น + throw new Error(“Must send arguments to the function”); + } + argumentList.forEach( function(value, index, thisObj) { + if(typeof value != “number”) { // ตรวจสอบค่าอากิวเมนต์ที่ส่งให้ฟังก์ชั่น มันเป็นตัวเลขหรือไม่ ? - throw new Error("All arguments must be numbers"); - } // สิ้นสุด if - }); // สิ้นสุด argumentList.forEach() - // เรียกใช้งานฟังก์ชันเป้าหมาย + throw new Error(“All arguments must be numbers”); + } // สิ้นสุด if + }); // สิ้นสุด argumentList.forEach() + // เรียกใช้งานฟังก์ชันเป้าหมาย let result = Reflect.apply(targetObj, thisObj, argumentList); // ตรวจสอบค่าที่รีเทิร์นจากฟังก์ชั่น มันอยู่ในช่วง safe integer หรือไม่ ? if( Number.isSafeInteger(result) == false) { - throw new Error("The result is not safe integer"); + throw new Error(“The result is not safe integer”); }; return result; } // สิ้นสุด apply From ef95e5368c7ffe6767ce8587d479e2c353cf39a6 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 05:48:51 +0700 Subject: [PATCH 058/757] no message --- examples_book/Chapter17.md | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 4347202..0a3ab23 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -151,8 +151,8 @@ let validation = { // handler } argumentList.forEach( function(value, index, thisObj) { if(typeof value != “number”) { - // ตรวจสอบค่าอากิวเมนต์ที่ส่งให้ฟังก์ชั่น มันเป็นตัวเลขหรือไม่ ? - throw new Error(“All arguments must be numbers”); + // ตรวจสอบค่าอากิวเมนต์ที่ส่งให้ฟังก์ชั่น มันเป็นตัวเลขหรือไม่ ? + throw new Error(“All arguments must be numbers”); } // สิ้นสุด if }); // สิ้นสุด argumentList.forEach() // เรียกใช้งานฟังก์ชันเป้าหมาย @@ -207,9 +207,7 @@ proxyMultiply(maxNum, maxNum); // error ```js let people = {}; -``` -```js let preventObj = { // handler // ดักจับตอนกำหนดโปรโตไทป์ให้กับอ็อบเจ็กต์เป้าหมาย setPrototypeOf(targetObj, prototype) { @@ -220,30 +218,25 @@ let preventObj = { // handler return Reflect.setPrototypeOf(targetObj, prototype); } // สิ้นสุด setPrototypeOf }// สิ้นสุดประกาศอ็อบเจ้กต์ -``` -```js let man = { age: 17 }; let woman = { age: 20 }; let proxyMan = new Proxy(man, preventObj); let proxyWoman = new Proxy(woman, preventObj); -``` -```js // กำหนดโปรโตไทป์เป็น people ก็จะทำงานได้ตามปกติ proxyMan.__proto__ = people; // "Set the people prototype" proxyWoman.__proto__ = people; // "Set the people prototype" console.log( man.__proto__ === people ); // true console.log( woman.__proto__ === people ); // true -``` -```js // เมื่อกำหนดโปรโตไทป์ที่ไม่ใช่ people ก็จะเกิด error let car = { speed: 100 }; // กำหนดให้เป็นโปรโตไทป์ของ man กับ woman proxyMan.__proto__ = car; // error proxyWoman.__proto__ = car; // error ``` +ตัวอย่างที่ 4 จะแสดงกลไกป้องกันการกำหนดสมาชิกคนละชนิดในอาร์เรย์ ```js let checkType = { set(targetObj, key, value, proxy) { From 17b599460a60a5f44806d7842e80b3eaf346ccfc Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 06:04:46 +0700 Subject: [PATCH 059/757] update --- examples_book/Chapter17.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 0a3ab23..c133e55 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -251,21 +251,15 @@ let checkType = { } } // สิ้นสุดการประกาศ set } -``` -```js let myArray = [ 0, 1, 2, 3, 4]; let proxyArray = new Proxy(myArray, checkType); -``` -```js // เพิ่มสมาชิกตัวที่ 5 (มีชนิดข้อมูลเป็นตัวเลข) proxyArray[5] = 5; console.log(proxyArray); // [ 0, 1, 2, 3, 4, 5 ] console.log(myArray); // [ 0, 1, 2, 3, 4, 5 ] -``` -```js // เพิ่มสมาชิกตัวที่ 6 แต่เป็นสตริง จะเกิด error ขึ้นได้ proxyArray[6] = "6"; // error ``` From 918db840e9e07f10fbf419130d234b40a15d6b64 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 06:06:28 +0700 Subject: [PATCH 060/757] update --- examples_book/Chapter17.md | 1 + 1 file changed, 1 insertion(+) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index c133e55..9d64260 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -264,6 +264,7 @@ console.log(myArray); // [ 0, 1, 2, 3, 4, 5 ] proxyArray[6] = "6"; // error ``` +ตัวอย่างที่ 5 จะแสดงวิธีที่ทำให้อ็อบเจ๊กที่เคยสร้างแล้วจะถูก cached เก็บไว้ จะได้ไม่ต้องสร้างซ้ำ ๆ กันหลายรอบ ```js class Image{ constructor(imageName){ From 01241695bb0aed425ae84719fb0393fbeda0093f Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 09:46:11 +0700 Subject: [PATCH 061/757] update --- examples_book/Chapter17.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 9d64260..8d90164 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -164,39 +164,29 @@ let validation = { // handler return result; } // สิ้นสุด apply } // สิ้นสุดการประกาศอ็อบเจ็กต์ validation -``` -```js function sum(param1, param2) { // หาผลบวก return param1 + param2; } function multiply(param1, param2) { // หาผลคูณ return param1 * param2; } -``` -```js let proxySum = new Proxy(sum, validation); let proxyMultiply = new Proxy(multiply, validation); // เรียกฟังก์ชั่น โดยส่งค่าอากิวเมนต์ไปให้ ที่เป็นตัวเลข // แล้วรีเทิร์นค่าไม่เกิน "safe integer" ก็จะทำงานได้ตามปกติ console.log(proxySum(2, 3 )); // 5 = 2 + 3 console.log(proxyMultiply(2, 3)); // 6 = 2 * 3 -``` -```js // ไม่มีค่าอากิวเมนต์ส่งไปให้ฟังก์ชั่น ก็จะเกิด error proxySum(); // error proxyMultiply(); // error -``` -```js // เมื่อส่งค่าอากิวเมนต์ที่ไม่ใช่ตัวเลข ก็จะเกิด error proxySum(2, "3"); // error proxyMultiply(2, "3"); // error -``` -```js // ค่าที่รีเทิร์นออกจากฟังก์ชั่น ถ้าเกินช่วง safe integer ก็จะเกิด error let maxNum = Number.MAX_SAFE_INTEGER + 1; proxySum(maxNum, maxNum); // error From 19ae780445554b4fdb08d79a199b7bd3255e574b Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 09:49:33 +0700 Subject: [PATCH 062/757] update --- examples_book/Chapter17.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 8d90164..a29646e 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -147,19 +147,19 @@ delete proxyObj.c ; // exception: Can’t delete prope let validation = { // handler apply(targetObj, thisObj, argumentList) { // ดักจับตอนฟังก์ชันเป้าหมายถูกเรียกใช้งาน if( argumentList.length == 0 ) { // ไม่มีค่าอากิวเมนต์ส่งมาให้ฟังก์ชั่น - throw new Error(“Must send arguments to the function”); + throw new Error("Must send arguments to the function"); } argumentList.forEach( function(value, index, thisObj) { - if(typeof value != “number”) { + if(typeof value != "number") { // ตรวจสอบค่าอากิวเมนต์ที่ส่งให้ฟังก์ชั่น มันเป็นตัวเลขหรือไม่ ? - throw new Error(“All arguments must be numbers”); + throw new Error("All arguments must be numbers"); } // สิ้นสุด if }); // สิ้นสุด argumentList.forEach() // เรียกใช้งานฟังก์ชันเป้าหมาย let result = Reflect.apply(targetObj, thisObj, argumentList); // ตรวจสอบค่าที่รีเทิร์นจากฟังก์ชั่น มันอยู่ในช่วง safe integer หรือไม่ ? if( Number.isSafeInteger(result) == false) { - throw new Error(“The result is not safe integer”); + throw new Error("The result is not safe integer"); }; return result; } // สิ้นสุด apply From ba7a013472433acc64faa4363255cbc975ff9a92 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 12:50:25 +0700 Subject: [PATCH 063/757] update --- examples_book/Chapter09.md | 602 +++++++++++++++++++++++++++++++++++++ examples_book/README.md | 34 +-- 2 files changed, 618 insertions(+), 18 deletions(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index 8b13789..07af50e 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -1 +1,603 @@ +# บทที่ 9 การประกาศตัวแปร และการกำหนดค่า +## การประกาศตัวแปรแบบ let + +```js +function calculate(num) { + if (num > 10) { + let value = num*10; // ประกาศตัวแปรแบบ let + // ซอร์สโค้ดส่วนที่เหลือ + console.log(value); // มองเห็นตัวแปร value + } else { + // มองไม่เห็นตัวแปร value + } + // มองไม่เห็นตัวแปร value +} +``` + +```js +var a = 1; +console.log(a); // 1 +{ + var a = 2; + console.log(a); // 2 +} +console.log(a); // 2 +``` + +```js +var a = 1; +console.log(a); // 1 +{ + let a = 2; + console.log(a); // 2 +} +console.log(a); // 1 +``` + +```js +for(var i=0; i < 10; i++) { // วนลูป 10 ครั้ง + // ซอร์สโค้ด +} +// สามารถเข้าถึงตัวแปร i ที่ตอนนี้มีค่าเป็น 10 ได้ +console.log(i); // 10 +``` + +```js +var array = [ ]; +for(var i=0; i < 5; i++) { + // เพิ่มฟังก์ชั่นเข้าไป เพื่อให้เป็นสมาชิกของอาร์เรย์ + array.push( function () { console.log(i) } ); +} +array.forEach( function(printLog) { + // เรียกสมาชิกของอาร์เรย์ที่เป็นฟังก์ชั่น ให้ทำงาน + printLog(); // จะแสดงค่าของตัวแปร i เป็นเลข 5 ทั้งหมดห้ารอบด้วยกัน +}); +/*แสดงผลลัพธ์เป็น +5 +5 +5 +5 +5 */ +``` + +```js +var array = [ ]; +for(var i=0; i< 5; i++) { + array.push( + function(item) { + // รีเทิร์นฟังก์ชั่นออกไป เพื่อให้เป็นสมาชิกของอาร์เรย์ + return function() { console.log(item); } ; + } ( i ) // ใช้เทคนิค IIFE + ); +} +array.forEach( function(printLog) { + printLog(); // รอบแรกแสดงค่าเป็น 0 รอบที่สองเป็น 1 รอบที่สามเป็น 2 …จนถึงรอบที่ห้าจะแสดงค่าเป็น 4 +}); +/*แสดงผลลัพธ์เป็น +0 +1 +2 +3 +4 */ +``` + +```js +var array = [ ]; +for(let i=0; i<5; i++) { // ประกาศตัวแปร i แบบ let + array.push( function () { console.log(i); } ); +} +array.forEach(function(printLog){ + printLog(); // รอบแรกแสดงค่าเป็น 0 รอบที่สองเป็น 1 รอบที่สามเป็น 2 …จนถึงรอบที่ห้าจะแสดงค่าเป็น 4 +}); +/*แสดงผลลัพธ์เป็น +0 +1 +2 +3 +4 */ +``` + + +### สรุปขอบเขตการมองเห็นตัวแปรแบบ let + +```js +console.log(count); // undefined หรือเกิด ReferenceError (ขึ้นอยู่กับจาวาสคริปต์เอ็นจิ้น) +let count = 89; // จะมองเห็นตัวแปร count ตั้งแต่จุดนี้เป็นต้นไป +if(true) { + console.log(count); // 89 +} +``` + +```js +var count = 89; +let count = 12; // เกิด error เพราะประกาศชื่อตัวแปรซ้ำกัน +``` + +```js +var count = 89; +if(true) { + let count = 12; // จะไม่เกิด error + // จากนี้ไปจะมองเห็นตัวแปร count ที่ประกาศแบบ let เท่านั้น + console.log(count); // 12 +} +// มองเห็นและเข้าถึงตัวแปร count ที่อยู่นอกบล็อกของ if +console.log(count); // 89 +``` + +## ตัวแปรค่าคงที่ + +```js +const MAX_COUNT = 100; // ประกาศถูกต้องตามไวยากรณ์ +const MAX_VALUE; // เกิด error เพราะไม่ได้กำหนดค่าตั้งต้นให้แต่แรก +const MESSAGE = "Hello"; // ประกาศถูกต้องตามไวยากรณ์ +MESSAGE = "Bye"; // เกิด error เพราะไปแก้ไขตัวแปรค่าคงที่ภายหลังประกาศใช้งานแล้ว ซึ่งจะทำไม่ได้ +``` + +```js +console.log(count); // undefined หรือเกิด ReferenceError (ขึ้นอยู่กับจาวาสคริปต์เอ็นจิ้น) +const count = 89; // จะมองเห็นตัวแปร count ตั้งแต่จุดนี้เป็นต้นไป +if(true) { + console.log(count); // 89 +} +``` + +```js +var message = "foo"; +let count = 100; +// ประกาศตัวแปรค่าคงที่ +const message = "bar"; // เกิด error เพราะประกาศตัวแปรชื่อซ้ำกัน +const count = 1; // เกิด error เพราะประกาศตัวแปรชื่อซ้ำกัน +``` + +```js +var message = "foo"; +let count = 100; +if(true) { + const message = "bar"; + const count = 1; + // มองเห็นตัวแปร message และ count ที่ประกาศเป็นค่าคงที่เท่านั้น + console.log(message); // "bar" + console.log(count); // 1 +} +// มองเห็นและเข้าถึง message และ count ที่อยู่นอกบล็อกของ if +console.log(message); // "foo" +console.log(count); // 100 +``` + +### ข้อควรระวังเกี่ยวกับตัวแปรค่าคงที่ + +```js +const obj = { + value: 100 +}; +obj.value = 1; // สามารถแก้ไขค่าพร็อพเพอร์ตี้ภายในอ็อบเจ็กต์ได้ +console.log(obj.value); // 1 +obj = 10; // จะเกิด error เพราะแก้ไขตัวแปรค่าคงที่ไม่ได้ +``` + +```js +for (const i=0; i < 10; i++) { // จะ error เพราะ i++ ได้ไปแก้ไขตัวแปร i ซึ่งเป็นค่าคงที่ มันจะทำไม่ได้ + // ซอร์สโค้ด +} +``` + +```js +let obj = { + key1: true, + key2: true +}; +for (const key in obj) { + console.log(key); +} +/*แสดงผลลัพธ์เป็น +"key1" +"key2" */ +``` + +```js +for (const value of [1, 2]) { + console.log(value); +} +/*แสดงผลลัพธ์เป็น +1 +2 */ +``` + +## ดีสตรัคเตอร์ริ่ง + +```js +let f = { + color: "red" + ,size: "200" + ,icon: "small" + ,style: "normal" + ,lang: "thai" +} ; +// การแกะข้อมูลภายในอ็อบเจ็กต์ เพื่อไปกำหนดค่าให้กับตัวแปรทีละตัว จะดูยุ่งยากมาก +let color = f.color, size = f.size, icon = f.icon, style=f.style, lang= f.lang; +console.log(color, size, icon, style, lang); // "red 200 small normal thai" +``` + +```js +let f = ["red", "200", "small", "normal", "thai"]; +// การนำข้อมูลจากอาร์เรย์ เพื่อไปกำหนดค่าให้กับตัวแปรทีละตัว จะดูยุ่งยากมาก +let color = f[0], size = f[1], icon = f[2], style =f[3], lang=f[4]; +console.log(color, size, icon, style, lang); // "red 200 small normal thai" +``` + +### ดีสตรัคเตอร์ริ่งจากอ็อบเจ็กต์ + +```js +let font = { + color: "red", + size: 200 +} ; +let fontColor = font.color, fontSize = font.size; +``` + +```js +let font = { + color: "red", + size: 200 +} ; +// กำหนดค่าให้กับตัวแปร ด้วยวิธีดีสตรัคเตอร์ริ่ง +// จะเสมือนประกาศแบบนี้ +// let fontColor = font.color, fontSize = font.size; +let {color: fontColor, size: fontSize } = font; +// จะประกาศตัวแปรเป็นแบบ var หรือ const ก็ทำได้เช่นกัน +// var {color: fontColor, size: fontSize } = font; +// const {color: fontColor, size: fontSize } = font; +console.log(fontColor); // "red" จะมีค่าเท่ากับ font.color +console.log(fontSize); // 200 จะมีค่าเท่ากับ font.size +``` + +```js +let font = { + color: "red", + size: 200 +}; +// จะเสมือนประกาศแบบนี้ +// let color = font.color, size = font.size; +let {color, size} = font; // กำหนดค่าให้กับตัวแปร ด้วยวิธีดีสตรัคเตอร์ริ่งแบบย่อ +console.log(color); // "red +console.log(size); // 200 +``` + + +```js +let font = { + color: "red", + size: 200 +}; +let { color, size, style } = font; +console.log(color); // "red" +console.log(size); // 200 +console.log(style); // undefined +``` + +### อ็อบเจ็กต์ซ้อนอ็อบเจ็กต์ +```js +let font = { + color: "red", + size: 200, + text : { + name: "thai" + } +} ; +// จะเสมือนประกาศแบบนี้ +// let color = font.color, size = font.size, name = font.text.name; +let {color, size, text: {name} } = font; +console.log(color, size, name); // "red 200 thai" +``` + +## ดีสตรัคเตอร์ริ่งจากอาร์เรย์ + +```js +let font = [ "red", "bold", "thai"]; +// กำหนดค่าให้กับตัวแปร ด้วยวิธีดีสตรัคเตอร์ริ่ง +// จะเสมือนประกาศตัวแปรแบบนี้ +// let color = font[0], style = font[1]; +let [ color, style] = font; +// จะประกาศตัวแปรเป็นแบบ var หรือ const ก็ทำได้เช่นกัน +// var [color, style] = font; +// const [color, style] = font; +console.log(color); // "red" จะมีค่าเท่ากับ font[0] +console.log(style); // "bold" จะมีค่าเท่ากับ font[1] +``` + +```js +let font = [ "red", "bold", "thai"]; +let [ , style , ] = font; +console.log(style); // "bold" +``` + +### อาร์เรย์ซ้อนอาร์เรย์ + +```js +let font = [ "red", ["200", "thai"], "bold"]; +let [ color, [size, lang], style, option] = font; +console.log(color); // "red" +console.log(color === font[0]); // true +console.log(size); // "200" +console.log(size === font[1][0]); // true +console.log(lang); // "thai" +console.log(lang === font[1][1]); // true +console.log(style); // "bold" +console.log(style === font[2]); // true +console.log(option); // undefined +``` + +```js +let font = [ "red", ["200", "thai"], "bold"]; +let [ color, option , style] = font; +console.log(color, style); // "red bold" +console.log(option[0]); // "200" +console.log(option[1]); // "thai" +console.log(option === font[1]); // true (เพราะมันอ้างอิงไปที่อาร์เรย์ตำแหน่งเดียวกัน) +``` + +## ข้อควรรู้เพิ่มเติมของวิธีดีสตรัคเตอร์ริ่ง + +```js +let action = { + save: true + ,undo: false +}; +let save, undo; +{save, undo} = action; // เกิด error +``` + +```js +let action = { + save: true + ,undo: false +}; +let save, undo; +({save, undo} = action); // ใส่วงเล็บครอบทั้งประโยคจะไม่เกิด error +console.log(save, undo); // true false +``` + +```js +let font = [ "red", "bold"]; +let color, style; +[color, style] = font; // ไม่เกิด error +console.log(color, style); // "red bold" +``` + +### การระบุค่าดีฟอลต์ให้กับตัวแปร + +```js +let { color, size = 200 } = {color:"red"} +console.log(color) // "red" +console.log(size) // 200 +``` + +```js +let [ , ,lang = "thai"] = [] +console.log(lang); // "thai" +``` + +### ข้อมูลผสมระหว่างอ็อบเจ็กต์และอาร์เรย์ + +```js +let action = { + save : "success", + undo : "none", + option : ["move", "stop", "slow"] +}; +// กำหนดค่าให้กับตัวแปรด้วยวิธีดีสตรัคเตอร์ริ่ง +let {save, undo, option: [ moveOption, stopOption]} = action; +console.log(save, undo, moveOption, stopOption); // "success none move stop" +``` + +```js +let action = { + save : "succes", + undo : "none", + option : ["move", "stop", "slow"] +}; +let {save, undo, option} = action; // บรรทัด a +console.log(save, undo); // "success none" +console.log(option[0]); // "move" +console.log(option[1]); // "stop" +console.log(option[2]); // "slow" +console.log(option === action.option); // true (เพราะมันอ้างอิงไปที่อาร์เรย์ตำแหน่งเดียวกัน) +``` + +### การสลับข้อมูล + +```js +let a = 1, b =2 +let temp = a; // temp เป็นตัวแปรชั่วคราวที่ใช้เก็บค่าของ a เอาไว้ก่อน +a = b; +b = temp; +console.log(a); // 2 +console.log(b); // 1 +``` + +```js +let a = 1, b =2; +[b , a] = [a , b]; // ดีสตรัคเตอร์ริ่งจากอาร์เรย์ +console.log(a); // 2 +console.log(b); // 1 +``` + +### รับค่าจากฟังก์ชั่น + +```js +function myFunctin(){ + return {a:1 ,b: 2}; +} +let {a, b} = myFunctin(); +console.log(a, b); // 1, 2 +``` + +```js +function myFunctin(){ + return [1, 2] ; +} +let [a, b] = myFunctin(); +console.log(a, b); // 1 2 +``` + +### ข้อมูล JSON + +```js +// เป็นข้อมูล JSON ซึ่งเขียนด้วยเทมเพลตสตริง (บทที่ 11) +let jsonText = `{ + "file": "index.html", + "menu": [ + {"value": "New", "onclick": "createDoc"}, + {"value": "Open", "onclick": "openDoc"} + ] +}`; +let jsonObj = JSON.parse(jsonText); // อ็อบเจ็กต์ที่ใช้เป็นตัวแทนของ JSON +console.log(jsonObj); +/* แสดงผลลัพธ์เป็น +{ + file: 'index.html', + menu: [ + { value: 'New', onclick: 'createDoc' }, + { value: 'Open', onclick: 'openDoc' } + ] +} */ +let {file, menu:[ menu1, menu2] } = jsonObj; +console.log(file); // "index.html" +console.log(menu1.value); // "New" +console.log(menu1.onclick); // "createDoc" +console.log(menu2.value); // "Open" +console.log(menu2.onclick); // "openDoc" +``` + +### พร็อพเพอร์ตี้แบบเรสต์ + +```js +let obj = {foo: 1, bar: 2, zoo: 3}; +let {foo, ...rest} = obj; +console.log(foo); +console.log(rest) // { bar: 2, zoo: 3 } +``` + +```js +let obj = {foo: 1, bar: 2, zoo: 3}; +let {...rest, zoo} = obj; // ...rest วางไว้ด้านหน้าไม่ได้ จะเกิด error +let {foo, ...rest1, ...rest2} = obj; // ...rest1 , ...rest2 ใช้ซ้ำกันไม่ได้ จะเกิด error +``` + + +### Nullish Coalescing operator + + +```js +console.log(null ?? 555); // 555 +``` + +```js +console.log(undefined ?? 666); // 666 +``` + +```js +let x; // x = undefined +let a = x ?? 10; +console.log(a); // 10 +``` + +```js +let x; // undefined +let a = x || 10; // เมื่อยังไม่มีโอเปเรเตอร์ ? ให้ใช้งาน +console.log(a); // 10 +``` + +```js +let x = null; +let a = x || 10; // เมื่อยังไม่มีโอเปเรเตอร์ ? ให้ใช้งาน +console.log(a); // 10 +``` + +```js +let x = 5; +let a = x || 10; // เมื่อยังไม่มีโอเปเรเตอร์ ? ให้ใช้งาน +console.log(a); // 5 +``` + +```js +let x = 0; +let a = x || 10; // เกิดปัญหา เพราะ x มีค่าเป็น 0 ซึ่งเทียบเท่า false +console.log(a); // 10 +a = x ?? 10; // ไม่มีปัญหาเหมือน || +console.log(a); // 0 +``` + +```js +let x; // x = undefined +let a = x ?? 10; +console.log(a); // 10 +``` + +```js +let x; // x = undefined +let a; +if ( x==null || x == undefined) { + a = 10; // default +} else { + a = x; +} +console.log(a); // 10 +``` + +```js +let x; // x = undefined +let a = (x !== undefined && x !== null) ? x : 10; // ยุบเหลือบรรทัดเดียว +console.log(a); // 10 +``` + +### Logical Assignment Operator + +ตัวอย่างโอเปอเรเตอร์ &&= + +```js +let x = true; +let y = 555; +x &&= y; // เสมือนเขียน x && (x=y); +console.log(x); // 555 +``` + +```js +let x = false; +let y = 555; +x &&= y; // เสมือนเขียน x && (x=y); +console.log(x); // false +``` + +ตัวอย่างโอเปอเรเตอร์ ||= + +```js +let x = false; +let y = 666; +x ||= y; // เสมือนเขียน x || (x=y); +console.log(x) // 666 +``` + +```js +let x = true; +let y = 555; +x ||= y; // เสมือนเขียน x || (x=y); +console.log(x); // true +``` + +ตัวอย่างโอเปอเรเตอร์ ??= + +```js +let x; // x = undefined +let y = 777 +x ??= y; // เสมือนเขียน x = x ?? (x=y); +console.log(x) // 777 +``` + +```js +let x=10; +let y = 777 +x ??= y; // เสมือนเขียน x = x ?? (x=y); +console.log(x) // 10 +``` \ No newline at end of file diff --git a/examples_book/README.md b/examples_book/README.md index b67c7ed..c8ff285 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -4,25 +4,23 @@ (กำลังอัปเดตโค้ดอยู่นะครับ ยังไม่เรียบร้อยดี) -* [บทที่ 1](Chapter1.md) -* [บทที่ 2](Chapter2.md) -* [บทที่ 3](Chapter3.md) -* [บทที่ 4](Chapter4.md) -* [บทที่ 5](Chapter5.md) -* [บทที่ 6](Chapter6.md) -* [บทที่ 7](Chapter7.md) -* [บทที่ 8](Chapter9.md) -* [บทที่ 9](Chapter9.md) +* [บทที่ 3 ](Chapter03.md) +* [บทที่ 4 ](Chapter04.md) +* [บทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น] (Chapter05.md) +* [บทที่ 6 ](Chapter06.md) +* [บทที่ 7 ](Chapter07.md) +* [บทที่ 8 ฟีเจอร์ใหม่ของตัวเลข สตริง และ regex](Chapter8.md) +* [บทที่ 9 การประกาศตัวแปร และการกำหนดค่า] (Chapter9.md) * [บทที่ 10](Chapter10.md) -* [บทที่ 11](Chapter11.md) -* [บทที่ 12](Chapter12.md) -* [บทที่ 13](Chapter13.md) -* [บทที่ 14](Chapter14.md) -* [บทที่ 15](Chapter15.md) -* [บทที่ 16](Chapter16.md) -* [บทที่ 17](Chapter17.md) -* [บทที่ 18](Chapter18.md) -* [บทที่ 19](Chapter19.md) +* [บทที่ 11 เทมเพลตสตริง] (Chapter11.md) +* [บทที่ 12 ซิมโบล --มีแผนปรับปรุงโค้ด] (Chapter12.md) +* [บทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์] (Chapter13.md) +* [บทที่ 14 ](Chapter14.md) +* [บทที่ 15 ](Chapter15.md) +* [บทที่ 16 ](Chapter16.md) +* [บทที่ 17 เมต้าโปรแกรมมิ่ง --มีแผนปรับปรุงโค้ด] (Chapter17.md) +* [บทที่ 18 ](Chapter18.md) +* [บทที่ 19 ](Chapter19.md) * [ไฟล์ json.php ประกอบเนื้อหา Fetch API](json.php) * [บทที่ 20](Chapter20.md) * [ภาคผนวก ข](Appendix_B) From 8bc47adc28014d38782f0b31aa5553790e27b4a9 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 13:18:08 +0700 Subject: [PATCH 064/757] update --- examples_book/Chapter09.md | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index 07af50e..8ad8074 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -15,6 +15,8 @@ function calculate(num) { } ``` +### การใช้ตัวแปรแบบ var เปรียบเทียบกับ let + ```js var a = 1; console.log(a); // 1 @@ -35,6 +37,8 @@ console.log(a); // 1 console.log(a); // 1 ``` +### var กับ let ในประโยควนลูป + ```js for(var i=0; i < 10; i++) { // วนลูป 10 ครั้ง // ซอร์สโค้ด @@ -43,6 +47,13 @@ for(var i=0; i < 10; i++) { // วนลูป 10 ครั้ง console.log(i); // 10 ``` +```js +for(let i=0; i < 10; i++) { // วนลูป 10 ครั้ง + // ซอร์สโค้ด +} +console.log(i); // จะเกิด ReferenceError เพราะมองไม่เห็นตัวแปร i +``` + ```js var array = [ ]; for(var i=0; i < 5; i++) { @@ -341,8 +352,8 @@ console.log(option === font[1]); // true (เพราะมัน ```js let action = { - save: true - ,undo: false + save: true, + undo: false }; let save, undo; {save, undo} = action; // เกิด error @@ -350,12 +361,13 @@ let save, undo; ```js let action = { - save: true - ,undo: false + save: true, + undo: false }; let save, undo; ({save, undo} = action); // ใส่วงเล็บครอบทั้งประโยคจะไม่เกิด error console.log(save, undo); // true false + ``` ```js @@ -423,6 +435,13 @@ console.log(a); // 2 console.log(b); // 1 ``` +```js +let font = [ “red”, “bold”]; +let color, style; +[color, style] = font; // ไม่เกิด error +console.log(color, style); // “red bold” +``` + ### รับค่าจากฟังก์ชั่น ```js From da54bc97b762de7917c9e1353a5b687cefe13795 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 13:42:38 +0700 Subject: [PATCH 065/757] update --- examples_book/Chapter09.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index 8ad8074..97d37bd 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -436,10 +436,10 @@ console.log(b); // 1 ``` ```js -let font = [ “red”, “bold”]; -let color, style; -[color, style] = font; // ไม่เกิด error -console.log(color, style); // “red bold” +let a = 1, b = 2, c = 3, d = 4; +console.log(a, b, c, d); // 1 2 3 4 +[d, c, b ,a] = [a, b, c, d]; // ดีสตรัคเตอร์ริ่งจากอาร์เรย์ +console.log(a, b, c, d); // 4 3 2 1 ``` ### รับค่าจากฟังก์ชั่น From d9bc532085a3ff6db509cd65e793535b90fc3f00 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 14:42:36 +0700 Subject: [PATCH 066/757] update --- examples_book/Chapter03.md | 395 +++++++++---------------- examples_book/Chapter_03/MyScript_2.js | 1 + examples_book/Chapter_03/myScript_1.js | 1 + 3 files changed, 143 insertions(+), 254 deletions(-) create mode 100644 examples_book/Chapter_03/MyScript_2.js create mode 100644 examples_book/Chapter_03/myScript_1.js diff --git a/examples_book/Chapter03.md b/examples_book/Chapter03.md index a7f4daf..1a281b0 100644 --- a/examples_book/Chapter03.md +++ b/examples_book/Chapter03.md @@ -1,296 +1,183 @@ - -# บทที่ 3 ทบทวนประโยคคำสั่งเบื้องต้น - -## บล็อก -```js -{ - var a = 2; // ประโยคคำสั่ง 1 - a++; // ประโยคคำสั่ง 2 - console.log(a); // ประโยคคำสั่ง 3 -} +# บทที่ 3 รันจาวาสคริปต์อย่างง่าย + +## จาวาสคริปต์บนเว็บเบราเซอร์ + +### ตัวอย่างการวางจาวาสคริต์ใน ... + +```html + + + + + +

Hello, world!

+ + +``` + +```html + + + + + +

+ + + +``` + +### ตัวอย่างการวางจาวาสคริต์ใน ... + +```html + + + + + + + +

Hello, World!

+ + +``` + +```html + + + + + + + +

+ + ``` -```js -if (true) { - var a = 2; // ประโยคคำสั่ง 1 - a++; // ประโยคคำสั่ง 2 - console.log(a); // ประโยคคำสั่ง 3 -} +```html + + + + + + + +

+ + + ``` -## ประโยคคำสั่ง while -```js -var i = 0; -while (i < 3) { - console.log(i); - i++; -} -/* แสดงผลลัพธ์ -0 -1 -2 */ -``` +### ตัวอย่างการใช้งาน ES6 ในฝั่งเว็บเบราเซอร์ -## ประโยคคำสั่ง do …while -```js -var i = 0; -do{ - console.log(i); - i++; -} while (i < 3); -/* แสดงผลลัพธ์ -0 -1 -2 */ +```html + + + + + +

+ + + ``` -## ประโยคคำสั่ง for -```js -for(var i=0; i<3; i++){ - console.log(i); -} -/* แสดงผลลัพธ์ -0 -1 -2 */ -``` +### แยกไฟล์จาวาสคริปต์ ออกจาก HTML -## ประโยคคำสั่ง continue -```js -for(var i=0; i<3; i++){ - if(i<=1){ - continue; // ข้ามประโยคคำสั่งที่เหลือ ไปทำงานรอบถัดไปแทน - } - console.log(i); -} -// แสดงผลลัพธ์ -// 2 -``` -## ประโยคคำสั่ง break -```js -for(var i=0; i<3; i++){ - if(i==2){ - break; - } - console.log(i); -} -/* แสดงผลลัพธ์ -0 -1 */ -``` +[ไฟล์ myScript_1.js](Chapter03/myScript_1.js) -## ประโยคคำสั่ง label -```js -outer: for(var i=0; i < 2; i++) { // บรรทัด a - console.log("i: ", i); - for (var j=0; j < 3; j++ ) { - if ( j == 1){ - continue outer; // บรรทัด b - } - console.log("j: ", j); - }// สิ้นสุดประโยคคำสั่ง for -} // สิ้นสุดประโยคคำสตั่ง for ที่ได้ติดฉลาก outer: for -/* แสดงผลลัพธ์ -"i: 0" -"j: 0" -"i: 1" -"j: 0" */ -``` +[ไฟล์ myScript_2.js](Chapter03/myScript_2.js) -```js -outer: while(true){ // บรรทัด a - for (var i=0; i < 3; i++ ) { - if ( i == 1){ - break outer; // บรรทัด b - } - console.log("i: ", i); - }// สิ้นสุดประโยคคำสั่ง for -}// สิ้นสุดประโยคคำสั่ง while -// แสดงผลลัพธ์ -// "i: 0" -outer: while(true){ // บรรทัด a - for (var i=0; i < 3; i++ ) { - if ( i == 1){ - break outer; // บรรทัด b - } - console.log("i: ", i); - }// สิ้นสุดประโยคคำสั่ง for -}// สิ้นสุดประโยคคำสั่ง while -// แสดงผลลัพธ์ -// "i: 0" +```html + + + + + + + + + ``` -## ประโยคคำสั่ง if -```js -// var i = 1; -// var i = 2; -// var i = 3; - -if(i == 1) -console.log("if statement"); -else if(i == 2) - console.log("else if statement"); -else - console.log("else statement"); -``` +```html -## ประโยคคำสั่ง switch -```js -// var i = 1; -// var i = 2; -// var i = 3; -switch (i) { - case 1: - console.log("case1"); // ถ้า i มีค่าเป็น 1 ก็จะมาทำประโยคนี้ - break; // ออกจากประโยค switch - case 2: - console.log("case2"); // ถ้า i มีค่าเป็น 2 ก็จะมาทำประโยคนี้ - break; // ออกจากประโยค switch - default: - console.log("case_default"); // ถ้า i ไม่ใช่ 1 กับ 2 ก็จะมาทำประโยคนี้ - -} ``` -```js -switch (1) { - case 1: - console.log("case1"); - case 2: - console.log("case2"); - default: - console.log("case_default"); -} -/* แสดงผลลัพธ์เป็น -"case1" -"case2" -"case_default" */ -``` +```html -```js -switch (1) { - case 1: - case 2: - default: - console.log("case_default"); -} -// แสดงผลลัพธ์เป็น -// "case_default" ``` -## โอเปอเรเตอร์แบบเงื่อนไข -```js -// var condition = true; -// var condition = false; -var value = condition ? "foo" : "bar"; -console.log(value); // "foo" หรือ "bar" -``` +```html -```js -// var condition = true; -// var condition = false; -var value; -if(condition){ -value = "foo"; -} else { - value = "bar"; -} -console.log(value); // "foo" หรือ "bar" ``` -## ปการจัดการความผิดพลาด -```js -throw "Error"; // โยน exception เป็นชนิดข้อมูลสตริง -throw 100; // โยน exception เป็นชนิดข้อมูลตัวเลข -throw true; // โยน exception เป็นชนิดข้อมูลบูลีน -throw new Object(); // โยน exception เป็นชนิดข้อมูลอ็อบเจ็กต์ -throw new Error("Error") // โยน exception เป็นชนิดข้อมูลอ็อบเจ็กต์ -``` +```html -```js -console.log(x); // ReferenceError ``` -```js -new Error(["ข้อความ error"]) +```html + ``` -```js -throw new SyntaxError ("Syntax error"); +```html + ``` -## ประโยคคำสั่งจัดการความผิดพลาด -```js -try { - console.log(x); // บรรทัด a - x++; // บรรทัด b -} catch (e) { - console.log(typeof e); // "object" - console.log(e.message); // "x is not defined" - console.log(e.name); // "ReferenceError" -} -console.log("Last statement"); // บรรทัด c -/* แสดงผลลัพธ์เป็น -"object" -"x is not defined" -"ReferenceError" -"Last statement" */ +```html + ``` ```js -try { -throw 42; // โยน exception ออกมาเอง -console.log(42); // เส้นทางการทำงานของโปรแกรมจะมาไม่ถึง -} catch (e) { - console.log(e); // 42 -} -console.log("Last statment"); -/* แสดงผลลัพธ์ -42 -"Last statment" */ + ``` ```js -try { -console.log(x); // บรรทัด a -} catch (e){ - console.log(e.message); // "x is not defined" -} finally { - console.log("finally"); -} -console.log("Last statement"); -/* แสดงผลลัพธ์ -"x is not defined" -"finally"; -"Last statement" */ + ``` ```js -try { -console.log("no error"); -} catch (e){ - console.error(e.message); -} finally{ - console.log("finally"); -} -console.log("Last statement "); -/* แสดงผลลัพธ์ -"no error" -"finally"; -"Last statement" */ + ``` ```js -function foo(){ -try { - return "foo"; -} finally{ - console.log("finally"); -} -} -console.log(foo()); -/* แสดงผลลัพธ์ -"finally"; -"foo"; */ + ``` diff --git a/examples_book/Chapter_03/MyScript_2.js b/examples_book/Chapter_03/MyScript_2.js new file mode 100644 index 0000000..1a3d6c5 --- /dev/null +++ b/examples_book/Chapter_03/MyScript_2.js @@ -0,0 +1 @@ +alert("Good Bye"); \ No newline at end of file diff --git a/examples_book/Chapter_03/myScript_1.js b/examples_book/Chapter_03/myScript_1.js new file mode 100644 index 0000000..ade84ee --- /dev/null +++ b/examples_book/Chapter_03/myScript_1.js @@ -0,0 +1 @@ +alert("Hello"); \ No newline at end of file From d86f706d99e075146e64d80e611a91985343b020 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 14:44:11 +0700 Subject: [PATCH 067/757] update --- examples_book/Chapter09.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index 97d37bd..818c641 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -445,7 +445,7 @@ console.log(a, b, c, d); // 4 3 2 1 ### รับค่าจากฟังก์ชั่น ```js -function myFunctin(){ +function myFunctin() { return {a:1 ,b: 2}; } let {a, b} = myFunctin(); @@ -453,7 +453,7 @@ console.log(a, b); // 1, 2 ``` ```js -function myFunctin(){ +function myFunctin() { return [1, 2] ; } let [a, b] = myFunctin(); From 8474fd75d5aa5bfafe55c0116bed6b15165dc468 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 14:45:20 +0700 Subject: [PATCH 068/757] update --- examples_book/{Chapter_03 => Chapter03}/MyScript_2.js | 0 examples_book/{Chapter_03 => Chapter03}/myScript_1.js | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename examples_book/{Chapter_03 => Chapter03}/MyScript_2.js (100%) rename examples_book/{Chapter_03 => Chapter03}/myScript_1.js (100%) diff --git a/examples_book/Chapter_03/MyScript_2.js b/examples_book/Chapter03/MyScript_2.js similarity index 100% rename from examples_book/Chapter_03/MyScript_2.js rename to examples_book/Chapter03/MyScript_2.js diff --git a/examples_book/Chapter_03/myScript_1.js b/examples_book/Chapter03/myScript_1.js similarity index 100% rename from examples_book/Chapter_03/myScript_1.js rename to examples_book/Chapter03/myScript_1.js From f1435a84a8da2af506eede5906ccbdb0bb81082a Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 14:49:29 +0700 Subject: [PATCH 069/757] Rename MyScript_2.js to myScript_2.js --- examples_book/Chapter03/MyScript_2.js | 1 - examples_book/Chapter03/myScript_2.js | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 examples_book/Chapter03/MyScript_2.js create mode 100644 examples_book/Chapter03/myScript_2.js diff --git a/examples_book/Chapter03/MyScript_2.js b/examples_book/Chapter03/MyScript_2.js deleted file mode 100644 index 1a3d6c5..0000000 --- a/examples_book/Chapter03/MyScript_2.js +++ /dev/null @@ -1 +0,0 @@ -alert("Good Bye"); \ No newline at end of file diff --git a/examples_book/Chapter03/myScript_2.js b/examples_book/Chapter03/myScript_2.js new file mode 100644 index 0000000..e3c1dc9 --- /dev/null +++ b/examples_book/Chapter03/myScript_2.js @@ -0,0 +1 @@ +alert("Good Bye"); From 6ba50c59cdeecb45861f01fe3e76b751441539de Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 15:01:07 +0700 Subject: [PATCH 070/757] update --- examples_book/Chapter03.md | 166 +++++++++++++++++++++++++++++-------- 1 file changed, 132 insertions(+), 34 deletions(-) diff --git a/examples_book/Chapter03.md b/examples_book/Chapter03.md index 1a281b0..29cc3d7 100644 --- a/examples_book/Chapter03.md +++ b/examples_book/Chapter03.md @@ -2,6 +2,30 @@ ## จาวาสคริปต์บนเว็บเบราเซอร์ +### วิธีแทรกจาวาสคริปต์ลงในไฟล์ HTML + +```html + + + + + + +

+
+

+ + + +``` + ### ตัวอย่างการวางจาวาสคริต์ใน ... ```html @@ -21,14 +45,14 @@ -

+

@@ -42,11 +66,11 @@ -

Hello, World!

+

Hello, World!

``` @@ -59,14 +83,14 @@ -

+

``` @@ -79,15 +103,15 @@ -

+

@@ -101,18 +125,18 @@ -

+

@@ -130,54 +154,128 @@ - + - + ``` -```html +## จาวาสคริปต์ ES บนเว็บเบราเซอร์รุ่นเก่า -``` +### ตัวอย่างการใช้งาน Traceur ```html - + + + + + + + + + + +

+ ``` -```html - -``` +### ตัวอย่างการใช้งาน Babel ```html - + + + + + + + +

+ + + ``` -```html +## จาวาสคริปต์นอกเว็บเบราเซอร์ด้วย Node.js -``` +### รันจาวาสคริปต์นอกเว็บเบราเซอร์ จากไฟล์นามสกุล .js ตามลำพัง -```html +```js +class Chat { + constructor(message) { + this.message = message; + } + say() { + console.log(this.message); + } +}; +let chat = new Chat("Hello, world!"); +chat.say(); ``` -```html - -``` +### ตัวอย่างการรันจาวาสคริปต์ให้กลายเป็นเซิร์ฟเวอร์ ```js - +var http = require('http'); +http.createServer(function (request, response) { + response.writeHead(200, {'Content-Type': 'text/plain'}); + response.end("Hello, world!"); +}).listen(8001, '127.0.0.1'); +console.log('Server running at http://127.0.0.1:8001/'); ``` -```js - -``` +## จาวาสคริปต์นอกเว็บเบราเซอร์ด้วย Deno ```js +import { serve } from "https://deno.land/std@0.97.0/http/server.ts"; +const s = serve({ port: 8000 }); +console.log("http://localhost:8000/"); +for await (const req of s) { + req.respond({ body: "Hello, world!" }); +} ``` -```js +## เครื่องมือในการดีบั๊ก +```html + + + + + +

+ + + ``` From 55e95f1b4dc957eb6b46fcfe4de243f1228e0260 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 17:31:03 +0700 Subject: [PATCH 071/757] update --- examples_book/Chapter03.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter03.md b/examples_book/Chapter03.md index 29cc3d7..1e2a00c 100644 --- a/examples_book/Chapter03.md +++ b/examples_book/Chapter03.md @@ -6,21 +6,21 @@ ```html - +

-

+

From ce351138883b76a42a47ef902ef247f2c7fd59c0 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 17:32:50 +0700 Subject: [PATCH 072/757] update --- examples_book/Chapter03.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter03.md b/examples_book/Chapter03.md index 1e2a00c..aa26439 100644 --- a/examples_book/Chapter03.md +++ b/examples_book/Chapter03.md @@ -26,7 +26,7 @@ ``` -### ตัวอย่างการวางจาวาสคริต์ใน ... +### ตัวอย่างการวางจาวาสคริต์ใน ' ...' ```html @@ -58,7 +58,7 @@ ``` -### ตัวอย่างการวางจาวาสคริต์ใน ... +### ตัวอย่างการวางจาวาสคริต์ใน ' ...' ```html From c4f14c498a8986b6851dbba469de4fc86f8baa79 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 17:36:32 +0700 Subject: [PATCH 073/757] update --- examples_book/Chapter03.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter03.md b/examples_book/Chapter03.md index aa26439..a8250d6 100644 --- a/examples_book/Chapter03.md +++ b/examples_book/Chapter03.md @@ -26,7 +26,7 @@ ``` -### ตัวอย่างการวางจาวาสคริต์ใน ' ...' +### ตัวอย่างการวางจาวาสคริต์ใน <body> ...</body>' ```html @@ -58,7 +58,7 @@ ``` -### ตัวอย่างการวางจาวาสคริต์ใน ' ...' +### ตัวอย่างการวางจาวาสคริต์ใน <head< ...</head>' ```html From 9cf039e9796db5a999198226273296dd574bff16 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 17:44:12 +0700 Subject: [PATCH 074/757] update --- examples_book/Chapter03.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter03.md b/examples_book/Chapter03.md index a8250d6..a0430fe 100644 --- a/examples_book/Chapter03.md +++ b/examples_book/Chapter03.md @@ -26,7 +26,7 @@ ``` -### ตัวอย่างการวางจาวาสคริต์ใน <body> ...</body>' +### ตัวอย่างการวางจาวาสคริต์ใน <body> ...</body> ```html @@ -58,7 +58,7 @@ ``` -### ตัวอย่างการวางจาวาสคริต์ใน <head< ...</head>' +### ตัวอย่างการวางจาวาสคริต์ใน <head< ...</head> ```html @@ -82,7 +82,7 @@ + + ``` ### ตัวอย่างการใช้งาน Babel From d2256d42d20f9db26b5fe2b80ef393f07bf35266 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 21:00:43 +0700 Subject: [PATCH 075/757] update --- examples_book/Chapter01.md | 114 ------------------------------------- 1 file changed, 114 deletions(-) delete mode 100644 examples_book/Chapter01.md diff --git a/examples_book/Chapter01.md b/examples_book/Chapter01.md deleted file mode 100644 index 3227e64..0000000 --- a/examples_book/Chapter01.md +++ /dev/null @@ -1,114 +0,0 @@ - -# บทที่ 1 แนะนำภาษาจาวาสคริปต์ - -## จาวาสคริปต์บนเว็บเบราเซอร์ -```html - - - - - -

Hello, world!

- - -``` - -```html - - - - - -

- - - -``` - -## จาวาสคริปต์ฝั่งเซิร์ฟเวอร์ -```js -var http = require('http'); -http.createServer(function (request, response) { - response.writeHead(200, {'Content-Type': 'text/plain'}); - response.end("Hello, world!"); -}).listen(8001, '127.0.0.1'); -console.log('Server running at http://127.0.0.1:8001/'); -``` - -## Traceur -```html - - - - - - - - - - -

- - - -``` - -## ตัวอย่าง Babel -```html - - - - - - - -

- - - -``` - -## ตัวอย่าง ES6 นอกเว็บเบราเซอร์ -```js -class Chat{ - constructor(message) { - this.message = message; - } - say(){ - console.log(this.message); - } -}; -let chat = new Chat("Hello, world!"); -chat.say(); -``` From 6b5d1558c3ef9131ec78e854e0984418c6c4a8a6 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 27 Jul 2023 22:45:08 +0700 Subject: [PATCH 076/757] update --- examples_book/Chapter09.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index 818c641..ab7917e 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -494,8 +494,8 @@ console.log(menu2.onclick); // "openDoc" ```js let obj = {foo: 1, bar: 2, zoo: 3}; let {foo, ...rest} = obj; -console.log(foo); -console.log(rest) // { bar: 2, zoo: 3 } +console.log(foo); // 1 +console.log(rest) // { bar: 2, zoo: 3 } ``` ```js From 4be7093eb0fe4f1a8616939c37b4cee51c38bbd4 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 05:45:44 +0700 Subject: [PATCH 077/757] update --- examples_book/Chapter15.md | 781 +++++++++++++++++++++++++++++++++++++ 1 file changed, 781 insertions(+) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 8b13789..255a938 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -1 +1,782 @@ +# บทที่ 15 คอลเลคชั่น + +## อาเรย์ + +### Array.of() + +```js +let array = Array.of( 1, 2, 3 ); +console.log(array.length); // 3 +console.log(array); // [ 1, 2, 3 ] +console.log(array[0], array[1], array[2]); // 1 2 3 +// จะเสมือนสร้างอาร์เรย์โดยใช้วงเล็บเหลี่ยม +// let array = [1, 2, 3]; +``` + +### Array.from() + +```js +let a = [1, 2, 3]; +let array1 = Array.from(a); +console.log(array1); // [ 1, 2, 3 ] +let str = "456"; +let array2 = Array.from(str); +console.log(array2); // ["4", "5", "6"] +let set = new Set([7, 8, 9]); +let array3 = Array.from(set); +console.log(array3); // [7, 8, 9] +``` + +```js +let obj = { + length: 4, + 1: "foo", + 2: "bar" +}; +let array = Array.from(obj); +console.log(obj.length); // 4 +console.log(array); // [ undefined, "foo", "bar", undefined ] +``` + +```js +let a = Array.from( { length: 4 } ); // มีสมาชิกทั้งหมด 4 ตัว ที่มีค่าเป็น undefined +console.log(a); // [undefined, undefined, undefined, undefined] +``` + +```js +let b = Array( 4 ); +console.log(b); // [ <4 empty items> ] +let c = Array.apply( null, { length: 4 } ); +console.log(c); // [undefined, undefined, undefined, undefined] +``` + +```js +let obj = { + length: 4, + 1: "foo", + 2: "bar" +}; +let toUpper = function (value,index){ // ฟังก์ชั่นคอลแบ็ค + if (typeof value == "string") { + return value.toUpperCase(); // รีเทิร์นสตริงตัวพิมพ์ใหญ่ + } else { + return "index_" + index; // รีเทิร์นข้อความที่ขึ้นต้นด้วยคำว่า "index_" แล้วตามด้วยอินเด็กซ์ + } +}; +let array = Array.from( obj, toUpper ); +console.log(array); +// จะแปลงจาก [ undefined, "foo", "bar", undefined ] +// ให้กลายมาเป็น [ "index_0", "FOO", "BAR", "index_3" ] +``` + +```js +let obj = { + length: 4, + 1: "foo", + 2: "bar" +}; +let array = Array.from( obj, function (value,index){ + // console.log(this === obj); // true + return this[index]; +},obj); // อากิวเมนต์ตัวที่สาม +console.log(array); // [ undefined, "foo", "bar", undefined ] +``` + +### copyWithin() + +```js +let a1 = [0, 1, 2, 3, 4, 5]; +a1.copyWithin( 3, 0 ); +console.log(a1); // [ 0, 1, 2, 0, 1, 2 ] +let a2 = [0, 1, 2, 3, 4, 5]; +a2.copyWithin( 3, 0, 2 ); +console.log(a2); // [ 0, 1, 2, 0, 1, 5 ] +``` + +```js +let a3 = [0, 1, 2, 3, 4, 5]; +a3.copyWithin( 0, -2 ); +console.log(a3) // [ 4, 5, 2, 3, 4, 5 ] +let a4 = [0, 1, 2, 3, 4, 5]; +a4.copyWithin( 0, -3, -1); +console.log(a4); // [ 3, 4, 2, 3, 4, 5 ] +``` + +### fill() + +```js +let array = Array.of("a", "b", "c", "d"); +console.log(array); // ["a", "b", "c", "d"]; +array.fill( 1 ); +console.log(array); // [ 1, 1, 1, 1 ] +``` + +```js +let array = [ null, null, null, null ,null].fill( 10, 1 ); +console.log(array); // [ null, 10, 10, 10, 10 ] +``` + +```js +let array = [ null, null, null, null ,null].fill( 10, 1, 4 ); +console.log(array); // [ null, 10, 10, 10, null ] +``` + +### find() + +```js +let a = ["red", "green", "blue", "yellow"]; +function search(value, index, array) { // ฟังก์ชั่นคอลแบ็ค + //console.log(array); // ["red", "green", "blue", "yellow"] + return value == "blue"; +} +let result = a.find(search); +console.log(result); // "blue" +``` + +```js +let a = ["red", "green", "blue", "yellow"]; +let result = a.find( function (value, index, array) { + //console.log(array); // ["red", "green", "blue", "yellow"] + //console.log(this === a); // true + return this[index] == "blue"; +}, a); // อากิวเมนต์ตัวที่สอง +console.log(result); // "blue" +``` + +### findIndex() + +```js +let a = ["red", "green", "blue", "yellow"]; +function search (value ,index, array) { // ฟังก์ชั่นคอลแบ็ค + // console.log(array); // ["red", "green", "blue", "yellow"] + return value == "blue"; +}; +let result = a.findIndex( search ); +console.log(result); // 2 +``` + +```js +let a = ["red", "green", "blue", "yellow"]; +let result = a.findIndex( function (value, index, array){ + // console.log(array); // ["red", "green", "blue", "yellow"] + // console.log(this === a); // true + return this[index] == "blue"; +}, a); // อากิวเมนต์ตัวที่สอง +console.log(result); // 2 +``` + +### includes() + +```js +let array = ["A", "B", "C"]; // ประกาศอาร์เรย์ +console.log(array.includes("A")); // true +console.log(array.includes("Z")); // false +``` + +```js +let array = ["A", "B", "C"]; // ประกาศอาร์เรย์ +// เริ่มค้นหา "B" จากอินเด็กซ์คือ 2 ซึ่งจะพบว่าหาไม่เจอ +console.log(array.includes("B", 2)); // false +// แต่ถ้าเปลี่ยนมาเริ่มค้นหาจากอินเด็กซ์เป็น 1 ก็จะหา "B" เจอ +console.log(array.includes("B", 1)); // true +``` + +```js +let array = [0, NaN, 1]; +console.log(array.indexOf(NaN)); // -1 เพราะไม่เจอสมาชิกที่ต้องการ +console.log(array.includes(NaN)); // true +``` + +```js +let array = [-0, NaN, 1]; +console.log(array.indexOf(+0)); // 0 เพราะเจอค่า -0 อยู่ในอาร์เรย์ที่ตำแหน่งอินเด็กซ์ 0 +console.log(array.includes(+0)); // true +``` + +### flat() + +```js +let arr2 = arr1.flat(); // arr2 มีสมาชิกซ้อนกัน 3 ระดับ +console.log(arr2); // [ 1, 2, 3, 4, 5, 6, [ 7, 8, 9, [ 10, 11, 12 ] ] ] +let arr3 = arr2.flat(); // arr2 มีสมาชิกซ้อนกัน 2 ระดับ +console.log(arr3); // [ 1, 2, 3, 4, 5, 6, 7, 8, 9, [ 10, 11, 12 ] ] +``` + +```js +let arr4 = arr1.flat().flat().flat(); // จับยืดออก 3 ครั้ง +console.log(arr4); +/* แสดงผลลัพธ์ +[ + 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, + 11, 12 +] */ +``` + +```js +let arr5 = arr1.flat(3); // จับยืดออก 3 ครั้ง +console.log(arr5); +/* แสดงผลลัพธ์ +[ + 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, + 11, 12 +] */ +``` + +```js +let arr6 = arr1.flat(Infinity); // คลี่ออกมาหมด +console.log(arr6); +/* แสดงผลลัพธ์ +[ + 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, + 11, 12 +] */ +``` + +### flatMap() + +```js +let arr = [1, 2, 3, 4, 5]; +let newArr1 = arr.map( function(x) { + return [x, x * 2]; +}); +console.log(newArr1); // [ [ 1, 2 ], [ 2, 4 ], [ 3, 6 ], [ 4, 8 ], [ 5, 10 ] ] +``` + +```js +let arr = [1, 2, 3, 4, 5]; +let newArr2 = arr.flatMap( function(x) { + return [x, x * 2]; +}); +console.log(newArr2); +/* แสดงผลลัพธ์ +[ + 1, 2, 2, 4, 3, + 6, 4, 8, 5, 10 +] */ +``` + +### เสริมเพิ่มเติม + +```js +let array = [1, 2, 3, 4]; +array.forEach( (value, index, arrayObj) => console.log(`a[${index}] = ${value}`) ); +/*แสดงผลลัพธ์ +a[0] = 1 +a[1] = 2 +a[2] = 3 +a[3] = 4 */ +``` + +```js +let array = [1, 2, 3, 4]; +array.forEach( value => console.log(value)); // ส่ง value เป็นค่าอากิวเมนต์ตัวแรก +/*แสดงผลลัพธ์ +1 +2 +3 +4 */ +``` + +```js +let array = [1, 2, 3, 4, 5]; +let result = array.every( value => value > 0 ); // สมาชิกของอาร์เรย์ต้องมากกว่า 0 +console.log(result) // true +``` + +```js +let array = [1, 2, 3, 4, 5]; +let result = array.some( (value) => value == 3 ); // รีเทิร์น boolean +console.log(result) // true +result = array.find( (value) => value == 3 ); // รีเทิร์นสมาชิก +console.log(result) // 3 +result = array.findIndex( (value) => value == 3 ); // รีเทิร์นอินเด็กซ์ +console.log(result) // 2 +``` + +```js +let array = [1, 2, 3, 4, 5]; +let result = array.filter( value => value > 2 ); // เลือกเฉพาะสมาชิกที่มีค่ามากกว่า 2 +console.log(result) // [ 3, 4, 5 ] +``` + +```js +let array = [1, 2, 3, 4, 5]; +let result = array.reduce( (acc, value) => acc + value ); // บวกรวมสมาชิกทุกตัว +console.log(result) // 15 +``` + +```js +let arr = [1, 2, 3, 4, 5]; +let newArr1 = arr.map( value => 2 * value ); // แปลงสมาขิกทุกตัวด้วยการคูณสอง +console.log(newArr1); // [ 2, 4, 6, 8, 10 ] +``` + +```js +let arr = [1, 2, 3, 4, 5]; +let result = arr.flatMap(value => [value, value * 2]); +console.log(result); +/* แสดงผลลัพธ์ +[ + 1, 2, 2, 4, 3, + 6, 4, 8, 5, 10 +] */ +``` + +```js +let arr = [1, 2, 3, 4, 5]; +let result = Array.from( arr, value => 2 * value ); // แปลงสมาขิกทุกตัวด้วยการคูณสอง +console.log(result); // [ 2, 4, 6, 8, 10 ] +``` + +## เซท + +```js +let set = new Set(); +console.log(set.size); // 0 +``` + +```js +let set = new Set(); +set.add( 1 ); +set.add("2"); +set.add({id : 1}); +console.log(set); // Set {1, "2", Object {id: 1}} +``` + +```js +let set = new Set(); +set.add( 1 ); +set.add("1"); +set.add( true ); +set.add( true ); +set.add( null ); +set.add( null ); +set.add( undefined ); +set.add( undefined ); +set.add({}); // บรรทัด a +set.add({}) // บรรทัด b +console.log(set); // Set {1, "1", true, null, undefined, Object {}, Object {}} +console.log(set.size); // 7 +``` + +```js +let set = new Set(); +set.add(1).add(2).add(3); // เรียกเมธอด add() ต่อเนื่องกันได้ +console.log(set); // Set {1, 2, 3} +``` + +### คอนสตรัคเตอร์ของเซท + +```js +let set1 = new Set( ["a", "b", "c"] ); +console.log(set1); // Set {"a", "b", "c"} +let set2 = new Set( "def" ); +console.log(set2); // Set {"d", "e", "f"} +``` + +```js +let set1 = new Set( ["a", "b", "c"] ); +let set2 = new Set( set1); // สร้าง set2 จาก set1 ที่มีอยู่ก่อนแล้ว +console.log(set2); // Set {"a", "b", "c"} +``` + +### วิธีลบสมาชิกของเซท + +```js +let set = new Set(["a", "b", "c"]); +console.log(set); // Set {"a", "b", "c"} +console.log(set.delete("a")); // true +console.log(set); // Set {"b", "c"} +set.clear(); +console.log(set.size); // 0 +``` + +### เมธอด has() + +```js +let set = new Set(); +let b = {b: 2}; +set.add(b); +set.add(0); +console.log(set.has(b)); // true +console.log(set.has(0)); // true +console.log(set.has(-0)); // true +console.log(Object.is(0,-0)); // false +``` + +### เมธอด forEach() + +```js +function log(value1, value2, setObj) { + // console.log(setObj); // Set {"a", "b", "c"} + // console.log(this === set); // true + console.log(`[${value1}] = ${value2}`); +} +let set = new Set( ["a", "b", "c"] ); +set.forEach( log, set); // ระบุค่าอากิวเมนต์ตัวที่สองเป็น set +/*แสดงผลลัพธ์เป็น +"[a] = a" +"[b] = b" +"[c] = c" */ +``` + +```js +let set = new Set( ["a", "b", "c"] ); +set.forEach( value => console.log(value) ); // ระบุค่าอากิวเมนต์เป็นฟังก์ชั่นลูกศร +/*แสดงผลลัพธ์เป็น +a +b +c */ +``` + +### ข้อควรระวังเมื่อใช้อ็อบเจ็กต์ในเซท + +```js +let set = new Set(["a", true, 1]); +console.log(set.has("a")); // true +console.log(set.has(true)); // true +console.log(set.has(1)); // true +set.delete("a"); +set.delete(true); +set.delete(1); +console.log(set.size); // 0 +``` + +```js +let set = new Set(); +set.add({a: 1}); // -- บรรทัด a +console.log(set.delete({a:1})); // false -- บรรทัด b +let b = {b: 2}; +set.add(b) // -- บรรทัด c +console.log(set.delete(b)); // true -- บรรทัด d +let c = {c:3}; +set.add(c); +console.log(set.has({c:3})); // false -- บรรทัด e +console.log(set.has(c)); // true -- บรรทัด f +let d = [ ]; +set.add(d); +console.log(set.has([ ])); // false -- บรรทัด g +console.log(set.has(d)); // true -- บรรทัด h +``` + +# WeakSet + +```js +let a = { x: 1}, b = { y: 2}; +a = null; // อ็อบเจ็กต์ {x: 1} จะรอให้ GC มาเรียกคืนหน่วยความจำ +b = null; // อ็อบเจ็กต์ {y: 2} จะรอให้ GC มาเรียกคืนหน่วยความจำ +``` + +```js +let set = new Set(); +let a = { x: 1}, b = { y: 2}; +set.add(a).add(b); +a = null; // อ็อบเจ็กต์ {x: 1} ยังไม่ถูก GC มาเรียกคืนหน่วยความจำ +b = null; // อ็อบเจ็กต์ {y: 2} ยังไม่ถูก GC มาเรียกคืนหน่วยความจำ +console.log(set); // Set {Object {x: 1}, Object {y: 2}} +``` + +```js +let wset = new WeakSet(); +let a = { x: 1 }, b = { y: 2}; +wset.add( a); +wset.add( b ); +console.log(wset.has(a)); // true +console.log(wset.has(b)); // true +a = null; // อ็อบเจ็กต์ {x: 1} จะรอให้ GC มาเรียกคืนหน่วยความจำ +b = null; // อ็อบเจ็กต์ {y: 2} จะรอให้ GC มาเรียกคืนหน่วยความจำ +console.log(wset.has(a)); // false +console.log(wset.has(b)); // false +``` + +## แม็พ + +```js +let map = new Map(); +console.log(map.size) // 0 +``` + +```js +let map = new Map(); +map.set("1", "Hello" ); +map.set("1", "Hi" ); // เลือกใช้สมาชิกตัวนี้ +map.set( {id:2}, "World"); // บรรทัด a +map.set( {id:2}, "World"); // บรรทัด b +map.set( null, "You"); +map.set( null, "We"); // เลือกใช้สมาชิกตัวนี้ +map.set( undefined, "Good"); +map.set( undefined, "Bye"); // เลือกใช้สมาชิกตัวนี้ +console.log(map); +/*แสดงผลลัพธ์เป็น +Map {"1" => "Hi", Object {id: 2} => "World", Object {id: 2} => "World", null => "We", undefined => "Bye"} +*/ +``` + +```js +let map = new Map(); +map.set(1, "a").set(2, "b").set(3, "c"); +console.log(map); // Map {1 => "a", 2 => "b", 3 => "c"} +``` + +### คอนสตรัคเตอร์ของแม็พ + +```js +let map = new Map( [ [1, "a"] , [2, "b"] ]); +console.log(map); // Map {1 => "a", 2 => "b"} +``` + +```js +let map1 = new Map(); +map1.set( 1, "a" ); +map1.set( 2, "b"); +let map2 = new Map(map1); +console.log(map2); // Map {1 => "a", 2 => "b"} +``` + +### วิธีลบสมาชิกของแม็พ + +```js +let map = new Map(); +map.set( 1, "a" ); +map.set( 2, "b"); +map.set( 3, "c"); +console.log(map); // Map {1 => "a", 2 => "b", 3 => "c"} +console.log(map.delete(1)); // true +console.log(map); // Map {2 => "b", 3 => "c"} +map.clear(); +console.log(map.size); // 0 +``` + +### เมธอด get() และ has() + +```js +let map = new Map(); +map.set( 1, "a"); +map.set( 2, "b"); +console.log(map.get( 1 )); // "a" +console.log(map.get( 2 )); // "b" +``` + +```js +let map = new Map(); +map.set( 0, "a" ); +map.set( 1, "b" ); +console.log(map.has(0)); // true +console.log(map.has(-0)); // true +console.log(map.has(1)); // true +``` + +### เมธอด forEach() + +```js +function log(value, key, mapObj) { + // console.log(mapObj); // Map {1 => "a", 2 => "b"} + // console.log(this === map); // true + console.log(`[${key}] = ${value}`); +} +let map = new Map( [ [1, "a"] , [2, "b"] ]); +map.forEach( log, map); //ระบุค่าอากิวเมนต์ตัวที่สองเป็น map +/*แสดงผลลัพธ์เป็น +"[1] = a" +"[2] = b" */ +``` + +```js +let map = new Map( [ [1, "a"] , [2, "b"] ]); +map.forEach( value => console.log(value) ); // ระบุค่าอากิวเมนต์เป็นฟังก์ชั่นลูกศร +/*แสดงผลลัพธ์เป็น +a +b */ +``` + +### ข้อควรระวังเมื่อใช้อ็อบเจ็กต์ในแม็พ + +```js +let map = new Map(); +let obj = {a:1} ; // --บรรทัด a +map.set( obj, "HI"); +console.log(map.delete({a:1})); // false --บรรทัด b +console.log(map.has({a:1})); // false --บรรทัด c +map.set([],"Bye"); // --บรรทัด d +console.log(map.has([])); // false --บรรทัด f +``` + +```js +let map = {}; // จำลองการสร้างแม็พ +let a = { x: 1 }, b = { y: 2 }; +map[a] = "foo"; // กำหนดให้ a เป็นค่าคีย์ +map[b] = "bar"; // กำหนดให้ b เป็นค่าคีย์ +console.log(map[a]); // "bar" +console.log(map[b]); // "bar" +``` + +```js +let wmap = new WeakMap(); +let a = { x: 1 }, b = { y: 2}; +wmap.set( a, "foo" ); +wmap.set( b, "bar" ); +console.log(wmap.get(a)); // "foo" +console.log(wmap.get(b)); // "bar" +a = null; // { x: 1 } จะรอให้ GC มาเรียกคืนหน่วยความจำ +b = null; // { y: 1 } จะรอให้ GC มาเรียกคืนหน่วยความจำ +console.log(wmap.get(a)); // undefined +console.log(wmap.get(b)); // undefined +``` + +```js +let wmap = new WeakMap(); +let a = { x: 1 }, b = { y: 2}; +wmap.set(a,b); +b=null +console.log(wmap.get(a)); // { y: 2} +``` + +## อาร์เรย์ระดับบิต + +```js +let buffer = new ArrayBuffer(32); // ระบุความยาว 32 ไบต์ (256 บิต) +console.log(buffer.byteLength); // 32 +``` + +```js +let buffer = new ArrayBuffer( 32 ); // ระบุความยาว 32 ไบต์ (256 บิต) +console.log(buffer.byteLength); // 32 +let uint16 = new Uint16Array( buffer ); +console.log(uint16.length); // สมาชิก 16 ตัว +``` + + +```js +let buffer = new ArrayBuffer( 2 ); // 2 ไบต์ (16 บิต) +let uint16 = new Uint16Array( buffer ); +console.log(uint16.length); // 1 +uint16[0] = 0b0001110000001111; // 7183 (เลขฐานสิบ) +console.log(uint16[0] == 7183); // true +``` + +```js +let buffer = new ArrayBuffer( 2 ); // 2 ไบต์ (16 บิต) +let uint16 = new Uint16Array(buffer); // มีสมาชิกตัวเดียวขนาด 16 บิต +let uint8 = new Uint8Array(buffer); // มีสมาชิกสองตัว ตัวละ 8 บิต +uint16[0] = 0x105b; // 4187 (เลขฐานสิบ) +console.log(uint8[0] == 0x5b); // true +console.log(uint8[1] == 0x10); // true +[uint8[1], uint8[0] ] = [uint8[0], uint8[1]] // สลับข้อมูล (ดีสตรัคเตอร์ริ่ง) +console.log(uint8[0] == 0x10); // true +console.log(uint8[1] == 0x5b); // true +console.log(uint16[0]); // 23312 +``` + +### อาร์เรย์ระดับบิตอื่น ๆ + +```js +let buffer = new ArrayBuffer(2); // 2 ไบต์ (16 บิต) +let a = new Int16Array(buffer); // มองเห็น 16 บิตของบัฟเฟอร์ +let b = new Int8Array(buffer, 0, 1); // มองเห็น 8 บิตล่างของบัฟเฟอร์ +let c = new Int8Array(buffer, 1, 1); // มองเห็น 8 บิตบนของบัฟเฟอร์ +let d = new Int8Array(buffer,1); // เข้าถึงบัฟเฟอร์ตั้งแต่ offset มีค่าเป็น 1 เป็นต้นไป +a[0] = 0x105b; // 4187 (เลขฐานสิบ) +console.log(b[0] == 0x5b); // true +console.log(c[0] == 0x10); // true +console.log(d[0] == 0x10); // true +``` + +```js +new TypedArray(length); // ระบุความยาว length (จำนวนสมาชิก) ไม่ต้องใช้บัฟเฟอร์ +new TypedArray(typedArr); // สร้างจากอาร์เรย์ระดับบิตตัวอื่น ๆ อีกที +new TypedArray(obj); // สร้างจากอาร์เรย์ หรืออ็อบเจ็กต์ที่ทำตัวเสมือนเป็นอาร์เรย์ +``` + +```js +let a = new Float32Array(2); +console.log(a.length); // 2 +console.log(a[0], a[1]); // 0 0 +let b = new Float64Array(a); +console.log(b.length); // 2 +console.log(b[0], b[1]); // 0 0 +let c = new Int32Array([100, 200]); +console.log(c[0], c[1]); // 100 200 +let likeArray = { + length: 2 + ,0: 300 + ,1: 400 +} +let d = new Uint32Array(likeArray); +console.log(d[0], d[1]); // 300 400 +``` + +### เมธอดของอาร์เรย์ระดับบิต + +```js +let int32 = new Int32Array( 3 ); +int32 [0] = 1; +int32 [1] = 2; +int32 [2] = 3; +let result = int32.map( function(i) { + return i*i; +} ); +console.log(result); // [ 1, 4, 9 ] +let join = int32.join( "," ); +console.log(join); // "1,2,3" +``` + +```js +var array = [ 10, 1, 5 ]; +array.sort(); +console.log(array); // [1,10, 5] +let uint8 = new Uint8Array([1,10, 5]); +uint8.sort(); +console.log(uint8); // [1,5,10] +``` + +```js +let uint8 = new Uint8Array( 2 ); +uint8[0] = 20; +uint8[1] = 40; +let result = uint8.map( function(i) { + return i * i; +} ); +console.log(result[0]); // 144 (จริง ๆ ควรได้ค่า 400) +console.log(result[1]); // 64 (จริง ๆ ควรได้ค่า 1600) +``` + +```js +let uint8 = new Uint8Array( 2 ); +uint8[0] = 20; +uint8[1] = 40; +let result1 = Uint8Array.from(uint8, function(i) { + return i * i; +} ); +console.log(result1); // [ 144, 64 ] +let result2 = Array.from(uint8, function(i) { + return i * i; +} ); +console.log(result2); // [ 400, 1600 ] +``` + +### includes() + +```js +let uint8 = new Uint8Array([1, 2, 3, 4, 5]); +console.log(uint8.includes(1)); // true +console.log(uint8.includes(5)); // true +console.log(uint8.includes(10)); // false +``` + +## เมธอด at() + +```js +let array = ['a', 'b', 'c', 'd', 'e']; +console.log(array.at(3)); // 'd' +console.log(array.at(-3)); // 'c' +``` + +```js +let str = "abcde"; +console.log(str.at(3)); // 'd' +console.log(str.at(-3)); // 'c' +``` From 69a40fbbb61ef9b1c1e15d83728f595a96b7f993 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 05:47:23 +0700 Subject: [PATCH 078/757] update --- examples_book/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/README.md b/examples_book/README.md index c8ff285..7305246 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -4,7 +4,7 @@ (กำลังอัปเดตโค้ดอยู่นะครับ ยังไม่เรียบร้อยดี) -* [บทที่ 3 ](Chapter03.md) +* [บทที่ 3 รันจาวาสคริปต์อย่างง่าย](Chapter03.md) * [บทที่ 4 ](Chapter04.md) * [บทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น] (Chapter05.md) * [บทที่ 6 ](Chapter06.md) @@ -16,7 +16,7 @@ * [บทที่ 12 ซิมโบล --มีแผนปรับปรุงโค้ด] (Chapter12.md) * [บทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์] (Chapter13.md) * [บทที่ 14 ](Chapter14.md) -* [บทที่ 15 ](Chapter15.md) +* [บทที่ 15 คอลเลคชั่น] (Chapter15.md) * [บทที่ 16 ](Chapter16.md) * [บทที่ 17 เมต้าโปรแกรมมิ่ง --มีแผนปรับปรุงโค้ด] (Chapter17.md) * [บทที่ 18 ](Chapter18.md) From a46b6d45201a7b55fec9e3592d51c132674d76d4 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 05:49:17 +0700 Subject: [PATCH 079/757] Update README.md --- examples_book/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples_book/README.md b/examples_book/README.md index 7305246..655f9f1 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -6,19 +6,19 @@ * [บทที่ 3 รันจาวาสคริปต์อย่างง่าย](Chapter03.md) * [บทที่ 4 ](Chapter04.md) -* [บทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น] (Chapter05.md) +* [บทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น](Chapter05.md) * [บทที่ 6 ](Chapter06.md) * [บทที่ 7 ](Chapter07.md) * [บทที่ 8 ฟีเจอร์ใหม่ของตัวเลข สตริง และ regex](Chapter8.md) -* [บทที่ 9 การประกาศตัวแปร และการกำหนดค่า] (Chapter9.md) +* [บทที่ 9 การประกาศตัวแปร และการกำหนดค่า](Chapter9.md) * [บทที่ 10](Chapter10.md) -* [บทที่ 11 เทมเพลตสตริง] (Chapter11.md) +* [บทที่ 11 เทมเพลตสตริง](Chapter11.md) * [บทที่ 12 ซิมโบล --มีแผนปรับปรุงโค้ด] (Chapter12.md) * [บทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์] (Chapter13.md) * [บทที่ 14 ](Chapter14.md) -* [บทที่ 15 คอลเลคชั่น] (Chapter15.md) +* [บทที่ 15 คอลเลคชั่น](Chapter15.md) * [บทที่ 16 ](Chapter16.md) -* [บทที่ 17 เมต้าโปรแกรมมิ่ง --มีแผนปรับปรุงโค้ด] (Chapter17.md) +* [บทที่ 17 เมต้าโปรแกรมมิ่ง --มีแผนปรับปรุงโค้ด](Chapter17.md) * [บทที่ 18 ](Chapter18.md) * [บทที่ 19 ](Chapter19.md) * [ไฟล์ json.php ประกอบเนื้อหา Fetch API](json.php) From 9b1470f8b6282157cc3ae633e30f9d122d2c7cfb Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 05:49:33 +0700 Subject: [PATCH 080/757] Update README.md --- examples_book/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/README.md b/examples_book/README.md index 655f9f1..e68750f 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -13,8 +13,8 @@ * [บทที่ 9 การประกาศตัวแปร และการกำหนดค่า](Chapter9.md) * [บทที่ 10](Chapter10.md) * [บทที่ 11 เทมเพลตสตริง](Chapter11.md) -* [บทที่ 12 ซิมโบล --มีแผนปรับปรุงโค้ด] (Chapter12.md) -* [บทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์] (Chapter13.md) +* [บทที่ 12 ซิมโบล --มีแผนปรับปรุงโค้ด](Chapter12.md) +* [บทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์](Chapter13.md) * [บทที่ 14 ](Chapter14.md) * [บทที่ 15 คอลเลคชั่น](Chapter15.md) * [บทที่ 16 ](Chapter16.md) From bacd67f66bb030cabe70e4968380f1fcbdb389e9 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 09:06:06 +0700 Subject: [PATCH 081/757] update --- examples_book/.gitignore | 2 + examples_book/md2html.js | 218 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 220 insertions(+) create mode 100644 examples_book/.gitignore create mode 100644 examples_book/md2html.js diff --git a/examples_book/.gitignore b/examples_book/.gitignore new file mode 100644 index 0000000..7b11d7d --- /dev/null +++ b/examples_book/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +*.html \ No newline at end of file diff --git a/examples_book/md2html.js b/examples_book/md2html.js new file mode 100644 index 0000000..5698baa --- /dev/null +++ b/examples_book/md2html.js @@ -0,0 +1,218 @@ +// npm install line-reader +// npm install bluebird +const Promise = require("bluebird"); +const fs = Promise.promisifyAll(require('fs')); +const lineReader = require('line-reader'); +const eachLine = Promise.promisify(lineReader.eachLine); + + +let isCode = false; +let lineCodes = ""; +let count = 0; + +function writeToHTML(allLines, fileName){ + let html = ` + + + + +
${allLines}
+ + + + `; + + return fs.writeFile(`${fileName}.html`, html, function (err) { + if (err) throw err; + console.log(`${fileName}.html is Saved!`); + }); + +} + + +async function genHTML(fileName){ + let allLines = ""; + let btnValue = ""; + + return eachLine(`${fileName}.md`, function(line, last) { + line = line.trim(); + + if(line.startsWith("```js") || line.startsWith("```html")){ + isCode = true; + count++; + if(line.startsWith("```js")){ + btnValue = "Run"; + } else if(line.startsWith("```html")) { + btnValue = "Download HTML"; + } + + } else if(line.startsWith("```")){ + isCode = false + //allLines += `
${lineCodes}
`; + const rows = lineCodes.trim().split('\n').length; + + allLines += `
+
+ + +
+
`; + + lineCodes = ""; + } else if(line.startsWith("#")){ + line = line.replace(/#/g, ""); + allLines += `

${line}

`; + } + + if(isCode && !line.startsWith("```js") && !line.startsWith("```html")){ + //lineCodes += `${line}
`; + lineCodes += `${line}\n`; + } + + if(last) { + writeToHTML(allLines, fileName); + + //console.log('\n\n-------------\nLast line printed.'); + //const used = process.memoryUsage().heapUsed / 1024 / 1024; + //console.log(`The script uses approximately ${Math.round(used * 100) / 100} MB`); + + } + +}) + +} + + +/*let files = [ "Chapter03", "Chapter05", "Chapter08", +"Chapter09", "Chapter11", "Chapter12", "Chapter13", +"Chapter15", "Chapter17"];*/ +let files = [ "Chapter13"]; + + +genHTML("Chapter03"); +//genHTML("Chapter05"); +//genHTML("Chapter08"); +//genHTML("Chapter09"); +//genHTML("Chapter11"); +//genHTML("Chapter12"); +//genHTML("Chapter13"); +//genHTML("Chapter17");*/ + + +async function countline(fileName){ + let count = 0; + + eachLine(`${fileName}.md`, function(line, last) { + line = line.trim(); + + if(!line.startsWith("```") && !line.startsWith("#") && line != ''){ + count++ + } + + if(last) { + + //console.log('\n\n-------------\n'); + //const used = process.memoryUsage().heapUsed / 1024 / 1024; + //console.log(`The script uses approximately ${Math.round(used * 100) / 100} MB`); + console.log('\n\n-------------\n.'); + console.log(`The ${fileName}.md has line of codes are ${count}`); + } + +}) + +} + + +files.forEach(function(fileName) { + countline(fileName); +}); \ No newline at end of file From 97195aa68d56d4252090129f12a30bde9c21ac28 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 10:42:09 +0700 Subject: [PATCH 082/757] update --- examples_book/Chapter15.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 255a938..b83c738 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -75,7 +75,7 @@ let obj = { 1: "foo", 2: "bar" }; -let array = Array.from( obj, function (value,index){ +let array = Array.from( obj, function (value,index) { // console.log(this === obj); // true return this[index]; },obj); // อากิวเมนต์ตัวที่สาม @@ -604,6 +604,8 @@ map.set([],"Bye"); // --บรรทัด d console.log(map.has([])); // false --บรรทัด f ``` +### การสร้างแม็พด้วยปีกกา + ```js let map = {}; // จำลองการสร้างแม็พ let a = { x: 1 }, b = { y: 2 }; @@ -613,6 +615,8 @@ console.log(map[a]); // "bar" console.log(map[b]); // "bar" ``` +## WeakMap + ```js let wmap = new WeakMap(); let a = { x: 1 }, b = { y: 2}; @@ -648,7 +652,6 @@ let uint16 = new Uint16Array( buffer ); console.log(uint16.length); // สมาชิก 16 ตัว ``` - ```js let buffer = new ArrayBuffer( 2 ); // 2 ไบต์ (16 บิต) let uint16 = new Uint16Array( buffer ); From 81f78489ecf1ec119273f1151b20ae462037495f Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 10:46:40 +0700 Subject: [PATCH 083/757] no message --- examples_book/.gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples_book/.gitignore b/examples_book/.gitignore index 7b11d7d..5990abf 100644 --- a/examples_book/.gitignore +++ b/examples_book/.gitignore @@ -1,2 +1,3 @@ node_modules/ -*.html \ No newline at end of file +*.html +*.json \ No newline at end of file From 6e17cd178c41879a6fbf9ee3ceee2c70965c375b Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 10:57:05 +0700 Subject: [PATCH 084/757] update --- examples_book/md.css | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 examples_book/md.css diff --git a/examples_book/md.css b/examples_book/md.css new file mode 100644 index 0000000..2546313 --- /dev/null +++ b/examples_book/md.css @@ -0,0 +1,50 @@ +.norun { + background-color: #F0F0F0; + margin-top: 20px; + border: 1px solid #4CAF50; +} + +.run { + background-color: #DAF7A6 ; + margin-top: 20px; + border: 1px solid #4CAF50; +} + +.main { + margin-bottom: 100px; +} + +input[type=button], input[type=submit], input[type=reset] { + background-color: #04AA6D; + border: none; + color: white; + padding: 8px 16px; + text-decoration: none; + margin: 4px 2px; + cursor: pointer; +} + + +textarea { + font-size: 13pt; + width: 100%; +} +/*.clearBtn { + position: fixed; + left: 0; + top: 0; + width: 100%; + text-align: center; + cursor: pointer; +}*/ + +.footer { + position: fixed; + left: 0; + bottom: 0; + width: 100%; + background-color: #7B68EE; + color: white; + text-align: left; + padding-left: 30px; +} \ No newline at end of file From c6e6e7dcf71b31018d26840de91bbc489d061125 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 13:56:11 +0700 Subject: [PATCH 085/757] update --- examples_book/md.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/md.css b/examples_book/md.css index 2546313..5e23e48 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -20,7 +20,7 @@ input[type=button], input[type=submit], input[type=reset] { color: white; padding: 8px 16px; text-decoration: none; - margin: 4px 2px; + margin: 4px 2px 4px 0px; cursor: pointer; } From ae4454eb417401744e5dbb232a815a87b165b9e0 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 17:02:47 +0700 Subject: [PATCH 086/757] update --- examples_book/Chapter16.md | 826 +++++++++++++++++++++++++++++++++++++ 1 file changed, 826 insertions(+) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 8b13789..bcf13d4 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -1 +1,827 @@ +# บทที่ 16 อิเทอเรเตอร์ และเจนเนอเรเตอร์ +## อินเทอเรเตอร์ + +### ตัวอย่างการสร้างอิเทอเรเตอร์ + +```js +function createIterator(array) { + let iterator = { + i : 0 // ทุกครั้งที่เรียกใช้ next() ค่าของ i จะบวกเพิ่มเป็นหนึ่งทุกครั้ง + ,next : function() { + // เมื่อเข้าถึงสมาชิกในอาร์เรย์ครบทุกตัว done จะมีค่าเป็น true + let done = (this.i >= array.length); + // เข้าถึงสมาชิกในอาร์เรย์ + let value = !done ? array[this.i++] : undefined; + return { value, done}; + } // สิ้นสุดการประกาศฟังก์ขั่น + }; + return iterator; +} +let iterator = createIterator([1, 5, 10]); +console.log(iterator.next()); // {value: 1, done: false} +console.log(iterator.next()); // {value: 5, done: false} +console.log(iterator.next()); // {value: 10, done: false} +console.log(iterator.next()); // {value: undefined, done: true} +console.log(iterator.next()); // {value: undefined, done: true} +``` + +## อิเทอเรเตอร์ที่มีอยู่แล้วในภาษา + +```js +let array = [1, 5]; +let iterator = array[Symbol.iterator](); +console.log(iterator.next()); // {value: 1, done: false} +console.log(iterator.next()); // {value: 5, done: false} +console.log(iterator.next()); // {value: undefined, done: true} +``` + +```js +let say = "hi"; +let iterator = say[Symbol.iterator](); +console.log(iterator.next()); // {value: "h", done: false} +console.log(iterator.next()); // {value: "i", done: false} +console.log(iterator.next()); // {value: undefined, done: true} +``` + +```js +console.log( typeof String.prototype[Symbol.iterator] ); // "function" +console.log( typeof Array.prototype[Symbol.iterator] ); // "function" +console.log( typeof Set.prototype[Symbol.iterator] ); // "function" +console.log( typeof Map.prototype[Symbol.iterator] ); // "function" +console.log( typeof Uint8Array.prototype[Symbol.iterator] ); // "function" +console.log( typeof WeakSet.prototype[Symbol.iterator] ); // "undefined" +console.log( typeof WeakMap.prototype[Symbol.iterator] ); // "undefined" +``` + +### อ็อบเจ็กต์ที่วนซ้ำได้ + +```js +for(let i of [1, 5, 10]) { + console.log(i) +} +/* แสดงผลลัพธ์ +1 +5 +10 +*/ +/* อาจเหมือนเขียนประโยคนี้ +let iterator = [1, 5, 10][Symbol.iterator](); +let result; +while( (result=iterator.next()) && result.done == false){ + let i = result.value; + console.log(i); +}*/ +``` + +### สตริงในประโยค for + +```js +let str = "ab𠮷"; +console.log(str.length); // 4 +for (let i=0; i < str.length; i++) { + console.log(str[i]); +} +/* แสดงผลลัพธ์ของประโยค for +"a" +"b" +(blank) +(blank) */ +``` + +```js +let str = "ab𠮷"; +for (let i of str) { + console.log(i); +} +/* แสดงผลลัพธ์ +"a" +"b" +"𠮷" +* +/ +``` + +### เมธอด values(), keys และ entries() + +```js +let array = [5, 10]; +let set= new Set(["red", "green"]); +let map = new Map(); +map.set("firstname", "Somchai"); +map.set("lastname", "Jaidee"); +for (let value of array.values()) { + console.log(value); +} +for (let value of set.values ()) { + console.log(value); +} +for (let value of map.values ()) { + console.log(value); +} +/* จะแสดงผลลัพธ์ดังนี้ +เมื่อใช้ array.values() จะแสดงผลลัพธ์เป็น +5 +10 +เมื่อใช้ set.values() จะแสดงผลลัพธ์เป็น +"red" +"green" +เมื่อใช้ map.values() จะแสดงผลลัพธ์เป็น +"Somchai" +"Jaidee" */ +``` + +```js +let array = [5, 10]; +let set= new Set(["red", "green"]); +let map = new Map(); +map.set("firstname", "Somchai"); +map.set("lastname", "Jaidee"); +for (let key of array.keys()) { + console.log(key); +} +for (let key of set.keys ()) { + console.log(key); +} +for (let key of map.keys ()) { + console.log(key); +} +/* จะแสดงผลลัพธ์ดังนี้ +เมื่อใช้ array.keys() จะแสดงผลลัพธ์เป็น +0 +1 +เมื่อใช้ set.keys() จะแสดงผลลัพธ์เป็น +"red" +"green" +เมื่อใช้ map.keys() จะแสดงผลลัพธ์เป็น +"firstname" +"lastname" */ +``` + +```js +let array = [5, 10]; +let set= new Set(["red", "green"]); +let map = new Map(); +map.set("firstname", "Somchai"); +map.set("lastname", "Jaidee"); +for (let entry of array.entries()) { + console.log(entry); +} +for (let entry of set.entries()) { + console.log(entry); +} +for (let entry of map.entries()) { + console.log(entry); +} +/* จะแสดงผลลัพธ์ดังนี้ +เมื่อใช้ array.entries() จะแสดงผลลัพธ์เป็น +[0, 5] +[1,10] +เมื่อใช้ set.entries() จะแสดงผลลัพธ์เป็น +["red", "red"] +["green", "green"] +เมื่อใช้ map.entries() จะแสดงผลลัพธ์เป็น +["firstname", "Somchai"] +["lastname", "Jaidee"] */ +``` + +```js +let array = [5, 10]; +let set= new Set(["red", "green"]); +let map = new Map(); +map.set("firstname", "Somchai"); +map.set("lastname", "Jaidee"); +for (let value of array) { // จะเหมือนกับการใช้ array.values() + console.log(value); +} +for (let value of set) { // จะเหมือนกับการใช้ set.values() + console.log(value); +} +for (let entry of map) { // จะเหมือนกับการใช้ map.entries() + console.log(entry); +} +/* จะแสดงผลลัพธ์ดังนี้ +5 +10 +"red" +"green" +["firstname", "Somchai"] +["lastname", "Jaidee"] */ +``` + +### โอเปอเรเตอร์สเปรด + +* ตัวอย่างที่ 1 +```js +let array = [..."abc"]; // จะเหมือนเขียนเป็น let array = ["a", "b", "c"]; +console.log(array[0], array[1], array[2]); // "a b c" +``` + +* ตัวอย่างที่ 2 +```js +let set = new Set(["a", "b", "c"]) ; +let array = [...set]; +console.log(array[0], array[1], array[2]); // "a b c" +``` + +```js +let set = new Set(["a", "b", "b", "c", "c",]); // Set {"a", "b", "c"} +let keys = [ ...set.keys() ], + values = [ ...set.values() ], + entries = [ ...set.entries() ]; +console.log(keys); // ["a", "b", "c"] +console.log(values); // ["a", "b", "c"] +console.log(entries[0][0]); // "a" +console.log(entries[0][1]); // "a" +console.log(entries[1][0]); // "b" +console.log(entries[1][1]); // "b" +console.log(entries[2][0]); // "c" +console.log(entries[2][1]); // "c" +``` + +* ตัวอย่างที่ 3 +```js +let map = new Map([ [1,"a"] , [2, "b"] ]); +let keys = [ ...map.keys() ], + values = [ ...map.values() ], + entries = [ ...map.entries() ]; +console.log(keys); // [1, 2] +console.log(values); // ["a", "b"] +console.log(entries[0][0]); // 1 +console.log(entries[0][1]); // "a" +console.log(entries[1][0]); // 2 +console.log(entries[1][1]); // "b" +console.log( [...map]); // [ [1, "a"] , [2, "b"] ] +``` + +* ตัวอย่างที่ 4 +```js +let array = []; +array.length = 3; +array[1] = "a"; +console.log(...array.keys()); // 0 1 2 +console.log(...array.values()); // undefined "a" undefined +console.log(...array.entries()); // [0, undefined] [1, "a"] [2, undefined] +console.log(...array); // undefined "a" undefined +``` + +* ตัวอย่างที่ 5 +```js +let uint8 = new Uint8Array( 2 ); +uint8[0] = 10 ; +uint8[1] = 20 ; +console.log(...uint8.keys()); // 0 1 +console.log(...uint8.values()); // 10 20 +console.log(...uint8.entries()); // [0, 10] [1, 20] +console.log(...uint8); // 10 20 +``` + +* ตัวอย่างที่ 6 +```js +let set = new Set([1, 2, 3]); +let array = [10, 20, 30]; +function plus(a, b, c) { + console.log(a + b + c); +} +plus(...set); // 6 +plus(...array); // 60 +``` + +### ยูเนียน อินเตอร์เซคชัน ผลต่างของเซต + +* ยูเนียน +```js +let a = new Set([1, 2, 3, 4, 5]); // Set {1, 2, 3, 4, 5} +let b = new Set([3, 4, 5, 6, 7]); // Set {3, 4, 5, 6, 7} +let union = new Set([...a, ...b]); +console.log(...union); // 1 2 3 4 5 6 7 +``` + +* อินเตอร์เซคชั่น +```js +let a = new Set([1, 2, 3, 4, 5]); // Set {1, 2, 3, 4, 5} +let b = new Set([3, 4, 5, 6, 7]); // Set {3, 4, 5, 6, 7} +let temp = [...a]; // แตกสมาชิกของเซทออกมา ให้กลายมาเป็นอาร์เรย์ชั่วคราว +let intersect = new Set(temp.filter( item => b.has(item) ) ); +// หรือจะเขียนสั้น ๆ ได้เป็น +// let intersect = new Set([...a].filter(item => b.has(item) ) ); +console.log(...intersect); // 3 4 5 +``` + +* ผลต่างของเซต +```js +let a = new Set([1, 2, 3, 4, 5]); // Set {1, 2, 3, 4, 5} +let b = new Set([3, 4, 5, 6, 7]); // Set {3, 4, 5, 6, 7} +let temp = [...a]; // แตกสมาชิกของเซทออกมา ให้กลายมาเป็นอาร์เรย์ชั่วคราว +let diff = new Set(temp.filter(item => !b.has(item) ) ); +// หรือจะเขียนสั้น ๆ ได้เป็น +// let diff = new Set([...a].filter(item => !b.has(item) ) ); +console.log(...diff); // 1 2 +``` + +### ดีสตรัคเตอร์ริ่ง + +* ตัวอย่างที่ 1 +```js +let [a, b, c] = new Set(["a", "b", "c"]); +console.log(a, b, c) // "a b c" +``` + +* ตัวอย่างที่ 2 +```js +let map = new Map(); +map.set("firstname", "Somchai"); +map.set("lastname", "Jaidee"); +//let map = new Map( [["firstname","Somchai"] , ["lastname", "Jaidee"] ]); +let [a, b] = map; +console.log(a); // [ "firstname", "Somchai" ] +console.log(b); // [ "lastname", "Jaidee" ] +let [ [key1, value1] , [key2, value2]] = map; +console.log(key1,key2); // "firstname lastname" +console.log(value1,value2); // "Somchai Jaidee" +``` + +* ตัวอย่างที่ 3 +```js +let uint8 = new Uint8Array( 2 ); +[...uint8] = [10, 20]; +console.log(uint8[0], uint8[1]); // 10 20 +``` + +* ตัวอย่างที่ 4 +```js +let a1 = [], a2 = []; +let set = new Set([10, 20]); +[...a1] = [...set]; +console.log(a1[0], a1[1]); // 10 20 +let map = new Map( [["firstname","Somchai"] , ["lastname", "Jaidee"] ]); +[...a2] = [...map]; +console.log(a2[0]); // ["firstname", "Somchai"] +console.log(a2[1]); // ["lastname", "Jaidee"] +console.log(a2[0][0], a2[0][1]); // "firstname Somchai" +console.log(a2[1][0], a2[1][1]); // "lastname Jaidee" +``` + +* ตัวอย่างที่ 5 +```js +let array = [5, 10]; +let set= new Set(["red", "green"]); +let map = new Map( [["firstname","Somchai"] , ["lastname", "Jaidee"] ]); +let uint8 = new Uint8Array( 2 ); +[...uint8] = [10, 20]; +for(let [key,value] of array.entries()) { + console.log(key, value); +} +for(let [key,value] of set.entries()) { + console.log(key, value); +} +for(let [key,value] of map.entries()) { + console.log(key, value); +} +for(let [key,value] of uint8.entries()) { + console.log(key, value); +} +``` + +* ตัวอย่างที่ 6 +```js +function myFunction(){ + return new Set(["red", "green"]); +} +let [a, b] = myFunction(); +console.log(a, b); // "red green" +``` + +### พารามิเตอร์แบบดีสตรัคเตอร์ + +```js +function createGrade(firstName, lastName,[gender="Male", + age=18 ,subject="Math", gpa=0]) { + console.log(firstName, lastName, gender, age, subject, gpa); +} +let set = new Set(["Female", "21", "Science", "3.44"]); +let map = new Map([["k1","Male"], ["k2","19"], ["k3","Math"], ["k4","3.20"]]); +createGrade("Somchai", "Jaidee", set); // "Somchai Jaidee Female 21 Science 3.44" +createGrade("Mana", "Dekdee", map.values());// "Mana Dekdee Male 19 Math 3.20" +``` + +### อ็อบเจ็กต์ที่วนซ้ำได้แบบอื่นๆ + +```html + + + + + + + +
    +
  • One
  • +
  • Two
  • +
  • Three
  • +
+ + + + +``` + +### วิธีสร้างอ็อบเจ็กต์ที่วนซ้ำได้ + + +```js +let obj = { array: [1, 5, 10]}; +obj[Symbol.iterator] = function () { // บรรทัดที่ 2 + return this.array[Symbol.iterator](); // บรรทัดที่ 3 + // return this.array.values(); // หรือจะเขียนแบบนี้ก็สามารถทำได้ +}; +for(let i of obj){ + console.log(i); +} +/* แสดงผลลัพธ์ +1 +5 +10 */ +``` + +```js +let obj = { + array: [1, 5, 10] + ,[Symbol.iterator] () { + return this.array[Symbol.iterator](); + // return this.array.values(); + } +}; +``` + +```js +class Iterable { + constructor(array) { + this.array = array; + } + [Symbol.iterator] () { + return this.array[Symbol.iterator](); + // return this.array.values(); + } +} +let obj = new Iterable([1, 5, 10]); +for (let i of obj) { + console.log(i); +} +/* แสดงผลลัพธ์เป็น +1 +5 +10 */ +``` + +```js +String.prototype[Symbol.iterator] = function() { + let item = this; + let iterator = { + i : 0 // ทุกครั้งที่เรียกใช้ next() ค่าของ i จะบวกเพิ่มเป็นหนึ่งทุกครั้ง + ,next() { + // เมื่อเข้าถึงสมาชิกในอาร์เรย์ครบทุกตัว done จะมีค่าเป็น true + let done = (this.i >= item.length); + // เปลี่ยนเป็นตัวอักษรตัวใหญ่ + let value = !done ? item[this.i++].toUpperCase() : undefined; + return { value, done }; + } // สิ้นสุดการประกาศเมธอด next() + }; + return iterator; +} +for(let i of "abc") { + console.log(i); +} +/* แสดงผลลัพธ์เป็น +"A" +"B" +"C" */ +``` + +## เจนเนอเรเตอร์ + +```js +function * genIterator() { + // ซอร์สโค้ด + yield 1; + // ซอร์สโค้ด + yield 5; + // ซอร์สโค้ด + yield 10; + // ซอร์สโค้ด +} +let iterator = genIterator(); +console.log(iterator.next()); // {value: 1, done: false} +console.log(iterator.next()); // {value: 5, done: false} +console.log(iterator.next()); // {value: 10, done: false} +console.log(iterator.next()); // {value: undefined, done: true} +``` + +```js +function * genIterator(array) { + for (let i=0; i < array.length; i++) { + // ซอร์สโค้ดก่อนหน้า + yield array[i]; // เมื่อประโยคนี้ทำงานเสร็จ ก็จะหยุดรอการเรียก iterator.next() ครั้งต่อไป + // ซอร์สโค้ดตามหลัง + } +} +let iterator = genIterator ([1, 5, 10]); +console.log(iterator.next()); // {value: 1, done: false} +console.log(iterator.next()); // {value: 5, done: false} +console.log(iterator.next()); // {value: 10, done: false} +console.log(iterator.next()); // {value: undefined, done: true} +``` + +```js +function * genIterator(item) { + for (let i=0; i < item.length; i++) { + yield item[i]; + } +} +let iterator = genIterator([1, 5, 10]); +for (let i of iterator) { // อิเทอเรเตอร์ของเจนเนอเรเตอร์สามารถอยู่ในประโยค for …of ได้ + console.log(i); +} +/* แสดงผลลัพธ์เป็น +1 +5 +10 */ +``` + +```js +function * genIterator () { + yield 1; + yield 5; + return 45; // จบการทำงานแค่บรรทัดนี้ + yield 10; // การทำงานจะมาไม่ถึงบรรทัดนี้ +} +let iterator = genIterator (); +console.log(iterator.next()); // { value: 1, done: false } +console.log(iterator.next()); // { value: 5, done: false } +console.log(iterator.next()); // { value: 45, done: true } +console.log(iterator.next()); // { value: undefined, done: true } +console.log(iterator.next()); // { value: undefined, done: true } +``` + +```js +function * genIterator () { + yield 1; + yield 5; + return; // จบการทำงานแค่บรรทัดนี้ + yield 10; +} +let iterator = genIterator (); +console.log(iterator.next()); // { value: 1, done: false } +console.log(iterator.next()); // { value: 5, done: false } +console.log(iterator.next()); // { value: undefined, done: true } +``` + +### ประโยคคำสั่ง yield *นิพจน์ + +```js +function * g() { + yield 2; + yield 3; +} +function * genIterator() { + yield 1; // บรรทัด a + yield* g(); // บรรทัด b + yield* "45"; // บรรทัด c + yield* Array.from(arguments); // บรรทัด d + let item = new Set([8, 9]); + yield* item.values(); // บรรทัด e +} +let iterator = genIterator(6, 7); // บรรทัด f +console.log(iterator.next()); // {value: 1, done: false} +console.log(iterator.next()); // {value: 2, done: false} +console.log(iterator.next()); // {value: 3, done: false} +console.log(iterator.next()); // {value: "4", done: false} +console.log(iterator.next()); // {value: "5", done: false} +console.log(iterator.next()); // {value: 6, done: false} +console.log(iterator.next()); // {value: 7, done: false} +console.log(iterator.next()); // {value: 8, done: false} +console.log(iterator.next()); // {value: 9, done: false} +console.log(iterator.next()); // {value: undefined, done: true} +``` + +```js +function * f() { + yield 1; // บรรทัด a + return 2; // บรรทัด b +} +function * g(count) { + for(let i=0; i<2 ; i++){ + yield count + i; // บรรทัด c + } +} +function * genIterator() { + let result = yield *f(); // บรรทัด d + yield result + 10; // บรรทัด e + yield *g(result); // บรรทัด f +} +let iterator = genIterator(); +console.log(iterator.next()); // {value: 1, done: false} +console.log(iterator.next()); // {value: 12, done: false} +console.log(iterator.next()); // {value: 2, done: false} +console.log(iterator.next()); // {value: 3, done: false} +console.log(iterator.next()); // {value: undefined, done: true} +``` + +### ส่งค่าอากิวเมนต์ไปให้เมธอด next() + +```js +function * genIterator() { + let a = yield 1; + let b = yield a + 3; + yield b + 7; +} +let iterator = genIterator(); +console.log(iterator.next()); // {value: 1, done: false} +console.log(iterator.next(2)); // {value: 5, done: false} +console.log(iterator.next(3)); // {value: 10, done: false} +console.log(iterator.next(4)); // {value: undefined, done: true} +``` + +### เมธอด throw() + +```js +function * genIterator() { + let a = yield 1; + let b = yield a + 3; + yield b + 7; +} +let iterator = genIterator (); +console.log(iterator.next()); // {value: 1, done: false} +console.log(iterator.next(2)); // {value: 5, done: false} +console.log(iterator.throw(new Error(‘’))); // error +``` + +```js +function * genIterator() { + let a = yield 1; + let b; + try { + b = yield a + 3; + } catch(ex) { + b = 3; + } + yield b + 7; +} +let iterator = genIterator(); +console.log(iterator.next()); // {value: 1, done: false} +console.log(iterator.next(2)); // {value: 5, done: false} +console.log(iterator.throw(new Error(‘’))); // {value: 10, done: false} +console.log(iterator.next()); // {value: undefined, done: true} +``` + +### นิพจน์เจนเนอเรเตอร์ + +```js +let genIterator = function *(item) { // นิพจน์เจนเนอเรเตอร์ + for (let i=0; i < item.length; i++) { + yield item[i]; + } +} +for (let i of genIterator([1, 5, 10]) ) { + console.log(i); +} +/* แสดงผลลัพธ์เป็น +1 +5 +10 */ +``` +### ประกาศเจนเนอเรเตอร์ในอ็อบเจ็กต์ + +```js +let obj = {}; +obj.genIterator = function *(item) { // ประกาศเจนเนอเรเตอร์ + for (let i=0; i < item.length; i++) { + yield item[i]; + } +}; +for(let i of obj.genIterator( [1, 5, 10]) ) { + console.log(i); +} +/* แสดงผลลัพธ์ +1 +5 +10 */ +``` + +```js +let obj = { + genIterator: function *(item) { // ประกาศเจนเนอเรเตอร์ + for (let i=0; i < item.length; i++) { + yield item[i]; + } + } +}; +``` + +```js +let obj = { + *genIterator (item) { // ประกาศเจนเนอเรเตอร์แบบย่อ + for (let i=0; i < item.length; i++) { + yield item[i]; + } + } +}; +``` + +### ประกาศเจนเนอเรเตอร์ในคลาส + +```js +class IteratorClass { + *genIterator (item) { // ประกาศเจนเนอเรเตอร์ + for (let i=0; i < item.length; i++) { + yield item[i]; + } + } +} +let myClass = new IteratorClass(); +for(let i of myClass.genIterator([1, 5, 10]) ) { + console.log(i); +} +/* แสดงผลลัพธ์ +1 +5 +10 */ +``` + +### สร้างอ็อบเจ็กต์ที่วนซ้ำได้ด้วยเจนเนอเรเตอร์ + +```js +let obj = { item: [1, 5, 10]}; +obj[Symbol.iterator] = function *() { // ประกาศเจนเนอเรเตอร์ + yield *this.item; +}; +for(let i of obj) { + console.log(i); +} +/* แสดงผลลัพธ์เป็น +1 +5 +10 */ +``` + +```js +let obj = { + item: [1, 5, 10], + [Symbol.iterator] : function *() { // ประกาศเจนเนอเรเตอร์ + yield *this.item; + } + }; +``` + +```js +let obj = { + item: [1, 5, 10], + *[Symbol.iterator]() { // ประกาศเจนเนอเรเตอร์แบบย่อ + yield *this.item; + } + }; +``` + +```js +class GenIterable { + constructor(item) { + this.item = item; + } + *[Symbol.iterator]() { // ประกาศเจนเนอเรเตอร์ + yield *this.item; + } +} +let obj = new GenIterable([1, 5, 10]); +for(let i of obj){ + console.log(i); +} +/* แสดงผลลัพธ์ +1 +5 +10 */ +``` + +### ประโยค return ในเจนเนอเรเตอร์ + +```js +function * genIterator () { + yield 1; + yield 5; + return 45; // จบการทำงานแค่บรรทัดนี้ + yield 10; // การทำงานจะมาไม่ถึงบรรทัดนี้ +} +let iterator = genIterator (); +console.log(iterator.next()); // { value: 1, done: false } +console.log(iterator.next()); // { value: 5, done: false } +console.log(iterator.next()); // { value: 45, done: true } +console.log(iterator.next()); // { value: undefined, done: true } +console.log(iterator.next()); // { value: undefined, done: true } +``` From a068eaaf6d4f2f8c613c4be5c816faea01badf5f Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 17:07:06 +0700 Subject: [PATCH 087/757] update --- examples_book/Chapter16.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index bcf13d4..06596c9 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -13,7 +13,7 @@ function createIterator(array) { let done = (this.i >= array.length); // เข้าถึงสมาชิกในอาร์เรย์ let value = !done ? array[this.i++] : undefined; - return { value, done}; + return { value, done }; } // สิ้นสุดการประกาศฟังก์ขั่น }; return iterator; @@ -63,8 +63,7 @@ for(let i of [1, 5, 10]) { /* แสดงผลลัพธ์ 1 5 -10 -*/ +10 */ /* อาจเหมือนเขียนประโยคนี้ let iterator = [1, 5, 10][Symbol.iterator](); let result; From 465174c3b5a5e162dbe1186e6d8c7e9b9b02848d Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 17:25:46 +0700 Subject: [PATCH 088/757] update --- examples_book/Chapter16.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 06596c9..17c01a6 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -384,7 +384,7 @@ for(let [key,value] of uint8.entries()) { * ตัวอย่างที่ 6 ```js -function myFunction(){ +function myFunction() { return new Set(["red", "green"]); } let [a, b] = myFunction(); @@ -437,7 +437,7 @@ createGrade("Mana", "Dekdee", map.values());// "Mana Dekdee Male 19 Math 3.20" ```js -let obj = { array: [1, 5, 10]}; +let obj = { array: [1, 5, 10] }; obj[Symbol.iterator] = function () { // บรรทัดที่ 2 return this.array[Symbol.iterator](); // บรรทัดที่ 3 // return this.array.values(); // หรือจะเขียนแบบนี้ก็สามารถทำได้ From 8355831ff6a35be93ac4d9e232a3e90628ca1301 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 17:29:22 +0700 Subject: [PATCH 089/757] update --- examples_book/Chapter16.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 17c01a6..f9a826a 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -453,8 +453,8 @@ for(let i of obj){ ```js let obj = { - array: [1, 5, 10] - ,[Symbol.iterator] () { + array: [1, 5, 10], + [Symbol.iterator] () { return this.array[Symbol.iterator](); // return this.array.values(); } From 0a084f65b901a401a48caf6a52a1fc0912d43713 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 17:44:58 +0700 Subject: [PATCH 090/757] update --- examples_book/Chapter16.md | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index f9a826a..2d043cc 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -555,6 +555,9 @@ for (let i of iterator) { // อิเทอเรเตอร์ของเจ 10 */ ``` + +### ประโยค return ในเจนเนอเรเตอร์ + ```js function * genIterator () { yield 1; @@ -758,7 +761,7 @@ for(let i of myClass.genIterator([1, 5, 10]) ) { ### สร้างอ็อบเจ็กต์ที่วนซ้ำได้ด้วยเจนเนอเรเตอร์ ```js -let obj = { item: [1, 5, 10]}; +let obj = { item: [1, 5, 10] }; obj[Symbol.iterator] = function *() { // ประกาศเจนเนอเรเตอร์ yield *this.item; }; @@ -799,7 +802,7 @@ class GenIterable { } } let obj = new GenIterable([1, 5, 10]); -for(let i of obj){ +for(let i of obj) { console.log(i); } /* แสดงผลลัพธ์ @@ -807,20 +810,3 @@ for(let i of obj){ 5 10 */ ``` - -### ประโยค return ในเจนเนอเรเตอร์ - -```js -function * genIterator () { - yield 1; - yield 5; - return 45; // จบการทำงานแค่บรรทัดนี้ - yield 10; // การทำงานจะมาไม่ถึงบรรทัดนี้ -} -let iterator = genIterator (); -console.log(iterator.next()); // { value: 1, done: false } -console.log(iterator.next()); // { value: 5, done: false } -console.log(iterator.next()); // { value: 45, done: true } -console.log(iterator.next()); // { value: undefined, done: true } -console.log(iterator.next()); // { value: undefined, done: true } -``` From cf3a3a032b62015e678a9b8ff006ccd8477cb5cd Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 17:48:02 +0700 Subject: [PATCH 091/757] Update Chapter09.md --- examples_book/Chapter09.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index ab7917e..ea0cc71 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -573,7 +573,7 @@ console.log(a); // 10 ### Logical Assignment Operator -ตัวอย่างโอเปอเรเตอร์ &&= +* ตัวอย่างโอเปอเรเตอร์ &&= ```js let x = true; @@ -589,7 +589,7 @@ x &&= y; // เสมือนเขียน x && (x=y); console.log(x); // false ``` -ตัวอย่างโอเปอเรเตอร์ ||= +* ตัวอย่างโอเปอเรเตอร์ ||= ```js let x = false; @@ -605,7 +605,7 @@ x ||= y; // เสมือนเขียน x || (x=y); console.log(x); // true ``` -ตัวอย่างโอเปอเรเตอร์ ??= +* ตัวอย่างโอเปอเรเตอร์ ??= ```js let x; // x = undefined @@ -619,4 +619,4 @@ let x=10; let y = 777 x ??= y; // เสมือนเขียน x = x ?? (x=y); console.log(x) // 10 -``` \ No newline at end of file +``` From 425403e72ca2badab283c67790e6cab9c77d06b2 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 17:50:08 +0700 Subject: [PATCH 092/757] Update Chapter17.md --- examples_book/Chapter17.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index a29646e..acd715e 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -105,7 +105,7 @@ console.log(obj.a); // 100 ### ตัวอย่างการใช้งานพร็อกซี่ -ตัวอย่างที่ 1 จะแสดงการดัดแปลงพฤติกรรมของอ็อบเจ็กต์ ด้วยการใช้พร็อกซี่ +* ตัวอย่างที่ 1 จะแสดงการดัดแปลงพฤติกรรมของอ็อบเจ็กต์ ด้วยการใช้พร็อกซี่ ```js let obj = { foo: 1 }; @@ -141,7 +141,7 @@ console.log(proxyObj.b); // exception: Can’t read pro delete proxyObj.c ; // exception: Can’t delete property: c ``` -ตัวอย่างที่ 2 จะแสดงการตรวจสอบค่าอากิวเมนต์ที่ส่งไปให้พารามิเตอร์ของฟังก์ชั่น รวมทั้งค่ารีเทิร์นจากฟังก์ชั่นด้วย +* ตัวอย่างที่ 2 จะแสดงการตรวจสอบค่าอากิวเมนต์ที่ส่งไปให้พารามิเตอร์ของฟังก์ชั่น รวมทั้งค่ารีเทิร์นจากฟังก์ชั่นด้วย ```js let validation = { // handler @@ -193,7 +193,7 @@ proxySum(maxNum, maxNum); // error proxyMultiply(maxNum, maxNum); // error ``` -ตัวอย่างที่ 3 จะแสดงกลไกการป้องกันเวลากำหนดโปรโตไทป์ให้กับอ็อบเจ็กต์ +* ตัวอย่างที่ 3 จะแสดงกลไกการป้องกันเวลากำหนดโปรโตไทป์ให้กับอ็อบเจ็กต์ ```js let people = {}; @@ -226,7 +226,7 @@ proxyMan.__proto__ = car; // error proxyWoman.__proto__ = car; // error ``` -ตัวอย่างที่ 4 จะแสดงกลไกป้องกันการกำหนดสมาชิกคนละชนิดในอาร์เรย์ +* ตัวอย่างที่ 4 จะแสดงกลไกป้องกันการกำหนดสมาชิกคนละชนิดในอาร์เรย์ ```js let checkType = { set(targetObj, key, value, proxy) { @@ -254,7 +254,7 @@ console.log(myArray); // [ 0, 1, 2, 3, 4, 5 ] proxyArray[6] = "6"; // error ``` -ตัวอย่างที่ 5 จะแสดงวิธีที่ทำให้อ็อบเจ๊กที่เคยสร้างแล้วจะถูก cached เก็บไว้ จะได้ไม่ต้องสร้างซ้ำ ๆ กันหลายรอบ +* ตัวอย่างที่ 5 จะแสดงวิธีที่ทำให้อ็อบเจ๊กที่เคยสร้างแล้วจะถูก cached เก็บไว้ จะได้ไม่ต้องสร้างซ้ำ ๆ กันหลายรอบ ```js class Image{ constructor(imageName){ From abb112d32e8b8ba7a5b766da99ddc60518cef89d Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 28 Jul 2023 19:10:12 +0700 Subject: [PATCH 093/757] update --- examples_book/Chapter16.md | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 2d043cc..89eb2ab 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -210,13 +210,15 @@ for (let entry of map) { // จะเหมือนกับกา ### โอเปอเรเตอร์สเปรด -* ตัวอย่างที่ 1 +* ตัวอย่างที่ 1 จะแสดงการใช้งานโอเปอเรเตอร์สเปรดกับสตริง เพื่อนำไปกำหนดค่าให้เป็นสมาชิกของอาร์เรย์ + ```js let array = [..."abc"]; // จะเหมือนเขียนเป็น let array = ["a", "b", "c"]; console.log(array[0], array[1], array[2]); // "a b c" ``` -* ตัวอย่างที่ 2 +* ตัวอย่างที่ 2 เมื่อใช้โอเปอเรเตอร์สเปรดกับเซท มันจะไปเรียกเมธอด @@iterator ของเซท ให้สร้างอิเทอเรเตอร์ขึ้นมา เพื่อใช้เข้าถึงและแตกสมาชิกของเซทออกมา + ```js let set = new Set(["a", "b", "c"]) ; let array = [...set]; @@ -238,7 +240,8 @@ console.log(entries[2][0]); // "c" console.log(entries[2][1]); // "c" ``` -* ตัวอย่างที่ 3 +* ตัวอย่างที่ 3 จะแสดงการใช้งานโอเปอเรเตอร์สเปรดกับแม็พ เพื่อนำไปกำหนดค่าให้เป็นสมาชิกของอาร์เรย์ + ```js let map = new Map([ [1,"a"] , [2, "b"] ]); let keys = [ ...map.keys() ], @@ -253,7 +256,8 @@ console.log(entries[1][1]); // "b" console.log( [...map]); // [ [1, "a"] , [2, "b"] ] ``` -* ตัวอย่างที่ 4 +* ตัวอย่างที่ 4 จะแสดงการใช้โอเปอเรเตอร์สเปรด กับอาร์เรย์ + ```js let array = []; array.length = 3; @@ -264,7 +268,7 @@ console.log(...array.entries()); // [0, undefined] [1, "a"] [2, undefined] console.log(...array); // undefined "a" undefined ``` -* ตัวอย่างที่ 5 +* ตัวอย่างที่ 5 จะแสดงการใช้โอเปอเรเตอร์สเปรด กับอาร์เรย์ระดับบิต ```js let uint8 = new Uint8Array( 2 ); uint8[0] = 10 ; @@ -275,7 +279,7 @@ console.log(...uint8.entries()); // [0, 10] [1, 20] console.log(...uint8); // 10 20 ``` -* ตัวอย่างที่ 6 +* ตัวอย่างที่ 6 จะแสดงการใช้งานโอเปอรเตอร์สเปรดกับคอลเลคชั่น เพื่อแตกค่าออกมาก่อน แล้วจึงส่งมันให้เป็นค่าอากิวเมนต์แก่ฟังก์ชั่น ```js let set = new Set([1, 2, 3]); let array = [10, 20, 30]; @@ -320,13 +324,15 @@ console.log(...diff); // 1 2 ### ดีสตรัคเตอร์ริ่ง -* ตัวอย่างที่ 1 +* ตัวอย่างที่ 1 ลองพิจารณาการใช้งานเซท กับวิธีดีสตรัคเตอร์ริ่ง + ```js let [a, b, c] = new Set(["a", "b", "c"]); console.log(a, b, c) // "a b c" ``` -* ตัวอย่างที่ 2 +* ตัวอย่างที่ 2 ลองพิจารณาการใช้งานแม็พ กับวิธีดีสตรัคเตอร์ริ่ง + ```js let map = new Map(); map.set("firstname", "Somchai"); @@ -340,14 +346,15 @@ console.log(key1,key2); // "firstname lastname" console.log(value1,value2); // "Somchai Jaidee" ``` -* ตัวอย่างที่ 3 +* ตัวอย่างที่ 3 ลองพิจารณาการใช้งานอาร์เรย์ระดับบิต ด้วยการใช้โอเปอเรเตอร์สเปรด ร่วมกับวิธีดีสตรัคเตอร์ริ่ง + ```js let uint8 = new Uint8Array( 2 ); [...uint8] = [10, 20]; console.log(uint8[0], uint8[1]); // 10 20 ``` -* ตัวอย่างที่ 4 +* ตัวอย่างที่ 4 ลองพิจารณาการนำข้อมูลจากคอลเลคชั่นมากำหนดค่าให้กับอาร์เรย์ ด้วยการใช้โอเปอเรเตอร์สเปรด ร่วมกับวิธีดีสตรัคเตอร์ริ่ง ```js let a1 = [], a2 = []; let set = new Set([10, 20]); @@ -361,7 +368,8 @@ console.log(a2[0][0], a2[0][1]); // "firstname Somchai" console.log(a2[1][0], a2[1][1]); // "lastname Jaidee" ``` -* ตัวอย่างที่ 5 +* ตัวอย่างที่ 5 ลองพิจารณาการใช้งานเมธอด entries() ของคอลเลคชั่น ในประโยค for …of + ```js let array = [5, 10]; let set= new Set(["red", "green"]); @@ -382,7 +390,7 @@ for(let [key,value] of uint8.entries()) { } ``` -* ตัวอย่างที่ 6 +* ตัวอย่างที่ 6 ลองพิจารณาการใช้วิธีดีสตรัคเตอร์ริ่ง มารับค่าจากการรีเทิร์นของฟังก์ชั่น ```js function myFunction() { return new Set(["red", "green"]); @@ -411,13 +419,12 @@ createGrade("Mana", "Dekdee", map.values());// "Mana Dekdee Male 19 Math 3.20" -
  • One
  • Two
  • -
  • Three
  • +
  • Three
+ + +``` + +* ตัวอย่างที่ 2 + +```js +fetch(“https://patanasongsivilai.com/example/json.php”) // บรรทัด a +.then( function (res) { // บรรทัด b + return res.text(); // บรรทัด c + } +) +.then( function (txt) { // บรรทัด d + console.log(txt); // บรรทัด e + } +); +// แสดงผลลัพธ์ +// {“name”:“Somchai”,“age”:30,“city”:“Bangkok”} +``` + +```html + + + +

+

+ + + +``` + +* ตัวอย่างที่ 3 + +* [ไฟล์ json.txt](Chapter18/json.txt) + +```js +function readJSONFile(fileName){ + function asynCode(resolve,reject) { + let fs = require(“fs”); // ใช้อ่านไฟล์ + fs.readFile(fileName, function(err, text) { // บรรทัด a + if (err) { + reject(err.message); // บรรทัด b + }else{ + let obj = JSON.parse(text); + let json = JSON.stringify(obj, null, 2); + resolve(json); // บรรทัด c + } // สิ้นสุดประโยค if + }); + } // สิ้นสุดการประกาศฟังก์ชั่น asynCode + return new Promise(asynCode); // บรรทัด d +} // สิ้นสุดการประกาศฟังก์ชั่น readJSONFile +let reader = readJSONFile(“json.txt”); // อ่านไฟล์ json.text +console.log(“Read a file”); +function handle(value) { console.log(value); } +function errorHandle(errMsg) { console.log(“Error message:”, errMsg); } +reader.then(handle, errorHandle) // บรรทัด e +``` + +* ตัวอย่างที่ 4 + +```js +let iterator = generator(); +iterator.next(); // เริ่มทำงาน +function *generator() { + for(let i=0; i<5; i++){ + let result = yield runService(i); // บรรทัด a + console.log(“Message:” , result); + } +} +function runService(data) { + function aysnCode(resolve, reject) { + console.log(“to do something:”, data); // บรรทัด b + // การทำงานแบบอะซิงโครนัสอื่น ๆ + // ... + setTimeout(function(){ + resolve(data); // บรรทัด c + } + ,1000); // ดีเลย์ 1 วินาที + } + let promise = new Promise(aysnCode); + promise.then(function(value){ // บรรทัด d + let result = `service ${value} is success`; + iterator.next(result); + }); +} +``` + +## สไตล์การเขียนด้วยฟังก์ชั่นคอลแบ็ค + +```js +Promise.resolve(123) +.then( function(value) { // บรรทัด a -- ฟังก์ชันคอลแบ็คแบบไร้ชื่อ ขึ้นต้นด้วย function + console.log(value); + } +); +// แสดงผลลัพธ์ +// 123 +Promise.reject(“Error”) +.catch(function (value) { + console.log(value); // บรรทัด b -- ฟังก์ชันคอลแบ็คแบบไร้ชื่อ ขึ้นต้นด้วย function + } +); +// แสดงผลลัพธ์ +// “Error” +``` + +```js +Promise.resolve(123) +.then( (value) => console.log(value)); // บรรทัด a -- ฟังก์ชันคอลแบ็คเป็นฟังก์ชันลูกศร +// แสดงผลลัพธ์ +// 123 +Promise.reject(“Error”) +.catch( (value) => console.log(value)); // บรรทัด b - ฟังก์ชันคอลแบ็คเป็นฟังก์ชันลูกศร +// แสดงผลลัพธ์ +// “Error” +``` \ No newline at end of file diff --git a/examples_book/Chapter18/json.txt b/examples_book/Chapter18/json.txt new file mode 100644 index 0000000..00459a6 --- /dev/null +++ b/examples_book/Chapter18/json.txt @@ -0,0 +1,4 @@ +{"Font":[ + {"color":"red", "lang":"thai"}, + {"color":"blue", "lang":"eng"} +]} From 9ebea1202883718c5e1a656aa8b81ef454f746be Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 29 Jul 2023 14:54:36 +0700 Subject: [PATCH 095/757] update --- examples_book/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/README.md b/examples_book/README.md index e68750f..f779c50 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -17,11 +17,11 @@ * [บทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์](Chapter13.md) * [บทที่ 14 ](Chapter14.md) * [บทที่ 15 คอลเลคชั่น](Chapter15.md) -* [บทที่ 16 ](Chapter16.md) +* [บทที่ 16 แอชตันอโศก ](Chapter16.md) * [บทที่ 17 เมต้าโปรแกรมมิ่ง --มีแผนปรับปรุงโค้ด](Chapter17.md) * [บทที่ 18 ](Chapter18.md) -* [บทที่ 19 ](Chapter19.md) * [ไฟล์ json.php ประกอบเนื้อหา Fetch API](json.php) +* [บทที่ 19 พรอมิส](Chapter19.md) * [บทที่ 20](Chapter20.md) * [ภาคผนวก ข](Appendix_B) From 5e5d4eb43fa747c4649781f28dc66c786dd29b3d Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 29 Jul 2023 14:57:40 +0700 Subject: [PATCH 096/757] update --- examples_book/Chapter18.md | 474 ++++++++++++++++++------------------- examples_book/README.md | 4 +- examples_book/md2html.js | 58 ++--- 3 files changed, 268 insertions(+), 268 deletions(-) diff --git a/examples_book/Chapter18.md b/examples_book/Chapter18.md index a54214e..3306513 100644 --- a/examples_book/Chapter18.md +++ b/examples_book/Chapter18.md @@ -6,14 +6,14 @@ let promise = new Promise( function (resolve, reject) { console.log(typeof resolve); // บรรทัด a console.log(typeof reject); // บรรทัด b - console.log(“Promise”); // บรรทัด c + console.log("Promise"); // บรรทัด c } ); -console.log(“Last statement”); // บรรทัด d +console.log("Last statement"); // บรรทัด d /* แสดงผลลัพธ์เป็น -“function” -“function” -“Promise” -“Last statement” */ +"function" +"function" +"Promise" +"Last statement" */ ``` ## เมธอด then() @@ -23,45 +23,45 @@ function asynCode(resolve, reject) { setTimeout( function() { // บรรทัด a /* ซอร์สโค้ดอื่น ๆ */ //... - resolve(“success”); // บรรทัด b -- แจ้งว่าพรอมิสทำงานสำเร็จ + resolve("success"); // บรรทัด b -- แจ้งว่าพรอมิสทำงานสำเร็จ }, 1000); // ดีเลย์ 1 วินาที }; let promise = new Promise(asynCode); // บรรทัด c promise.then( function (value) { // บรรทัด d -- มอนิเตอร์พรอมิส กรณีที่มันทำงานสำเร็จ - console.log(“Promise:”, value); + console.log("Promise:", value); } ); -console.log(“Last statement”); // บรรทัด e +console.log("Last statement"); // บรรทัด e /* แสดงผลลัพธ์เป็น -“Last statement” -“Promise: success” */ +"Last statement" +"Promise: success" */ ``` ```js let asynCode = function (resolve, reject) { - console.log(“Start a job”); + console.log("Start a job"); let condition; /* ซอร์สโค้ดอะซิงโครนัส */ //... if (condition) { - resolve(“success”); // บรรทัด a -- แจ้งว่าพรอมิสทำงานสำเร็จ + resolve("success"); // บรรทัด a -- แจ้งว่าพรอมิสทำงานสำเร็จ } else { - reject(“failed”); // บรรทัด b -- แจ้งว่าพรอมิสทำงานไม่สำเร็จ + reject("failed"); // บรรทัด b -- แจ้งว่าพรอมิสทำงานไม่สำเร็จ } }; let promise = new Promise(asynCode); promise.then( - function (value) { // บรรทัด c -- มอนิเตอร์พรอมิส กรณีที่มันทำงานสำเร็จ console.log(“Promise:”,value); + function (value) { // บรรทัด c -- มอนิเตอร์พรอมิส กรณีที่มันทำงานสำเร็จ console.log("Promise:",value); }, function (reason) { // บรรทัด d -- มอนิเตอร์พรอมิส กรณีที่มันทำงานไม่สำเร็จ - console.log(“Promise:”, reason); + console.log("Promise:", reason); } ); -console.log(“Last statement”); +console.log("Last statement"); // แสดงผลลัพธ์เป็น -// “Start a job” -// “Last statement” -// “Promise: success” หรือ “Promise: failed” +// "Start a job" +// "Last statement" +// "Promise: success" หรือ "Promise: failed" ``` ## เมธอด cath() @@ -69,39 +69,39 @@ console.log(“Last statement”); ```js let promise = new Promise( function (resolve, reject) { // เมื่อทำงานไม่สำเร็จ - console.log(“Start a job”); - reject(“failed”); // บรรทัด a + console.log("Start a job"); + reject("failed"); // บรรทัด a }); promise.catch( function (reason){ // บรรทัด b - console.log(“Promise:”, reason); + console.log("Promise:", reason); }); -console.log(“Last statement”); +console.log("Last statement"); /* แสดงผลลัพธ์เป็น -“Start a job” -“Last statement” -“Promise: failed” */ +"Start a job" +"Last statement" +"Promise: failed" */ ``` ```js let promise = new Promise( function(resolve, reject) { - console.log(“Start a job”); - throw new Error(“Error in promise”); // บรรทัด a + console.log("Start a job"); + throw new Error("Error in promise"); // บรรทัด a }); promise.catch( function(error) { // บรรทัด b console.log(error.message); } ); -console.log(“Last statement”); +console.log("Last statement"); /* แสดงผลลัพธ์เป็น -“Start a job” -“Last statement” -“Error in promise” */ +"Start a job" +"Last statement" +"Error in promise" */ ``` ```js let promise = new Promise( function(resolve, reject) { try{ - console.log(“Start a job”); - throw new Error(“Error in promise”); + console.log("Start a job"); + throw new Error("Error in promise"); } catch(error) { reject(error); } @@ -109,172 +109,172 @@ let promise = new Promise( function(resolve, reject) { promise.catch( function(error) { console.log(error.message); } ); -console.log(“Last statement”); +console.log("Last statement"); /* แสดงผลลัพธ์เป็น -“Start a job” -“Last statement” -“Error in promise” */ +"Start a job" +"Last statement" +"Error in promise" */ ``` ## ตำแหน่งการวาง then() กับ cath() ```js let promise = new Promise( function(resolve, reject ) { - // resolve(“success”); - // reject(“failed”); + // resolve("success"); + // reject("failed"); }); -console.log(“Line 1”); // บรรทัดที่ 1 +console.log("Line 1"); // บรรทัดที่ 1 //... -console.log(“Line 2000”); // บรรทัดที่ 2000 +console.log("Line 2000"); // บรรทัดที่ 2000 promise.catch( function(reason) { // จะวาง catch()ไว้หลังจากสร้างพรอมิสตำแหน่งใดก็ได้ - console.log(“Promise:”, reason); + console.log("Promise:", reason); } ); //... -console.log(“Line 5000”); // บรรทัดที่ 5000 +console.log("Line 5000"); // บรรทัดที่ 5000 promise.then( function(value) { // จะวาง then() ไว้หลังจากสร้างพรอมิสตำแหน่งใดก็ได้ - console.log(“Promise:”, value); + console.log("Promise:", value); } ); ``` ```js let promise = new Promise( function(resolve, reject) { - console.log(“Start a job”); - resolve(“success”); + console.log("Start a job"); + resolve("success"); }); promise.then( function(value) { - console.log(“Outer Promise:”, value); + console.log("Outer Promise:", value); promise.then( function (value) { - console.log(“Inner Promise:”, value); + console.log("Inner Promise:", value); }); } ); -console.log(“Last statement”); +console.log("Last statement"); /* แสดงผลลัพธ์เป็น -“Start a job” -“Last statement” -“Outer Promise: success” -“Inner Promise: success” */ +"Start a job" +"Last statement" +"Outer Promise: success" +"Inner Promise: success" */ ``` ```js let promise = new Promise( function(resolve, reject) { - console.log(“Start a job”); - reject(“failed”); + console.log("Start a job"); + reject("failed"); }); promise.catch( function(reason) { - console.log(“Outer promise:”, reason); + console.log("Outer promise:", reason); promise.catch( function (reason) { - console.log(“Inner promise:”, reason); + console.log("Inner promise:", reason); }); } ); -console.log(“Last statement”); +console.log("Last statement"); /* แสดงผลลัพธ์เป็น -“Start a job” -“Last statement” -“Outer promise: failed” -“Inner promise: failed” */ +"Start a job" +"Last statement" +"Outer promise: failed" +"Inner promise: failed" */ ``` ## เรียก then() แบบต่อเนื่อง ```js let p1 = new Promise( function(resolve, reject) { - resolve(“success”); // บรรทัด a + resolve("success"); // บรรทัด a }); let p2 = p1.then( function(value) { - console.log(“Promise:”, value); // บรรทัด b + console.log("Promise:", value); // บรรทัด b }); p2.then( function() { // บรรทัด c - console.log(“Finish”); + console.log("Finish"); }); /* แสดงผลลัพธ์เป็น -“Promise: success” -“Finish” */ +"Promise: success" +"Finish" */ ``` ```js let promise = new Promise(function(resolve, reject) { - resolve(“success”); + resolve("success"); }); promise.then(function(value) { // then() ตัวแรก - console.log(“Promise:”, value); + console.log("Promise:", value); }).then(function() { // then() ตัวที่สอง ฟังก์ชั่นคอลแบ็คจะไม่มีพารามิเตอร์ - console.log(“then1: finish”); + console.log("then1: finish"); }). then(function() { // then() ตัวที่สาม ฟังก์ชั่นคอลแบ็คจะไม่มีพารามิเตอร์ - console.log(“then2: finish”); + console.log("then2: finish"); }); /* แสดงผลลัพธ์เป็น -“Promise: success” -“then1: finish” -“then2: finish” */ +"Promise: success" +"then1: finish" +"then2: finish" */ ``` ## ดักจับ error แบบต่อเนื่อง ```js let promise = new Promise (function(resolve, reject) { - throw new Error(“error1”); // บรรทัด a + throw new Error("error1"); // บรรทัด a }); promise.catch( function(error) { // catch() ตัวแรก - console.log(“catch1:”, error.message); - throw new Error(“error2”); + console.log("catch1:", error.message); + throw new Error("error2"); }).catch( function(error) { // catch() ตัวที่สอง - console.log(“catch2:”, error.message); - throw new Error(“error3”); + console.log("catch2:", error.message); + throw new Error("error3"); }).catch( function(error) { // catch() ตัวที่สาม - console.log(“catch3:”, error.message); + console.log("catch3:", error.message); }); /* แสดงผลลัพธ์ -“catch1: error1 -“catch2: error2” -“catch3: error3” */ +"catch1: error1 +"catch2: error2" +"catch3: error3" */ ``` ```js let promise = new Promise(function(resolve, reject) { - throw new Error(“Error”); + throw new Error("Error"); }); promise.catch( function(error) { // ฟังก์ชั่นชั่นคอลแบ็คของ catch() ตัวแรก จะทำงาน console.log(error.message); }).catch( function() { // ฟังก์ชั่นชั่นคอลแบ็คของ catch() ตัวที่สอง ไม่ถูกเรียกให้ทำงาน - console.log(“Last error”); + console.log("Last error"); }); // แสดงผลลัพธ์ -// “Error” +// "Error" ``` ```js let promise = new Promise(function(resolve, reject) { - throw new Error(“Error”); + throw new Error("Error"); }); promise.catch( function(error) { console.log(error.message); }).then( function(value) { - console.log(“Last then”); + console.log("Last then"); }); /* แสดงผลลัพธ์ -“Error” -“Last then” */ +"Error" +"Last then" */ ``` ## ประโยค return ```js let promise = new Promise(function(resolve, reject) { - resolve(“success”); + resolve("success"); }); promise.then(function(value) { // then() ตัวแรก - console.log(“then1:”, value); + console.log("then1:", value); return 2; // ส่ง 2 ไปให้กับฟังก์ชั่นคอลแบ็คของ then() ตัวถัดไป }).then(function(value) { // ประกาศฟังก์ชั่นคอลแบ็คให้มีพารามิเตอร์ - console.log(“then2:”, value); + console.log("then2:", value); return 3; // ส่ง 3 ไปให้กับฟังก์ชั่นคอลแบ็คของ then() ตัวถัดไป }). then(function(value) { // ประกาศฟังก์ชั่นคอลแบ็คให้มีพารามิเตอร์ - console.log(“then3:”, value); + console.log("then3:", value); }); /* แสดงผลลัพธ์เป็น -“then1: success” -“then2: 2” -“then3: 3” */ +"then1: success" +"then2: 2" +"then3: 3" */ ``` การใช้ then() ร่วมกับ catch() @@ -282,178 +282,178 @@ promise.then(function(value) { // then() ตัวแรก ```js let promise = new Promise( function(resolve, reject) { // บรรทัด a - reject(“Promise:”); + reject("Promise:"); }); promise.then( function(value) { - console.log(value, “success”); // ไม่ถูกเรียกให้ทำงาน + console.log(value, "success"); // ไม่ถูกเรียกให้ทำงาน }).catch( function(reason) { - console.log(reason, “failed”); // ถูกเรียกให้ทำงาน + console.log(reason, "failed"); // ถูกเรียกให้ทำงาน }); // แสดงผลลัพธ์ -// “Promise: failed” +// "Promise: failed" ``` ```js let promise = new Promise( function(resolve, reject) { - resolve(“Promise:”); + resolve("Promise:"); }); promise.catch( function(value) { - console.log(value, “failed”); // ไม่ถูกเรียกให้ทำงาน + console.log(value, "failed"); // ไม่ถูกเรียกให้ทำงาน }).then( function(reason) { - console.log(reason, “success”); // ถูกเรียกให้ทำงาน + console.log(reason, "success"); // ถูกเรียกให้ทำงาน }); // แสดงผลลัพธ์ -// “Promise: success” +// "Promise: success" ``` ```js let promise = new Promise(function(resolve, reject) { - throw new Error(“Error”); + throw new Error("Error"); }); promise.catch(function(error) { console.log(error.message); return 1; // สามารถส่ง 1 ไปให้ฟังก์ชั่นคอลแบ็คของ then() ตัวถัดไปได้ }).then(function(value) { - console.log(“then:”, value); + console.log("then:", value); return 2; // ไม่สามารถส่ง 2 ไปให้ฟังก์ชั่นคอลแบ็คของ catch() ตัวถัดไปได้ }).catch(function(error) { - console.log(“catch:”, error); // ไม่ถูกเรียกให้ทำงาน + console.log("catch:", error); // ไม่ถูกเรียกให้ทำงาน }); /* แสดงผลลัพธ์ -“Error” -“then: 1” */ +"Error" +"then: 1" */ ``` ```js let promise = new Promise(function(resolve, reject) { - throw new Error(“Error”); + throw new Error("Error"); }); promise.catch( function(error) { console.log(error.message); return 1; }).then( function(value) { - console.log(“then:”, value); + console.log("then:", value); throw 2; }).catch( function(value) { - console.log(“catch:”, value); // ถูกเรียกให้ทำงานได้ + console.log("catch:", value); // ถูกเรียกให้ทำงานได้ }); /* แสดงผลลัพธ์ -“Error” -“then: 1” -“catch: 2” */ +"Error" +"then: 1" +"catch: 2" */ ``` ## รีเทิร์นพรอมิส ```js let p1 = new Promise( function(resolve, reject) { - resolve(“promise1”); + resolve("promise1"); }); let p2 = new Promise( function(resolve, reject) { - resolve(“promise2”); // บรรทัด a + resolve("promise2"); // บรรทัด a }); let p3 = p1.then( function(value) { - console.log(“First then:”, value); + console.log("First then:", value); return p2; // บรรทัด b }); p3.then( function(value) { // บรรทัด c - console.log(“Second then:”, value); + console.log("Second then:", value); }); /* แสดงผลลัพธ์ -“First then: promise1” -“Second then: promise2” */ +"First then: promise1" +"Second then: promise2" */ ``` ```js let p1 = new Promise( function(resolve, reject) { - resolve(“promise1”); + resolve("promise1"); }); let p2 = new Promise( function(resolve, reject) { - resolve(“promise2”); + resolve("promise2"); }); p1.then( function(value) { - console.log(“First then:”, value); + console.log("First then:", value); return p2; }).then( function(value) { - console.log(“Second then:”, value); + console.log("Second then:", value); }); /* แสดงผลลัพธ์ -“First then: promise1” -“Second then: promise2” */ +"First then: promise1" +"Second then: promise2" */ ``` ```js let p1 = new Promise( function(resolve, reject) { - resolve(“success”); + resolve("success"); }); let p2 = new Promise( function(resolve, reject) { - reject(“failed”); + reject("failed"); }); p1.then( function(value) { - console.log(“then:”,value); + console.log("then:",value); return p2; }).catch( function(value) { // บรรทัด a - console.log(“catch:”, value); + console.log("catch:", value); }); /* แสดงผลลัพธ์ -“then: success” -“catch: failed” */ +"then: success" +"catch: failed" */ ``` ```js let p1 = new Promise( function(resolve, reject) { - console.log(“Promise1”); - resolve(“Success1”); + console.log("Promise1"); + resolve("Success1"); }); p1.then( function(value) { - console.log(“p1.then:”, value); + console.log("p1.then:", value); let p2 = new Promise( function(resolve, reject) { // บรรทัด a - console.log(“Promise2”); - resolve(“Success2”); + console.log("Promise2"); + resolve("Success2"); }); return p2; }).then(function(value) { - console.log(“p2.then:”, value); + console.log("p2.then:", value); }); /* แสดงผลลัพธ์ -“Promise1” -“p1.then: Success1” -“Promise2” -“p2.then: Success2” */ +"Promise1" +"p1.then: Success1" +"Promise2" +"p2.then: Success2" */ ``` ## การสร้างพรอมิสที่มีสถานะ settled ```js -let promise = Promise.resolve(“Promise is fulfilled”); +let promise = Promise.resolve("Promise is fulfilled"); /*ไม่ต้องเสียเวลาเขียนแบบนี้ let promise = new Promise(function(resolve, reject) { - resolve(“Promise is fulfilled”); + resolve("Promise is fulfilled"); }); */ promise.then(function(value) { console.log(value); }); // แสดงผลลัพธ์เป็น -// “Promise is fulfilled” +// "Promise is fulfilled" ``` ```js -let promise = Promise.reject(“Promise is rejected”); +let promise = Promise.reject("Promise is rejected"); /*ไม่ต้องเสียเวลาเขียนแบบนี้ let promise = new Promise(function(resolve, reject) { - reject(“Promise is rejected”); + reject("Promise is rejected"); }); */ promise.catch(function(reason) { console.log(reason); }); // แสดงผลลัพธ์เป็น -// “Promise is rejected” +// "Promise is rejected" ``` ```js let thenable = { then(resolve, reject) { - resolve(“fulfilled”); + resolve("fulfilled"); } }; ``` @@ -461,17 +461,17 @@ let thenable = { ```js let thenable = { then (resolve, reject) { - console.log(“thenable”); - resolve(“fulfilled”); // บรรทัด a -- จะส่งค่า “fulfilled” ไปให้ promise.then() + console.log("thenable"); + resolve("fulfilled"); // บรรทัด a -- จะส่งค่า "fulfilled" ไปให้ promise.then() } }; let promise = Promise.resolve(thenable); promise.then(function(value) { - console.log(“then:”, value); // บรรทัด b + console.log("then:", value); // บรรทัด b }); /* แสดงผลลัพธ์เป็น -“thenable” -“then: fulfilled” */ +"thenable" +"then: fulfilled" */ ``` ## เมธอด finally() @@ -490,101 +490,101 @@ myPromise ``` ```js -Promise.resolve(“fulfilled”) // บรรทัด a -.then( result => console.log(“then:”, result) ) // บรรทัด b -.catch( result => console.log(“catch:”, result) ) -.finally( () => console.log(“finally”) ); // บรรทัด c +Promise.resolve("fulfilled") // บรรทัด a +.then( result => console.log("then:", result) ) // บรรทัด b +.catch( result => console.log("catch:", result) ) +.finally( () => console.log("finally") ); // บรรทัด c /* แสดงผลลัพธ์ -“then: fulfilled” -“finally” */ +"then: fulfilled" +"finally" */ ``` ```js -Promise.reject(“rejected”) // บรรทัด a -.then( result => console.log(“then:”, result) ) -.catch( result => console.log(“catch:”, result) ) // บรรทัด b -.finally( () => console.log(“finally”) ); // บรรทัด c +Promise.reject("rejected") // บรรทัด a +.then( result => console.log("then:", result) ) +.catch( result => console.log("catch:", result) ) // บรรทัด b +.finally( () => console.log("finally") ); // บรรทัด c /* แสดงผลลัพธ์ -“catch: rejected” -“finally” */ +"catch: rejected" +"finally" */ ``` ```js -Promise.resolve(“fulfilled”) // บรรทัด a -.finally( () => console.log(“finally”) ) // บรรทัด b -.then( result => console.log(“then:”, result) ) // บรรทัด c -.catch( result => console.log(“catch:”, result) ); +Promise.resolve("fulfilled") // บรรทัด a +.finally( () => console.log("finally") ) // บรรทัด b +.then( result => console.log("then:", result) ) // บรรทัด c +.catch( result => console.log("catch:", result) ); /* -“finally” -“then: fulfilled” */ +"finally" +"then: fulfilled" */ ``` ```js -Promise.reject(“rejected”) // บรรทัด a -.finally( () => console.log(“finally”) ) // บรรทัด b -.then( result => console.log(“then:”, result) ) -.catch( result => console.log(“catch:”, result) ); // บรรทัด c +Promise.reject("rejected") // บรรทัด a +.finally( () => console.log("finally") ) // บรรทัด b +.then( result => console.log("then:", result) ) +.catch( result => console.log("catch:", result) ); // บรรทัด c /* -“finally” -“catch: rejected” */ +"finally" +"catch: rejected" */ ``` ```js -Promise.reject(“rejected”) // บรรทัด a +Promise.reject("rejected") // บรรทัด a .finally( () => { - throw “error from finally”; // บรรทัด b + throw "error from finally"; // บรรทัด b } ) .catch( error => console.log(error) ); // บรรทัด c // แสดงข้อความ -// “error from finally” +// "error from finally" ``` ```js -Promise.resolve(“fulfilled”) +Promise.resolve("fulfilled") .finally( ( ) => { return 1 } ) // เขียนย่อเป็น .finally( ( ) => 1 ) ก็ได้ .then( value => console.log(value)); // แสดงผลลัพธ์ -// “fulfilled” +// "fulfilled" ``` ```js -Promise.resolve(“fulfilled”) -.finally( () => console.log(“finally”) ) // มีแค่ finally() อย่างเดียว +Promise.resolve("fulfilled") +.finally( () => console.log("finally") ) // มีแค่ finally() อย่างเดียว // แสดงผลลัพธ์ -// “finally” +// "finally" ``` ## Promise.all() ```js -let p1 = Promise.resolve(“Promise1”); -let p2 = Promise.resolve(“Promise2”); -let p3 = Promise.resolve(“Promise3”); +let p1 = Promise.resolve("Promise1"); +let p2 = Promise.resolve("Promise2"); +let p3 = Promise.resolve("Promise3"); let p4 = Promise.all([p1, p2, p3]); // มอนิเตอร์ p1, p2 และ p3 ที่มีสถานะเป็น fulfilled ทุกตัว p4.then(function(value) { console.log(value); }); // แสดงผลลัพธ์เป็น -// [“Promise1”, “Promise2”, “Promise3”] +// ["Promise1", "Promise2", "Promise3"] ``` ```js let p1 = new Promise(function(resolve, reject) { - resolve(“Promise1:”); + resolve("Promise1:"); }); let p2 = new Promise(function(resolve, reject) { setTimeout( function(){ - reject(“Promise2:”); + reject("Promise2:"); }, 1000); // ดีเลย์ไป 1 วินาที }); -let p3 = Promise.reject(“Promise3:”); +let p3 = Promise.reject("Promise3:"); let p4 = Promise.all([p1, p2, p3]); // มอนิเตอร์เฉพาะ p3 เพราะมีสถานะเป็น rejected ก่อนตัวอื่น p4.then( - function(value) { console.log(value, “success”); } - ,function(value) { console.log(value, “failed”); } + function(value) { console.log(value, "success"); } + ,function(value) { console.log(value, "failed"); } ); // แสดงผลลัพธ์เป็น -// “Promise3: failed” +// "Promise3: failed" ``` ## Promise.race() @@ -592,22 +592,22 @@ p4.then( ```js let p1 = new Promise( function(resolve, reject) { setTimeout( function() { - resolve(“Promise1:”); + resolve("Promise1:"); }, 500); // ดีเลย์ 0.5 วินาที }); let p2 = new Promise( function(resolve, reject) { setTimeout( function() { - resolve(“Promise2:”); + resolve("Promise2:"); }, 1000); // ดีเลย์ 1 วินาที }); -let p3 = Promise.reject(“Promise3:”); +let p3 = Promise.reject("Promise3:"); let p4 = Promise.race([p1, p2, p3]); // มอนิเตอร์เฉพาะพรอมิส p3 เพราะมีสถานะเป็น settled ก่อนตัวอื่น p4.then( - function(value) { console.log(value, “success”); } - ,function(value) { console.log(value, “failed”); } + function(value) { console.log(value, "success"); } + ,function(value) { console.log(value, "failed"); } ); // แสดงผลลัพธ์เป็น -// “Promise3: failed” +// "Promise3: failed" ``` ## Promise.allSettled() @@ -628,7 +628,7 @@ Promise.allSettled( [p1, p2] ) // allSettled() รีเทิร์ ```js let p1 = Promise.resolve(123); let p2 = new Promise( resolve => { - throw “Error” // บรรทัด a + throw "Error" // บรรทัด a }); Promise.allSettled( [p1, p2] ) // บรรทัด b .then( arr => console.log(arr) ) // บรรทัด c @@ -662,9 +662,9 @@ Promise.any([p1, p2, p3]) // p2 เป็น fulfilled ``` ```js -let p1 = Promise.reject(“Error 1”); -let p2 = Promise.reject(“Error 2”); -let p3 = Promise.reject(“Error 3”); +let p1 = Promise.reject("Error 1"); +let p2 = Promise.reject("Error 2"); +let p3 = Promise.reject("Error 3"); Promise.any([p1, p2, p3]) .catch(aggregateError => console.log(aggregateError)); /* แสดงผลลัพธ์ @@ -691,31 +691,31 @@ Promise.any([p1, p2, p3]) -

-

+

+

+ + +``` + +```js +let obj ={ + value : "JavaScript", + printValue: function() { + console.log("Message:", this.value); // this จะชี้ไปยังอ็อบเจ็กต์ obj + }, + handle : function() { + console.log("Press a button"); + }, + init : function() { + let element = document.querySelector("#b1"); // ปุ่ม "Try it" + element.addEventListener("click", function(event) { + this.handle(); // this จะชี้ไปยังอ็อบเจ็กต์ obj + }.bind(this), false); // บรรทัด a -- this จะชี้ไปยังไปอ็อบเจ็กต์ obj + //}.bind(obj), false); // จะใช้บรรทัดนี้ก็ได้ มีความหมายเหมือนกัน + } +}; // สิ้นสุดการประกาศอ็อบเจ็กต์ +obj.printValue(); // "Message: JavaScript" +obj.init(); +``` + +### เมธอด apply(), call() และ bind() + +```js +let sum = (val1, val2) => console.log(val1 + val2) ; +sum.apply(null, [5, 5] ); // 10 +sum.call(null, 5, 5); // 10 +let resultSum = sum.bind(null, 5, 5); +resultSum(); // 10 +``` + +```js +let objA = {value: "access objA"}; +let objB = { + value: "access objB" + ,myFunction() { + console.log("this.value in myFunction:", this.value); + // this ในฟังก์ชั่นลูกศร จะเห็นเหมือนกับที่ myFunction() มองเห็น + let arrowFunc = () => console.log("Arrow function:", this.value) ; + let func = function(){ // this ในฟังก์ชั่นปกติ สามารถเปลี่ยนไปชี้อ็อบเจ็กตัวอื่นได้ + console.log("Normal function:", this.value); + } + arrowFunc.call(objA); // บรรทัด a –- ไม่สามารถเปลี่ยนค่า this ได้ + func.call(objA); // บรรทัด b -- สามารถเปลี่ยนค่า this ให้ชี้ไปยังอ็อบเจ็กต์ objA ได้ + } +} +objB.myFunction(); // บรรทัด c +/*แสดงผลลัพธ์ +"this.value in myFunction: access objB" +"Arrow function: access objB" +"Normal function: access objA" */ +objB.myFunction.call(objA); // บรรทัด d +/*แสดงผลลัพธ์ +"this.value in myFunction: access objA" +"Arrow function: access objA" +"Normal function: access objA" */ +``` + +## Tail call optimization + +```js +function foo(a) { + return a; // บรรทัด a +} +function bar(b) { + let c = b + 100; + return foo(c); // บรรทัด b +} +console.log( bar(30) ); // บรรทัด c แสดงผลลัพธ์เป็น 130 +``` + +### ตำแหน่ง Tail call + +* กรณีที่ 1 + +```js +function foo() { + bar(); // เรียกฟังก์ชั่นแบบนี้จะไม่ใช่ตำแหน่งสุดท้าย + // ถ้าเขียนเป็น return bar(); จะเป็นการเรียกฟังก์ชั่นในตำแหน่งสุดท้าย +} +``` + +```js +function foo() { + bar(); + return undefined; +} +``` + +* กรณีที่ 2 + +```js +function foo() { + return 1+ bar(); // เรียกฟังก์ชั่นแบบนี้จะไม่ใช่ตำแหน่งสุดท้าย +} +``` + +```js +function foo() { + let result = bar(); + return 1 + result; +} +``` + +* กรณีที่ 3 + +```js +function foo(condition) { + if(condition) { + return bar(); // บรรทัด a -- เรียกฟังก์ชั่นในตำแหน่งสุดท้าย + } else { + bar(); // บรรทัด b -- เรียกฟังก์ชั่นแบบนี้จะไม่ใช่ตำแหน่งสุดท้าย + } +} +``` + +### รีเคอร์ซีพ + +```js +function factorial(value) { + if (value <= 0) { + return 1; + } else { + return value * factorial(value-1); // บรรทัด a -- ไม่ใช่การเรียกฟังก์ชั่นในตำแหน่งสุดท้าย + } + } +console.log(factorial(4)); // จะได้ค่าเป็น 24 เพราะ 4! = 4 x 3 x 2 x 1 = 24 +// จะเกิด RangeError เพราะ stack frame โตเกินไป จนใช้หน่วยความจำหมด +console.log(factorial(200000)); +``` + +```js +// ต้องประกาศเพื่อทำ TCO แต่ถ้าเขียนบน Traceur หรือ Babel ซอร์สโค้ดจะเป็นสตริคท์โหมดโดยอัตโนมัติ +"use strict"; +function factorial(value) { + return callFac(1, value); +} +function callFac(temp, val) { + if (val <= 1) { + return temp; + } else { + return callFac(temp * val, val-1); // บรรทัด a -- เรียกฟังก์ชั่นในตำแหน่งสุดท้าย + } +} +console.log(factorial(4)); // 24 +console.log(factorial(200000)); // infinity +``` + +### นิพจน์อื่นที่เป็น Tail call + +* กรณีที่ 1 + +```js +let arrowFunc = param => param ? foo() : bar(); +``` + +```js +let arrowFunc = param => { + if(param) { + return foo(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย + } else { + return bar(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย + } +}; +``` +กรณีที่ 2 + +```js +let arrowFunc = () => (foo(), bar(), zoo()); +``` + +```js +let arrowFunc = () => { + foo(); +bar(); + return zoo(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย +}; +``` + +กรณีที่ 3 + +```js +let arrowFunc = () => foo() || bar(); +``` + +```js +let arrowFunc = () => { + let temp = foo(); + if (temp) { + return temp; + } else { + return bar(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย + } +}; +``` + +กรณีที่ 4 + +```js +let arrowFunc = () => foo() && bar(); +``` + +```js +let arrowFunc = () => { + let temp = foo(); + if (!temp) { + return temp; + } else { + return bar(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย + } +}; +``` + +## การใช้คอมมา (,) + +```js +let arr = [ "red", "green", "blue", ]; +``` + +```js +let arr = [ "green", "blue", "red", ]; +``` + +```js +let obj = { + foo: 1, + bar: 2, +}; +``` + +```js +let obj = { + bar: 2, + foo: 1, +}; +``` + +```js +let obj = { foo: 1, bar: 2, }; +``` + +```js +let arr = [ + "green", + "blue", + "red", + ]; +``` + +```js +function foo(param1, param2, ) { + console.log(arguments); +} +``` + +```js +foo( "abc", "def", ); // [Arguments] { '0': 'abc', '1': 'def' } +``` + +```js +// ตอนประกาศฟังก์ชัน +function foo( + param2, + param1, +) { + console.log(arguments); +} +// ตอนเรียกฟังก์ชัน +foo( + "def", + "abc", +); +// แสดงผลลัพธ์ +[Arguments] { '0': 'def', '1': 'abc' } +``` From e4dc1dece3f2ac6105a93ab2ac10a025c2726d8e Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 30 Jul 2023 14:14:16 +0700 Subject: [PATCH 107/757] update --- examples_book/README.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/examples_book/README.md b/examples_book/README.md index 39c06f6..2dc4d85 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -2,29 +2,31 @@ ![cover_new.PNG](https://github.com/adminho/javascript/blob/master/images/cover_new.png) +[สามารถสั่งซ์้อได้ที่เว็บ MEB (ขายเป็นอีบุ๊กเท่านั้น)](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjE1Njg1NCI7fQ) + (กำลังอัปเดตโค้ดอยู่นะครับ ยังไม่เรียบร้อยดี) * [บทที่ 3 รันจาวาสคริปต์อย่างง่าย](Chapter03.md) -* [บทที่ 4 ทบทวนมาตรฐานเก่า กำลังอัปเดต](Chapter04.md) +* [บทที่ 4 ทบทวนมาตรฐานเก่า --กำลังอัปเดต](Chapter04.md) * [บทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น](Chapter05.md) -* [บทที่ 6 ทบทวนอ็อบเจ็กต์ กำลังอัปเดต...](Chapter06.md) -* [บทที่ 7 บทวน Regex กำลังอัปเดต...](Chapter07.md) +* [บทที่ 6 ทบทวนอ็อบเจ็กต์ --กำลังอัปเดต...](Chapter06.md) +* [บทที่ 7 ทบทวน Regex --กำลังอัปเดต...](Chapter07.md) * [บทที่ 8 ฟีเจอร์ใหม่ของตัวเลข สตริง และ regex](Chapter8.md) * [บทที่ 9 การประกาศตัวแปร และการกำหนดค่า](Chapter9.md) * [บทที่ 10 ฟังก์ชั่น](Chapter10.md) * [บทที่ 11 เทมเพลตสตริง](Chapter11.md) * [บทที่ 12 ซิมโบล --มีแผนปรับปรุงโค้ด](Chapter12.md) * [บทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์](Chapter13.md) -* [บทที่ 14 คลาส กำลังอัปเดต...](Chapter14.md) +* [บทที่ 14 คลาส --กำลังอัปเดต...](Chapter14.md) * [บทที่ 15 คอลเลคชั่น](Chapter15.md) * [บทที่ 16 อิเทอเรเตอร์ และเจนเนอเรเตอร์](Chapter16.md) -* [บทที่ 17 มต้าโปรแกรมมิ่ง --มีแผนปรับปรุงโค้ด](Chapter17.md) +* [บทที่ 17 เมต้าโปรแกรมมิ่ง --มีแผนปรับปรุงโค้ด](Chapter17.md) * [บทที่ 18 พรอมิส](Chapter18.md) -* [บทที่ 19 การใช้งาน async กับ await กำลังอัปเดต...](Chapter19.md) -* [บทที่ 20 มอดูล กำลังอัปเดต...](Chapter20.md) +* [บทที่ 19 การใช้งาน async กับ await --กำลังอัปเดต...](Chapter19.md) +* [บทที่ 20 มอดูล --กำลังอัปเดต...](Chapter20.md) * [ภาคผนวก ข](Appendix_B) * [ปูพื้นฐาน Node.js ฉบับย่อ เข้าใจ MongoDB]( https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0OTQwOCI7fQ) -* [พื้นฐาน React]() +* [พื้นฐาน React](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0ODU5NiI7fQ) From 24343581e0cb993330ff1512152ad66c52c6d772 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 30 Jul 2023 14:51:32 +0700 Subject: [PATCH 108/757] update --- examples_book/Chapter10.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index b552e82..e3332c9 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -587,7 +587,6 @@ console.log(arrowFunc()) // 1 ``` ### เทคนิคการเขียน IIFE - ```js // เทคนิค IIFE กับฟังก์ชั่นลูกศร var printItem = ( @@ -598,8 +597,7 @@ printItem(); // "IIFE" var printItem = function(item) { return function() { console.log(item); }; }("IIFE"); -printItem(); // "IIFE" -*/ +printItem(); // "IIFE" */ ``` ### ฟังก์ชั่นคอลแบ็ค @@ -613,8 +611,7 @@ var array = [1, 2, 3, 4]; array.forEach(function(value, index, arr) { return arr[index] = value * 2; }); -console.log(array); // [2, 4, 6, 8] -*/ +console.log(array); // [2, 4, 6, 8] */ ``` ### การใช้ this ในฟังก์ชั่นลูกศร From 27011bf5913fe3c265f81b2f99d4607e0d6dae50 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 30 Jul 2023 17:20:28 +0700 Subject: [PATCH 109/757] update --- examples_book/Chapter10.md | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index e3332c9..a79e40e 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -101,6 +101,9 @@ sendMessage(); // "My_message_2 callback" ``` ```js +function add(value) { + return value + 10; +} function calculate(a, b = add(a), c = a * b) { console.log(a, b, c) ; } @@ -261,7 +264,7 @@ createGrade("Somchai", "Jaidee", {gender: "Male", age: 21, height: 175} ); ```js function createGrade(firstName, lastName, options) { - let { gender, age, subject, gpa } = options ; + let { gender, age, subject, gpa } = options ; // options ห้ามมีค่าเป็น null หรือ undefined เพราะจะเกิด error console.log(firstName, lastName, gender, age, subject, gpa); } @@ -682,13 +685,13 @@ resultSum(); // 10 ```js let objA = {value: "access objA"}; let objB = { - value: "access objB" - ,myFunction() { + value: "access objB", + myFunction() { console.log("this.value in myFunction:", this.value); // this ในฟังก์ชั่นลูกศร จะเห็นเหมือนกับที่ myFunction() มองเห็น - let arrowFunc = () => console.log("Arrow function:", this.value) ; - let func = function(){ // this ในฟังก์ชั่นปกติ สามารถเปลี่ยนไปชี้อ็อบเจ็กตัวอื่นได้ - console.log("Normal function:", this.value); + let arrowFunc = () => console.log("Arrow function:", this.value); + let func = function() { // this ในฟังก์ชั่นปกติ สามารถเปลี่ยนไปชี้อ็อบเจ็กตัวอื่นได้ + console.log("Normal function:", this.value); } arrowFunc.call(objA); // บรรทัด a –- ไม่สามารถเปลี่ยนค่า this ได้ func.call(objA); // บรรทัด b -- สามารถเปลี่ยนค่า this ให้ชี้ไปยังอ็อบเจ็กต์ objA ได้ @@ -732,7 +735,7 @@ function foo() { ```js function foo() { - bar(); + bar(); return undefined; } ``` @@ -757,9 +760,9 @@ function foo() { ```js function foo(condition) { if(condition) { - return bar(); // บรรทัด a -- เรียกฟังก์ชั่นในตำแหน่งสุดท้าย + return bar(); // บรรทัด a -- เรียกฟังก์ชั่นในตำแหน่งสุดท้าย } else { - bar(); // บรรทัด b -- เรียกฟังก์ชั่นแบบนี้จะไม่ใช่ตำแหน่งสุดท้าย + bar(); // บรรทัด b -- เรียกฟังก์ชั่นแบบนี้จะไม่ใช่ตำแหน่งสุดท้าย } } ``` @@ -806,11 +809,11 @@ let arrowFunc = param => param ? foo() : bar(); ```js let arrowFunc = param => { - if(param) { - return foo(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย - } else { - return bar(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย - } + if(param) { + return foo(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย + } else { + return bar(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย + } }; ``` กรณีที่ 2 @@ -822,7 +825,7 @@ let arrowFunc = () => (foo(), bar(), zoo()); ```js let arrowFunc = () => { foo(); -bar(); + bar(); return zoo(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย }; ``` From 385fdf5c5609d6369a006f56a5454f6fab60d43d Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 30 Jul 2023 17:31:26 +0700 Subject: [PATCH 110/757] update --- examples_book/Chapter10.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index a79e40e..891b9f0 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -122,7 +122,7 @@ function iterateItem(item) { let len = arguments.length; for(let i=1; i Date: Sun, 30 Jul 2023 17:45:47 +0700 Subject: [PATCH 111/757] update --- examples_book/md2html.js | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/examples_book/md2html.js b/examples_book/md2html.js index b2c1fa6..35d417d 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -16,7 +16,9 @@ function writeToHTML(allLines, fileName){ + +
+
${allLines}
@@ -161,16 +175,19 @@ async function genHTML(fileName){ allLines += `
- +
`; lineCodes = ""; - } else if(line.startsWith("#") || (line.startsWith("*") && !line.startsWith("*/")) ){ - line = line.replace(/#/g, ""); + } else if(line.startsWith("#")) { + line = line.replace(/#/g, ""); + allLines += `

${line}

`; + + } else if(line.startsWith("*") && !line.startsWith("*/")){ line = line.replace(/\*/g, ""); - allLines += `

${line}

`; + allLines += `

${line}

`; } if(isCode && !line.startsWith("```js") && !line.startsWith("```html")){ From 1ab9ce2e016473d39102d0624df4480eba46679a Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 31 Jul 2023 12:52:17 +0700 Subject: [PATCH 118/757] update --- examples_book/Chapter06.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index b6c19ec..59852c2 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -3,7 +3,7 @@ ## วิธีสร้างอ็อบเจ็กต์อย่างง่าย ```js -var font = {}; +var font = { }; ``` ```js @@ -67,7 +67,7 @@ console.log(obj[undefined]); // 4 ```js var obj = { - {}: 1 // เกิด error ไม่สามารถใช้อ็อบเจ็กต์เป็นคีย์ได้โดยตรง + { }: 1 // เกิด error ไม่สามารถใช้อ็อบเจ็กต์เป็นคีย์ได้โดยตรง }; ``` @@ -136,7 +136,7 @@ console.log(a === b); // true ```js var obj = { - a: 1, + a: 1, foo: function() { return 2; }, @@ -156,8 +156,8 @@ var obj = { foo: function () { this.a = 1; // เพิ่มตัวแปร a เข้าไปในอ็อบเจ็กต์ console.log(this.a ); - } - ,bar: function(){ + }, + bar: function(){ console.log(this.a); } }; From 665c39584fb7478692aefd279cec2cb63662ae76 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 31 Jul 2023 12:57:49 +0700 Subject: [PATCH 119/757] update --- examples_book/Chapter06.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 59852c2..aa0d676 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -157,7 +157,7 @@ var obj = { this.a = 1; // เพิ่มตัวแปร a เข้าไปในอ็อบเจ็กต์ console.log(this.a ); }, - bar: function(){ + bar: function() { console.log(this.a); } }; @@ -169,12 +169,12 @@ console.log(obj.a); // 1 ### การผูก this ไว้กับอ็อบเจ็กต์ ```js -var obj1 = {}; -var obj2 ={ +var obj1 = { }; +var obj2 = { a: 1, - bar : function(){ + bar : function() { console.log("this.a =", this.a); - obj1.foo = function(){ + obj1.foo = function() { console.log("this.a =", this.a); } // สิ้นสุดการประกาศฟังก์ชั่น foo() } // สิ้นสุดการประกาศฟังก์ชั่น bar() From 055a8f9f548bc0ae8b7cd2d6e1c76abd1ea95e98 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 31 Jul 2023 13:03:41 +0700 Subject: [PATCH 120/757] update --- examples_book/Chapter06.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index aa0d676..36e66df 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -155,7 +155,7 @@ obj.zoo(); // 2 var obj = { foo: function () { this.a = 1; // เพิ่มตัวแปร a เข้าไปในอ็อบเจ็กต์ - console.log(this.a ); + console.log(this.a); }, bar: function() { console.log(this.a); @@ -197,6 +197,8 @@ console.log(typeof obj); // "object" (ถ้าไม่ใช่โหมดสตริคท์) ``` +### เมธอด call() apply() และ bind() + ```js var obj1 = { value: 20 From a53013d4518f3b1fe7753d7b797fc77b82fbb0f9 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 31 Jul 2023 13:07:56 +0700 Subject: [PATCH 121/757] update --- examples_book/Chapter06.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 36e66df..1bf88ea 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -220,7 +220,7 @@ f(); // 1 10 20 ```js var font = { color: "red" } ; -font.color = "blue" ; +font.color = "blue"; ``` ```js @@ -228,7 +228,7 @@ var font = { set color(param) { // ประกาศเมธอด setter โดยมีพารามิเตอร์ ได้เพียงตัวเดียว this.col = param; // กำหนดค่าให้กับข้อมูลภายในอ็อบเจ็กต์ } -} ; +}; font.color = "blue"; // แก้ไขค่าได้ console.log(font.color) // undefined ``` @@ -254,7 +254,7 @@ var font = { get color() { return this.col; } -} ; +}; console.log(font.color); // "red" font.color = "blue"; console.log(font.color); // "blue" From 55eafa95d3185f434250208013ae39dc9bdb94f9 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 31 Jul 2023 13:28:33 +0700 Subject: [PATCH 122/757] update --- examples_book/Chapter06.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 1bf88ea..0cfbebd 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -263,7 +263,7 @@ console.log(font.color); // "blue" ## โอเปอเรเตอร์ delete ```js -var obj = {x:1 ,y:2} ; +var obj = {x:1 ,y:2}; console.log(delete obj.x); // true console.log(delete obj["y"]); // true console.log(obj); // {} @@ -288,7 +288,7 @@ console.log(a.length); // 2 ## Descriptor ```js -var obj1 = {}; +var obj1 = { }; Object.defineProperty(obj1, "foo", { // อ็อบเจ็กต์ descriptor value: 100, writable: true @@ -296,7 +296,7 @@ Object.defineProperty(obj1, "foo", { // อ็อบเจ็กต console.log(obj1.foo); // 100 console.log(Object.getOwnPropertyDescriptor(obj1,"foo")); // รีเทิร์น descriptor // { value: 100, writable: true, enumerable: false, configurable: false } -var obj2 = {}; +var obj2 = { }; Object.defineProperties(obj2, { "foo": { // อ็อบเจ็กต์ descriptor value: "fooValue", From ae7e4489a51bb33f6a4e58bccb2bbd4acc7f53ec Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 31 Jul 2023 14:20:35 +0700 Subject: [PATCH 123/757] update --- examples_book/md.css | 22 ++++++++++++++++++---- examples_book/md2html.js | 29 +++++++++++++++-------------- 2 files changed, 33 insertions(+), 18 deletions(-) diff --git a/examples_book/md.css b/examples_book/md.css index 4b846b5..458e5e6 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -15,22 +15,34 @@ margin-left: 135px; } -input[type=button], input[type=submit], input[type=reset] { +/*input[type=button], input[type=submit], input[type=reset] {*/ +.run_btn { background-color: #04AA6D; border: none; color: white; padding: 8px 16px; text-decoration: none; - margin: 4px 2px 4px 0px; + margin: 0px 2px 20px 0px; + cursor: pointer; +} + +.clear_btn { + background-color: #04AA6D; + border: none; + color: white; + padding: 5px 20px; + text-decoration: none; + margin: 10px 2px 5px 0px; cursor: pointer; } .showcode { - margin:0px; + margin-top:3px; } textarea { font-size: 13pt; + background-color: #F5F5F5; width: 100%; } @@ -51,9 +63,11 @@ textarea { left: 0; bottom: 0; width: 100%; - background-color: #7B68EE; + /*background-color: #7B68EE;*/ + background-color: #606060; color: white; text-align: left; margin-left: 135px; + padding-left: 5px; border: 2px solid #023020; } \ No newline at end of file diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 47f1fea..643f615 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -32,8 +32,8 @@ function writeToHTML(allLines, fileName){ let str = "{"; for(const [key, value] of Object.entries(data)){ str += ""+key+":"+ toString(value) + ", "; - } - return str.slice(0, -2) + '}'; + } + return (str.length >1) ? str.slice(0, -2) + '}': '{}'; } } else if( typeof data === 'string'){ @@ -71,6 +71,7 @@ function writeToHTML(allLines, fileName){
+

สารบัญ

+
+
${allLines}
`; @@ -157,7 +160,7 @@ async function genHTML(fileName){ let btnValue = ""; return eachLine(`${fileName}.md`, function(line, last) { - line = line.trim(); + //line = line.trim(); if(line.startsWith("```js") || line.startsWith("```html")){ isCode = true; @@ -171,13 +174,11 @@ async function genHTML(fileName){ } else if(line.startsWith("```")){ isCode = false //allLines += `
${lineCodes}
`; - const rows = lineCodes.trim().split('\n').length; + const rows = lineCodes.split('\n').length; - allLines += `
-
- - -
+ allLines += `
+ +
`; lineCodes = ""; From 833056557e60ff2bedc6a04194e09192ff94d5f4 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 31 Jul 2023 14:41:27 +0700 Subject: [PATCH 124/757] update --- examples_book/Chapter06.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 0cfbebd..38be045 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -449,7 +449,7 @@ function Car(color) { this.color = color; } Car.prototype = extend; // บรรทัด a -Car.prototype.stop = function(){ // บรรทัด b +Car.prototype.stop = function() { // บรรทัด b console.log("Stop a", this.color, "car"); }; var redCar = new Car("red"); @@ -459,7 +459,7 @@ redCar.stop(); // "Stop a red car" ``` ```js -function Car(color) {} +function Car(color) { } Car.prototype.drive = function() { console.log("Drive a", this.color, "car"); // this ชี้ไปยังอ็อบเจ็กต์ที่ถูกสร้างขึ้นมา }; From 3e18013fa04d8e879e9adc09e6db7529ddb6c870 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 31 Jul 2023 14:45:06 +0700 Subject: [PATCH 125/757] update --- examples_book/Chapter06.md | 14 +++++++------- examples_book/md2html.js | 4 +++- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 38be045..eee7165 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -40,14 +40,14 @@ var student = { "First name": "Somchai", "Last name": "Jaidee", "Who are you": function() { - console.log("I’m a student"); + console.log("I'm a student"); }, nickname: "Tom" }; console.log(student["First name"]); // "Somchai" var lastName = "Last name"; console.log(student[lastName]); // "Jaidee" -student["Who are you"](); // "I’m a student" +student["Who are you"](); // "I'm a student" console.log(student.nickname); // "Tom" console.log(student["nickname"]); // "Tom" ``` @@ -500,16 +500,16 @@ console.log(Object.getPrototypeOf(obj) === Object.prototype); // false ## prototype ที่มีอยู่ในภาษา ```js -console.log( Object.getPrototypeOf(function(){}) === Function.prototype); // true +console.log( Object.getPrototypeOf(function(){ }) === Function.prototype); // true console.log( Object.getPrototypeOf([]) === Array.prototype); // true console.log( Object.getPrototypeOf({}) === Object.prototype); // true console.log( Object.getPrototypeOf('') === String.prototype); // true console.log( Object.getPrototypeOf(true) === Boolean.prototype); // true console.log( Object.getPrototypeOf(1) === Number.prototype); // true -console.log(function(){} instanceof Function); // true -console.log([] instanceof Array); // true -console.log({} instanceof Object); // true -console.log(''instanceof String); // false +console.log(function(){ } instanceof Function); // true +console.log([ ] instanceof Array); // true +console.log({ } instanceof Object); // true +console.log('' instanceof String); // false console.log(true instanceof Boolean); // false console.log(1 instanceof Number); // false ``` diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 643f615..0a0d252 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -11,8 +11,10 @@ let lineCodes = ""; let count = 0; function writeToHTML(allLines, fileName){ - let html = ` + let html = ` + + ${fileName} + + ``` ```js -var font = { - color: "red" // คีย์ชื่อ color : ข้อมูลจะเป็นสตริง "red" - ,myFunction: function (param){ // คีย์ชื่อ myFunction : ข้อมูลจะเป็นเมธอด (ฟังก์ชั่น) - // ซอร์สโค้ดของเมธอด -} -,option: { // คีย์ชื่อ option : ข้อมูลจะเป็นอ็อบเจ็กต์ - value: 1 -} -}; +console.log("Hello world", 122, 333.333); // "Hello world 122 333.333" ``` +### debugger +```js +console.log("line 1"); +debugger; // บรรทัดนี้เป็นตำแหน่งของ breakpoint เพื่อหยุดการทำงานของโปรแกรมชั่วขณะ ตอนดีบั๊กโปรแกรม +console.log("line 2"); +``` -## การเข้าถึงพร็อพเพอร์ตี้ +## การใช้เซมิโคลอน (;) ```js -var obj = { - a: 1 // กำหนดให้ a มีค่าตั้งต้นเป็น 1 -,myFunction : function() { - console.log("call myFunction"); -} -}; -obj.a = 100; // กำหนดให้ obj.a มีค่าเป็น 100 -console.log(obj.a); // 100 -console.log(typeof obj.myFunction); // "function" -obj.myFunction(); // "call myFunction" +console.log("Hello world"); ``` -## การใช้วงเล็บเหลี่ยม ```js -var student = { -"First name": "Somchai" -,"Last name": "Jaidee" -,"Who are you": function(){ - console.log("I’m a student"); -} -,nickname: "Tom" -}; -console.log(student["First name"]); // "Somchai" -var lastName = "Last name"; -console.log(student[lastName]); // "Jaidee" -student["Who are you"](); // "I’m a student" -console.log(student.nickname); // "Tom" -console.log(student["nickname"]); // "Tom" +console +.log +( +"Hello world" +); ``` ```js -var obj = { -1: 1 -,true: 2 -,null : 3 -,undefined: 4 -}; -console.log(obj[1 + 0]); // 1 -console.log(obj[true && true]); // 2 -console.log(obj[null]); // 3 -console.log(obj[undefined]); // 4 +; +; +; ``` ```js -var obj = { -{}: 1 // เกิด error ไม่สามารถใช้อ็อบเจ็กต์เป็นคีย์ได้โดยตรง -}; +;;;;; ``` -## เพิ่มพร็อพเพอร์ตี้เข้าไปทีหลัง ```js -var obj = {}; -obj.a = 1; // เพิ่มพร็อพเพอร์ตี้ที่เป็นตัวแปร a -obj[1]=100; // เพิ่มพร็อพเพอร์ตี้ที่มีคีย์เป็นตัวเลข 1 -obj["property name"]= 200; // เพิ่มพร็อพเพอร์ตี้ที่มีคีย์เป็นสตริง "property name" -obj.myFunction = function(){ // เพิ่มพร็อพเพอร์ตี้ที่เป็นเมธอด -console.log("to do something"); -}; +console.log("Hello world") +console +.log +( +"Hello world" +) +``` -console.log(obj.a); // 1 -console.log(obj[1]); // 100 -console.log(obj["property name"]); // 200 -obj.myFunction(); // "to do something" +```js +var a = 1 +var b = 5 +var c = a + b +(a * b) ``` ```js -var obj = { }; -var key = { }; -obj[key] = 100; // มีคีย์เป็นอ็อบเจ็กต์ว่าง -console.log(obj[key]); // 100 +var a = 1; +var b = 5; +var c = a + b(a * b); ``` -## การส่งค่าให้ตัวแปร ```js -function myFunction(param1, param2){ - param1.a = 3; // pass by reference - param2 = 200; // pass by value -} -var obj = {a:1, b:2}, value = 100; -myFunction(obj, value); -console.log(obj.a); // 3 -console.log(value); // 100 +var a = 1 + 2 +-3 + 10 +console.log(a) // 10 ``` ```js -var obj1 = {a:1, b:2}; -var obj2 = obj1; // บรรทัด a -- pass by reference -obj2.a = 3; // บรรทัด b -console.log(obj1.a); // 3 -var value1 = 1; -var value2 = value1; // บรรทัด d -- pass by value -value2 = 3; // บรรทัด e -console.log(value1); // 1 +var a = 1 + 2 -3 + 10; +console.log(a); // 10 ``` -## การเปรียบเทียบความเท่ากัน +## เส้นทางการทำงานโปรแกรม + ```js -console.log({a:1} == {a:1}); // false -console.log({a:1} === {a:1}); // false +console.log(1); +console.log(2); +console.log(3); +console.log(4); ``` ```js -var a = 1, b = 1; -console.log(a == b); // true -console.log(a === b); // true +console.log(1); console.log(2); console.log(3); console.log(4); ``` -## this ```js -var obj = { - a: 1 - ,foo: function(){ - return 2; - } - ,bar: function(){ - console.log(this.a); -} -,zoo: function(){ - console.log(this.foo()); -} -}; -obj.bar(); // 1 -obj.zoo(); // 2 +console.log(1) console.log(2) console.log(3) console.log(4) ``` +## การตั้งชื่อ ```js -var obj = { - foo: function (){ - this.a = 1; // เพิ่มตัวแปร a เข้าไปในอ็อบเจ็กต์ - console.log(this.a ); -} -,bar: function(){ - console.log(this.a); -} -}; +var _ = 100; // ตั้งชื่อแบบนี้ได้ +var $ = 100; // ตั้งชื่อแบบนี้ได้ +var _a =100; // ตั้งชื่อแบบนี้ได้ +var $a =100; // ตั้งชื่อแบบนี้ได้ +var Abc = 100; // ตั้งชื่อแบบนี้ได้ +var abc = 100; // ตั้งชื่อแบบนี้ได้ แต่ทว่าตัวแปร Abc กับ abc จะถือว่าคนละชื่อกัน +var a0123 = 100; // ตั้งชื่อแบบนี้ได้ +var 9b = 100; // ทำไม่ได้ มันจะเกิด SyntaxError เพราะมีเลข 9 นำหน้าชื่อตัวแปร +var สวัสดีครับ = 100; // ตั้งชื่อภาษาไทยแบบนี้ได้ แต่ส่วนใหญ่นิยมตั้งชื่อเป็นภาษาอังกฤษ) +``` + +## คำสงวน -obj.foo(); // 1 -obj.bar(); // 1 -console.log(obj.a); // 1 +```js +var let = -1; // ทำไม่ได้ มันจะเกิด SyntaxError เพราะ let เป็นคำสงวน +var this= -10; // ทำไม่ได้ มันจะเกิด SyntaxError เพราะ this เป็นคำสงวน ``` -## การผูก this ไว้กับอ็อบเจ็กต์ ```js -var obj1 = {}; -var obj2 ={ -a: 1 -,bar : function(){ - console.log("this.a =", this.a); - obj1.foo = function(){ - console.log("this.a =", this.a); - } // สิ้นสุดการประกาศฟังก์ชั่น foo() - } // สิ้นสุดการประกาศฟังก์ชั่น bar() -}; -obj2.bar(); // "this.a = 1" -obj1.foo(); // "this.a = undefined" +var Date = 100; +console.log(Date); // แสดงผลลัพธ์ 100 ``` -## this ในฟังก์ชั่น ```js -//"use strict"; -function myFunction() { - return this; -} -var obj = myFunction(); -console.log(typeof obj); -// แสดงผลลัพธ์เป็น -// undefined (ถ้าเป็นโหมดสตริคท์) -// "object" (ถ้าไม่ใช่โหมดสตริคท์) +var Date = 100; +console.log(Date); // แสดงผลลัพธ์ 100 +var d = new Date(); +console.log(d); ``` -## เมธอด call() apply() และ bind() +## การประกาศตัวแปร ```js -var obj1 = { - value: 20 -}; -var obj2 = { -myFunction: function(param1, param2){ - var value = this.value; // this จะชี้ไปยัง obj1 - console.log(param1, param2, value); -} -} -obj2.myFunction(1, 10); // 1 10 undefined -obj2.myFunction.call(obj1, 1, 10); // 1 10 20 -obj2.myFunction.apply(obj1, [1, 10]); // 1 10 20 -var f = obj2.myFunction.bind(obj1, 1, 10); -f(); // 1 10 20 +var x = 100; ``` -## พร็อพเพอร์ตี้แอคเซสเซอร์ ```js -var font = { color: "red" } ; -font.color = "blue" ; +var x = 1, y = 2, z = 3; // ประกาศตัวแปร x, y และ z ให้อยู่ในบรรทัดเดียวกัน ``` ```js -var font = { - set color(param){ // ประกาศเมธอด setter โดยมีพารามิเตอร์ ได้เพียงตัวเดียว - this.col = param; // กำหนดค่าให้กับข้อมูลภายในอ็อบเจ็กต์ -} -} ; -font.color = "blue"; // แก้ไขค่าได้ -console.log(font.color) // undefined +var x = 1; +var y = 2; +var z = 3; ``` ```js -var font = { - col: "red" - ,get color(){ // ประกาศเมธอด getter โดยไม่ต้องมีพารามิเตอร์ - return this.col; // รีเทิร์นข้อมูลภายในอ็อบเจ็กต์ออกไป -} -}; -console.log(font.color); // "red" -font.color = "blue"; // ไม่มีผลอะไรเกิดขึ้น หรือจะเกิด TypeError ในโหมดสตริคท์ -console.log(font.color); // "red" +var x= 1, y = x; +/* จะเสมือนเขียนซอร์สโค้ดแบบนี้ +var x = 1; +var y = x; +*/ ``` ```js -var font = { -col: "red" - ,set color(param){ - this.col = param; -} -,get color(){ - return this.col; -} -} ; -console.log(font.color); // "red" -font.color = "blue"; -console.log(font.color); // "blue" +var x; +console.log(x); // undefined ``` -## โอเปอเรเตอร์ delete ```js -var obj = {x:1 ,y:2} ; -console.log(delete obj.x); // true -console.log(delete obj["y"]); // true -console.log(obj); // {} -var a = 1; -console.log(delete a); // false หรือเกิด SyntaxError ในโหมดสตริคท์ +var undefined = 55555; +console.log(undefined); // บนเว็บเบราเซอร์จะแสดง 55555 แต่บน Node.js จะแสดง undefined +var x; +console.log(x); // undefined ``` +### การประกาศตัวแปรโดยไม่มี var ```js -console.log(delete Number.MAX_VALUE); // false หรือเกิด TypeError โหมดสตริคต์ +x = 1; ``` ```js -var a = [1, "Hi"]; -console.log(a.length); // 2 -console.log(delete a[0]); // true -console.log(delete a[1]); // true -console.log(a[0]); // undefined -console.log(a[1]); // undefined -console.log(a.length); // 2 +console.log(x); // ReferenceError ``` -## Descriptor ```js -var obj1 = {}; -Object.defineProperty(obj1, "foo", { // อ็อบเจ็กต์ descriptor - value: 100 - ,writable: true -}); -console.log(obj1.foo); // 100 -console.log(Object.getOwnPropertyDescriptor(obj1,"foo")); // รีเทิร์น descriptor -// { value: 100, writable: true, enumerable: false, configurable: false } -var obj2 = {}; -Object.defineProperties(obj2, { - "foo": { // อ็อบเจ็กต์ descriptor - value: "fooValue", - writable: true - } - ,"bar": { // อ็อบเจ็กต์ descriptor - value: "barValue", - writable: false - } - // พร็อพเพอร์ตี้อื่น ๆ -}); -console.log(obj2.foo, obj2.bar); // "fooValue barValue" -console.log(Object.getOwnPropertyDescriptor(obj2,"foo")); // รีเทิร์น descriptor -// { value: "fooValue", writable: true, enumerable: false, configurable: false } -console.log(Object.getOwnPropertyDescriptor(obj2,"bar")); // รีเทิร์น descriptor -// { value: "barValue", writable: false, enumerable: false, configurable: false } +var x; // ประกาศตัวแปร แต่ยังไมีการกำหนดค่าให้ x จึงมีค่าเป็น undefined +console.log(x); // undefined ``` -## ฟังก์ชั่นคอนสตรัคเตอร์ + +## ไดนามิกไทป์ ```js -function Car(color) { -this.color = color; -return true; -} -var redCar = new Car("red"); -var blueCar = new Car("blue"); -//… สร้างอ็อบเจ็กต์ใหม่ได้เรื่อยด้วยโอเปอเรเตอร์ new -console.log(redCar.color); // "red" -console.log(blueCar.color); // "blue" +var foo = 42; // เริ่มต้นตัวแปร foo จะมีชนิดข้อมูลเป็นตัวเลข +foo = "bar"; // ภายหลัง foo เปลี่ยนมาเก็บข้อมูลเป็นสตริง +foo = true; // ภายหลัง foo เปลี่ยนมาเก็บข้อมูลเป็นบูลีน ``` +## ข้อมูล + +### null กับ undefined + ```js -function Car(color) { -this.color = color; // ถ้าเป็นโหมดสตริคท์จะเกิด error ขึ้นได้ -return true; -} -var blueCar = Car("blue"); // เป็นการเรียกฟังก์ชั่นธรรดา -console.log(blueCar); // true +console.log(null === undefined) // false +console.log(null == undefined) // true +console.log(typeof null) // "object" +console.log(typeof undefined) // "undefined" ``` +## ตัวเลข ```js -function Car(color) { -console.log("constructor"); -} -var redCar = new Car(); // "constructor" -var blueCar = new Car; // "constructor" +console.log(100, 0, -0, -300, 3.14, -78.222); // 100 0 -0 -300 3.14 -78.222 ``` -## เมธอด Object.create() ```js -var car = { - drive: function(){ console.log("driving a car") ; } -} -var redCar = Object.create(car); -var blueCar = Object.create(car, -{ // เพิ่มพร็อพเพอร์ตี้เข้าไป ด้วยการระบุ descriptor - foo: { writable: true, configurable: true, value: "fooValue" } // descriptor - ,bar:{ writable: true, configurable: true, value: "barValue" } // descriptor +console.log(200e5); // 200 x 105 = 20000000 +console.log(2E-5); // 2 x 10-5 = 0.00002 +``` + +```js +console.log(Math.sqrt(-1)); // NaN (ไม่สามารถถอดรากที่สองของ -1) +console.log(0/0); // NaN ( 0 หาร 0 ไม่มีนิยาม) +console.log(parseInt("Hi")); // NaN (ไม่สามารถแปลง "Hi" เป็นตัวเลขได้) +``` + +```js +console.log(Infinity * Infinity); // Infinity +console.log(Infinity / Infinity); // NaN +console.log(-344 * Infinity); // -Infinity +console.log(3 / Infinity); // 0 +``` + +```js +console.log(Number.MAX_VALUE); // 1.7976931348623157e+308 โดยประมาณ +console.log(Number.MAX_VALUE + 100); // 1.7976931348623157e+308 โดยประมาณ (บรรทัด 2) +console.log(Number.MAX_VALUE * 10); // Infinity (บรรทัด 3) +console.log(Number.MAX_VALUE * -10); // -Infinity (บรรทัด 4) +``` + +```js +console.log(Number.MIN_VALUE); //5e-324 (เป็นค่าโดยประมาณ) +``` + +## สตริง +```js +"Learning JavaScript" +'Learning JavaScript' +``` + +```js +// ใช้ \" อยู่ภายในสตริง ส่วนเครื่องหมาย ' สามารถเขียนอยู่ในสตริงได้เลย +console.log("...\"Learning\" 'JavaScript'..."); // ..."Learning" 'JavaScript'... +// ใช้ \' อยู่ภายในสตริง ส่วนเครื่องหมาย " สามารถเขียนอยู่ในสตริงได้เลย +console.log('..."Learning" \'JavaScript\'...'); // ..."Learning" 'JavaScript'... +``` + +```js +var str= "line1\ +line2\ +line3"; +console.log(str); // line1line2line3 +``` + +```js +console.log("1234567890".length); // 10 +``` + +## บูลีน + +```js +var TRUE_value = true; +var FALSE_value = false +console.log(TRUE_value); // true +console.log(FALSe_value); // false +``` + +```js +-5; +-10.71; +"Learning JavaScript"; +true; +var a = -5; +var b = -10.71; +var c = "Learning JavaScript"; +var d = true; +``` + +## โอเปอเรเตอร์ทางคณิตศาสตร์ +```js +console.log(true + 0); // ได้ผลลัพธ์เป็น 1 เพราะ true จะถือว่ามีค่าเป็น 1 +console.log(false + false); // ได้ผลลัพธ์เป็น 0 เพราะ false จะถือว่ามีค่าเป็น 0 +console.log(100 - true); // 99 +console.log(true * 30); // 30 +console.log(true / 2); // 0.5 +console.log(true % 10); // 1 +console.log(+true); // 1 +console.log(-false); // -0 +var a = false, b=true; +console.log(++a); // 1 +console.log(--b); // 0 +``` + +```js +console.log(NaN + 30); // NaN +console.log(NaN - 30); // NaN +console.log(NaN * 30); // NaN +console.log(NaN / 30); // NaN +console.log(NaN % 30); // NaN +console.log(+NaN); // NaN +console.log(-NaN); // NaN +var x = NaN; +console.log(++x); // NaN +console.log(--x); // NaN +``` + +```js +console.log(Infinity * 0); // NaN +console.log(Infinity * 1); // Infinity +console.log(Infinity * Infinity); // Infinity +console.log(Infinity * -Infinity); // -Infinity +console.log(Infinity / 0); // Infinity +``` + +* การใช้งานโอเปอเรเตอร์ยกกำลัง (Exponentiation Operator) + +```js +var ans = 10 ** 2; // นำเลข 10 มายกกำลัง 2 ( 102 ) +console.log(ans); // 100 +// เสมือนใช้เมธอด Math.pow() ดังนี้ +console.log(ans === Math.pow(10, 2)); // true +``` + +* ลำดับของโอเปอเรเตอร์ ** + +```js +var ans = 3 * 10 ** 2; +console.log(ans); // 300 +``` + +```js +var ans = 3 * (10 ** 2); +console.log(ans); // 300 +``` +* ข้อเข้มงวดของโอเปอเรเตอร์ ** + +```js +var ans1 = -10 ** 2; // syntax error +var ans2 = +10 ** 2; // syntax error +``` + +```js +ans1 = - (10 ** 2); // -100 +ans1 = (-10) ** 2; // 100 +ans2 = + (10 ** 2); // 100 +ans2 = (+10) ** 2; // 100 +``` + +```js +var value1 = 9, value2 = 10; +// ใช้งานโอเปอเรเตอร์ ++ แบบ prefix +// ค่าของ value1 ถูกบวกด้วยหนึ่ง ก่อนที่จะยกกำลัง 2 +console.log(++value1 ** 2); // 100 +console.log(value1); // 10 +// ใช้งานโอเปอเรเตอร์ ++ แบบ postfix +// หลังจากยกกำลัง 2 ไปแล้ว ค่าของ value2 จึงถูกบวกด้วยหนึ่งทีหลัง +console.log(value2++ ** 2); // 100 +console.log(value2); // 11 +``` + +```js +var value1 = 11, value2 = 10; +// ใช้งานโอเปอเรเตอร์ -- แบบ prefix +// ค่า value1 ถูกลบด้วยหนึ่ง ก่อนที่จะยกกำลัง 2 +console.log(--value1 ** 2); // 100 +console.log(value1); // 10 +// ใช้งานโอเปอเรเตอร์ -- แบบ postfix +// หลังจากยกกำลัง 2 ไปแล้ว ค่าของ value2 จึงถูกลบด้วยหนึ่งทีหลัง +console.log(value2-- ** 2); // 100 +console.log(value2); // 9 +``` + +### โอเปอเรเตอร์ที่ใช้กำหนดค่าให้กับตัวแปร + +```js +var a = 20; +a +=true; // true มีค่าเป็น 1 +console.log(a); // 21 +a *=NaN; +console.log(a); // NaN +``` + +### โอเปอเรเตอร์ที่ใช้กับสตริง + +```js +100 + true + "50" // "10150" +// เสมือนเขียน (100 + true) + "50" +``` + +```js +20 / "10" + "76"; // 276 +// เสมือนเขียน ( 20 / "10") + "276" +``` + +### โอเปเรอเตอร์แบบตรรกะ +```js +console.log(true || true); // true (เงื่อนไข short circuit) +console.log(true || false); // true (เงื่อนไข short circuit) +console.log(false || true); // true +console.log(false || false); // false +console.log(true && true); // true +console.log(true && false); // false +console.log(false && true); // false (เงื่อนไข short circuit) +console.log(false && false); // false (เงื่อนไข short circuit) +console.log(!true); // false +console.log(!false); // true +``` + +### โอเปอเรเตอร์ระหว่างบิต + +* ตัวอย่าง Bitwise AND +```js +var a = 12; // 1100 (เลขฐานสอง) +var b = 5; // 0101 (เลขฐานสอง) +var c = a & b; // 0100 (เลขฐานสอง) +console.log(c.toString(2)); // 100 (เลขฐานสอง) +console.log(c); // 4 +console.log(12 & 5); // 4 +``` + +* ตัวอย่าง Bitwise OR + +```js +var a = 12; // 1100 +var b = 5; // 0101 +var c = a | b; // 1101 +console.log(c.toString(2)); // 1101 +console.log(c); // 13 +console.log(12 | 5); // 13 +``` + +* ตัวอย่าง Bitwise XOR + +```js +var a =12; // 1100 +var b= 5; // 0101 +var c = a ^ b; // 1001 +console.log(c.toString(2)); // 1001 +console.log(c); // 9 +console.log(12 ^ 5); // 9 +``` + +* ตัวอย่าง Bitwise NOT + +```js +var a= 9; // 00000000000000000000000000001001 +var b = ~a; // 11111111111111111111111111110110 (1's Complement) +console.log(b); // -10 +console.log(~9); // -10 +``` + +* ตัวอย่าง การเลื่อนบิตไปทางซ้ายมือ + +```js +var a = 9; // 00000000000000000000000000001001 +var c = a << 2; // เลื่อนบิตจากขวามือไปทางซ้ายมือ 2 ตำแหน่ง + // 00000000000000000000000000100100 +console.log(c); // 36 +console.log(9 << 2); // 36 +``` + +* ตัวอย่าง การเลื่อนบิตไปทางขวามือ + +```js +var a = 9; // 00000000000000000000000000001001 +var c = a >> 2; // เลื่อนบิตจากซ้ายมือไปทางขวามือ 2 ตำแหน่ง + // 00000000000000000000000000000010 +console.log(c); // 2 +console.log(9 >> 2); // 2 +``` + +```js +-9; // 11111111111111111111111111110111 (เลขฐานสอง) +-9 >> 2; // 11111111111111111111111111111101 (เลขฐานสอง) = -3 (เลขฐานสิบ) +``` + +```js +var a = 9; // 00000000000000000000000000001001 +var c = a >>> 2; // เลื่อนบิตจากซ้ายมือไปทางขวามือ 2 ตำแหน่ง พร้อมเติมเลข 0 ที่บิตด้านหน้าสุด + // 00000000000000000000000000000010 +console.log(c); // 2 +console.log(9 >>> 2); // 2 +``` + +### โอเปอเรเตอร์ typeof + +```js +console.log(typeof true); // "boolean" +console.log(typeof false); // "boolean" +console.log(typeof -0.13); // "number" +console.log(typeof NaN); // "number" +console.log(typeof Infinity); // "number" +console.log(typeof undefined); // "undefined" +console.log(typeof ''); // "string" +console.log(typeof "Hi"); // "string" +console.log(typeof (typeof 100) ); // "string" +console.log(typeof null ); // "object" +console.log(typeof {x: 1, y: 2}); // "object" +console.log(typeof [1, 2]); // "object" +console.log(typeof function(){}); // "function" +console.log(typeof Math.sqrt); // "function" +console.log(typeof class C {}); // "function" +console.log(typeof Symbol()); // "symbol" +``` + +### โอเปอเรเตอร์วงเล็บ + +```js +var a = 1 + 2 * 3 + 5; +// จะเสมือนเขียนเป็น var a = 1 + (2 * 3) + 5; +console.log(a); // 12 +``` + +```js +var a = (1 + 2) * (3 + 5); +console.log(a); // 24 +``` + +### โอเปอเรเตอร์คอมม่า + +```js +var a = 1, b = 2; +var x = (1+34, a+=2, b*=10, b+1); +console.log(x); // 21 +``` + +### โอเปอเรเตอร์ void + +```js +var a = void 12; +console.log(a); // undefined +console.log(Math.ceil(4.4)); // 5 +console.log(void Math.ceil(4.4)); // undefined +var b = 1; +console.log(void (++b)); // undefined +console.log(b); // แสดงค่าออกมาเป็น 2 เพราะตัวแปร b ถูกบวกเพิ่มไป 1 ค่า +``` + +## อาร์เรย์ +```js +[1, 1, 1, true, "Array"]; // อาร์เรย์ +``` + +```js +var a = ["a", "b", "c", "d", "e"]; +console.log(typeof a); // "object" +console.log(a[0], a[1], a[2], a[3], a [4]); // "a b c d e" +``` + +```js +var array = [ ]; // ประกาศเป็นอาร์เรย์ว่าง +array[0] = 1; +array[1] = 2; +``` + +```js +var array = [1, 2, 3, 4, 5]; +console.log(array.length); // 5 +``` + +```js +var array = [1, 2, 3, 4, 5]; +console.log(array.length); // 5 +array.length = 7; // เพิ่มขนาดอาร์เรย์จาก 5 เป็น 7 +console.log(array); // [ 1, 2, 3, 4, 5, <2 empty slots> ] +console.log(array.length); // 7 +array[9] = 100; +console.log(array); // [ 1, 2, 3, 4, 5, <4 empty slots>, 100 ] +console.log(array.length); // 10 +``` + +## การประกาศฟังก์ชั่น + +```js +function calculate(param1, param2) { + return param1 * param2; } -); -// สร้างอ็อบเจ็กต์ใหม่ได้เรื่อย ๆ ด้วย Object.create() -// … -redCar.drive(); // "driving a car" -blueCar.drive(); // "driving a car" -console.log(blueCar.foo); // "fooValue" -console.log(blueCar.bar); // "barValue" ``` ```js -var car = { } -var redCar = Object.create(car); -var blueCar = Object.create(car); -car.drive = function() { - console.log("driving a car"); +var result = calculate(10, 2); +console.log(result); // 20 +``` + +```js +function calculate() { + return 20; } -redCar.drive(); // "driving a car" -blueCar.drive(); // "driving a car" +var result = calculate(); +console.log(result); // 20 + +calculate(); // คืนค่า 20 +calculate(); // คืนค่า 20 +calculate(); // คืนค่า 20 ``` +## ประโยค return ```js -console.log( Object.getPrototypeOf(redCar) === car ); // true (เพราะโปรโตไทป์คือ car) -console.log( Object.getPrototypeOf(blueCar) === car ); // true (เพราะโปรโตไทป์คือ car) +function myFunction() { + return 1; + console.log("myFunction"); // บรรทัดนี้เส้นทางการทำงานของโปรแกรมจะมาไม่ถึง +} +var result = myFunction(); +console.log(result); // 1 ``` ```js -var obj1 = Object.create(null); // ไม่มีโปรโตไทป์ -console.log(obj1); // {} -console.log(Object.getPrototypeOf(obj1)); // null +function myFunction() { + return; +} +var result = myFunction(); +console.log(result); // undefined +``` -var obj2 = Object.create(Object.prototype); // จะเหมือนสร้างอ็อบเจ็กต์ด้วยวิธีนี้ var obj = {} -console.log(obj2); // {} -console.log(Object.getPrototypeOf(obj2) === Object.prototype); // true +```js +function myFunction() { + console.log("myFunction"); + // จะเสมือนมีประโยค return undefined; วางไว้ตำแหน่งสุดท้าย ก่อนฟังก์ชั่นจบการทำงาน +} +var result = myFunction(); // "myFunction" +console.log(result); // undefined ``` -## prototype ```js -function Car(color) { -this.color = color; +var result = calculate(); +console.log(result); // 20 +function calculate() { + return 20; } -var redCar = new Car("red"); -console.log( Object.getPrototypeOf(redCar) === Car.prototype); // true ``` +### ฟังก์ชั่นไร้ชื่อ + ```js -function Car(color) { -this.color = color; +function (param1,param2) { + return param1 * param2; } -Car.prototype.drive = function() { -console.log("Drive a", this.color, "car"); // this จะชี้ไปยังอ็อบเจ็กต์ที่ถูกสร้างขึ้นมา -}; -var redCar = new Car("red"); -redCar.drive(); // " Drive a red car" -var blueCar = new Car("blue"); -blueCar.drive(); // " Drive a blue car" -console.log( Object.getPrototypeOf(redCar) === Car.prototype); // true -console.log( Object.getPrototypeOf(blueCar) === Car.prototype); // true ``` +### นิพจน์ฟังก์ชั่น + ```js -function Car(color) { -this.color = color; +var calculate = function (param1,param2) { + return param1 * param2; } -Car.drive = function() { -console.log("driving a car"); -}; -Car.drive(); // "driving a car" -var redCar = new Car("red"); -console.log(typeof redCar.drive); // undefined +console.log(calculate(10, 2)); // 20 +calculate = 100; // ตัวแปร calculation สามารถแก้ไขให้เป็นค่าอื่นได้ +console.log(calculate); // 100 ``` -## การสืบทอดสมาชิกหลายระดับชั้น ```js -var extend = { -drive: function(){ - console.log("Drive a", this.color, "car"); +var calculate = function calc2(param1,param2) { + return param1 * param2; } +console.log(calculate(10,2)); // 20 +``` + +```js +function cal(a, b) { + console.log(a * b); } -function Car(color) { -this.color = color; +``` + +```js +cal = function(a, b) { + console.log(a*b): } -Car.prototype = extend; // บรรทัด a -Car.prototype.stop = function(){ // บรรทัด b -console.log("Stop a", this.color, "car"); -}; -var redCar = new Car("red"); -console.log( Object.getPrototypeOf(redCar) === extend); // true -redCar.drive(); // "Drive a red car" -redCar.stop(); // "Stop a red car" ``` ```js -function Car(color) {} -Car.prototype.drive = function() { -console.log("Drive a", this.color, "car"); // this ชี้ไปยังอ็อบเจ็กต์ที่ถูกสร้างขึ้นมา -}; -function RedCar(color){ - this.color = color; +var myFunction = cal; +``` + +```js +myFunction(5,4); // 20 +cal(5,4); // 20 +``` + +### ฟังก์ชั่นคอลแบ็ค + +```js +function sayHi() { + console.log("Hi"); } -RedCar.prototype = Object.create(Car.prototype); // บรรทัด a -console.log( Object.getPrototypeOf(RedCar.prototype) === Car.prototype); // true -RedCar.prototype.stop = function(){ -console.log("Stop a", this.color, "car"); // this ชี้ไปยังอ็อบเจ็กต์ที่ถูกสร้างขึ้นมา +function sayBye() { + console.log("Bye"); } -var redCar = new RedCar("red"); -console.log( Object.getPrototypeOf(redCar) === RedCar.prototype); // true -redCar.drive(); // "Drive a red car" -redCar.stop(); // "Stop a red car" +function say(func) { + func(); // เรียกฟังก์ชั่นให้ทำงาน +} +say(sayHi); // "Hi" +say(sayBye); // "Bye" ``` -## โอเปอรเตอร์ instanceof +### รีเทิร์นออกมาเป็นฟังก์ชั่น + ```js -function Foo() { } -var obj = new Foo(); -console.log(obj instanceof Foo); // true -console.log(Object.getPrototypeOf(obj) === Foo.prototype); // true +function say(func) { + console.log("Say..."); + function sayHi() { + console.log("Hi"); + } + return sayHi; // รีเทิร์นฟังก์ชั่น +} // สิ้นสุดการประกาศฟังก์ชั่น +var hi = say(); // "Say..." +hi(); // "Hi" ``` ```js -function Foo() { } -var obj = new Foo(); -console.log(obj instanceof Foo); // true -console.log(Object.getPrototypeOf(obj) === Foo.prototype); // true +function say(func) { + console.log("Say..."); + return function() { // รีเทิร์นฟังก์ชั่นไร้ชื่อ + console.log("Hi"); + } +} // สิ้นสุดการประกาศฟังก์ชั่น +var hi = say(); // "Say..." +hi(); // "Hi" +``` + +### อ็อบเจ็กต์ arguments -console.log(obj instanceof Object); // true -console.log(Foo.prototype instanceof Object); // true -console.log(Object.getPrototypeOf(Foo.prototype) === Object.prototype); // true -console.log(Object.getPrototypeOf(obj) === Object.prototype); // false +```js +function myFunction(param1, param2) { + console.log(param1, param2); +} +myFunction(); // undefined undefined +myFunction(100); // 100 undefined +myFunction(100,200); // 100 200 +myFunction(100,200,300,400); // 100 200 ``` -## prototype ที่มีอยู่ในภาษา ```js -console.log( Object.getPrototypeOf(function(){}) === Function.prototype); // true -console.log( Object.getPrototypeOf([]) === Array.prototype); // true -console.log( Object.getPrototypeOf({}) === Object.prototype); // true -console.log( Object.getPrototypeOf('') === String.prototype); // true -console.log( Object.getPrototypeOf(true) === Boolean.prototype); // true -console.log( Object.getPrototypeOf(1) === Number.prototype); // true -console.log(function(){} instanceof Function); // true -console.log([] instanceof Array); // true -console.log({} instanceof Object); // true -console.log(''instanceof String); // false -console.log(true instanceof Boolean); // false -console.log(1 instanceof Number); // false +function myFunction (param1, param2) { + console.log(arguments); +} +myFunction(100,200,300,400); // [100, 200, 300, 400] ``` ```js -// ฟังก์ชั่น -Function.prototype.sayMsg = function(msg) { - console.log("Function say:", msg); -}; -function myFunction(){} -myFunction.sayMsg("Hello");// " Function say: Hello" -// อาร์เรย์ -Array.prototype.sayMsg = function(msg) { - console.log("Array say:", msg); -}; -[].sayMsg("Hello"); // "Array say: Hello" -// อ็อบเจ็กต์ -Object.prototype.sayMsg = function(msg) { - console.log("Object say:", msg); -}; -var obj = {}; -obj.sayMsg("Hello"); // "Object say: Hello" -({}).sayMsg("Hello"); // "Object say: Hello" -// สตริง -String.prototype.sayMsg = function(msg) { - console.log("String say:", msg); -}; -"123".sayMsg("Hello"); // "String say: Hello" -// บูลีน -Boolean.prototype.sayMsg = function(msg) { - console.log("Boolean say:", msg); +function myFunction(param1,param2) { // ฟังก์ชั่นนี้ไม่เคยถูกเรียกใช้ + console.log("function1 value:", param1, param2); } -true.sayMsg("Hello"); // "Boolean say: Hello" -// ตัวเลข -Number.prototype.sayMsg = function(msg) { - console.log("Number say:", msg); +myFunction(100, 200); // เรียกใช้ฟังก์ชั่นที่ประกาศอยู่ด้านล่าง +function myFunction(param) { // จะโอเวอร์ไรด์ทับฟังก์ชั่นที่ประกาศไว้ก่อนหน้านี้ + console.log("function2 value:", param); } -var num = 123; -num.sayMsg("Hello"); // "Number say: Hello" -(123).sayMsg("Hello"); // "Number say: Hello" +myFunction(100); +myFunction(100, 200); +/* แสดงผลลัพธ์เป็น +"function2 value: 100" +"function2 value: 100" +"function2 value: 100" */ ``` -## โอเปอเรเตอร์ in +### ระวังไป overriding ทับชื่อที่มีอยู่แล้ว + ```js -var obj = {x: 1, y: 2}; -console.log("x" in obj); // true -console.log("xyz" in obj); // false (อ็อบเจ็กต์ไม่มีพร็อพเพอร์ตี้ xyz) -var a = ["a", "b", "c"]; -console.log(0 in a); // true (อาร์เรย์นี้มีอินเด็กซ์ 0) -console.log(5 in a); // false (อาร์เรย์ไม่มีอินเด็กซ์ 5) -console.log("1" in a); // true (อาร์เรย์นี้มีอินเด็กซ์ 1) -console.log("length" in a); // true (อาร์เรย์จะมี length เป็นพร็อพเพอร์ตี้) +alert = function(data) { + console.log(data); // แสดงข้อความออกทางหน้าคอนโซล +} +alert("Hello, World"); // แสดงข้อความ "Hello, World" ออกทางหน้าคอนโซล ``` +### ขอบเขตการมองเห็นของตัวแปร ```js -var parent = {x:1}; -var obj = Object.create(parent); -console.log("x" in obj); // true +if(true){ +var a = 1; // a มีขอบเขตการมองเห็นแบบโกลบอล +} +{ +var b = 2; // b มีขอบเขตการมองเห็นแบบโกลบอล +} +console.log(a, b); // 1 2 ``` -## ประโยคคำสั่ง for …in +### ขอบเขตการมองเห็นของตัวแปร + ```js -function Font() { - this.color = "red"; - this.size = 200; +if(true) { + var a = 1; // a มีขอบเขตการมองเห็นแบบโกลบอล } -var coordinate = {x: 1, y: 1, z: 1} -Font.prototype = Object.create(coordinate); -Font.prototype.myFunction = function(){}; -var font = new Font(); -font[1] = "fontValue"; -for(var prop in font) { -console.log(prop); +{ + var b = 2; // b มีขอบเขตการมองเห็นแบบโกลบอล } -/* แสดงผลลัพธ์เป็น -"1" -"color " -"size " -"myFunction" -"x " -"y " -"z " */ +console.log(a, b); // 1 2 +``` + +```html + + + + + + + ``` ```js -function Font() { - this.color = "red"; - this.size = 200; +console.log(NaN, undefined, Infinity); // NaN undefined Infinity +console.log(window.NaN, window.undefined, window.Infinity); // NaN undefined Infinity +// ถ้ารันอยู่ใน Node.js +// console.log(global.NaN, global.undefined, global.Infinity); +// NaN undefined Infinity +``` + +### ฟังก์ชั่นซ้อนฟังก์ชั่น + +```js +function outerFunc() { + var value = 0; + function innerFunc() { + console.log(++value); + } + return innerFunc; } -var coordinate = {x: 1, y: 1, z: 1} -Font.prototype = Object.create(coordinate); -Font.prototype.myFunction = function(){}; -var font = new Font(); -font[1] = "fontValue"; -for(var prop in font) { - if(font.hasOwnProperty( prop ) ) { // เข้าถึงคีย์ที่อยู่ในอ็อบเจ็กต์เท่านั้น - console.log("font." + prop, "=", font[prop]); +var func1 = outerFunc(); // บรรทัด a +func1(); // 1 +func1(); // 2 +var func2 = outerFunc(); // บรรทัด b +func2(); // 1 +func2(); // 2 +``` + +```js +function cumulative(num) { + n = num + return function(a) { + n += a + console.log("answer = ", n) + } } +cumA= cumulative(100) +cumA(1) // "answer = 101" +cumA(1) // "answer = 102" +cumA(1) // "answer = 103" +cumB = cumulative(20) +cumB(-1) // "answer = 19" +cumB(-1); // "answer = 18" +cumB(-1); // "answer = 17" +``` + +```js +function part_cal(x) { + return function(y) { + return function(z) { + console.log(x+y+z); // บรรทัด a + } + } } -/* แสดงผลลัพธ์เป็น -"font.1 = fontValue" -"font.color = red" -"font.size = 200" */ +part_cal(10)(20)(30) // 60 ``` -## Object.preventExtensions() กับ Object.isExtensions() ```js -var obj1 = {}; -var obj2 = Object.preventExtensions(obj1); -console.log(obj1 === obj2); // true +function cal(x, y, z) { + console.log(x + y + z) +} +cal(10, 20 , 30) // 60 +``` -obj1.a = 1; // จะเพิกเฉย แต่ถ้าอยู่ในโหมดสตริคท์จะเกิด TypeError -var obj3 = Object.create(obj1); -console.log(obj3); // {} -obj3.a = 1; // เพิ่มพร็อพเพอร์ตี้เข้าไปได้ -console.log(Object.getPrototypeOf(obj3) === obj1); // true +## Hoist +```js +var value = 100; ``` ```js -var obj = {}; -console.log(Object.isExtensible(obj)); // true -Object.preventExtensions(obj); -console.log(Object.isExtensible(obj)); // false +console.log(x) +x = 1 +/* แบบนี้ไม่เกิด error + x = 1 + console.log(x) */ ``` -## Object ```js -var obj1 = new Object(1234); -var obj2 = new Object(); // อ็อบเจ็กต์ว่าง -var obj3 = new Object(undefined); // อ็อบเจ็กต์ว่าง -var obj4 = new Object(null); // อ็อบเจ็กต์ว่าง -var obj5 = Object(1); // เรียกแบบฟังก์ชั่น (ค่าอากิวเมนต์เป็นอะไรก็ได้) -console.log(typeof obj5); // "object" +console.log(x) // undefined +var x = 1 ``` -## Boolean ```js -var obj = new Boolean(true); -console.log(typeof obj); // "object" -var b = Boolean(true); -console.log(typeof b); // "boolean" -console.log(b); // true -console.log(obj == b); // true -console.log(obj === b); // false +x = undefined // เสมือนลอยขึ้นไปข้างบน +console.log(x) +x = 1 ``` ```js -var false1 = Boolean(); // false -var false2 = Boolean(false); // false -var false3 = Boolean(0); // false -var false4 = Boolean(-0); // false -var false5 = Boolean(null); // false -var false6 = Boolean(''); // false -var false7 = Boolean(NaN); // false -var false8 = Boolean(undefined); // false -var true1 = Boolean(true); // true -var true2 = Boolean("Hi"); // true -var true3 = Boolean("true"); // true -var true4 = Boolean("false"); // true -var true5 = Boolean([]); // true -var true6 = Boolean({}); // true -var true7 = Boolean(true4); // true +function myFunction(num) { + // สามารถมองเห็นตัวแปร value + console.log(value); // undefined + if(num > 10) { + var value = num*10; // ประกาศตัวแปร value ที่ตรงนี้ แต่มองเห็นได้ทั่วฟังก์ชั่น + /* ซอร์สโค้ด */ + } else { + // ถ้าเงื่อนไขประโยค if เป็นเท็จ ก็จะเข้ามาทำงานที่ else + // ซึ่งจะเห็นตัวแปร value มีค่าเป็น undefined + console.log(value); // undefined + } + // สามารถมองเห็นตัวแปร value ได้ หลังจากประโยค if …else ทำงานเสร็จสิ้น + console.log(value); +} ``` -## Number ```js -var obj = new Number(1); -console.log(typeof obj); // "object" -var n1 = Number("1"); // รับค่าเป็นสตริงก็ได้เช่นกัน -var n2 = Number("a"); // "a" ไม่ใช่ตัวเลข จึงทำให้ตัวแปร n2 มีค่าเป็น NaN -console.log(typeof n1, typeof n2); // "number number" -console.log(n1, n2); // 1 NaN -console.log(obj == n1); // true -console.log(obj === n1); // false +function myFunction(num) { + var value; // ประกาศตัวแปร value โดยไม่มีค่าเริ่มต้น จึงทำให้มีค่าเป็น undefined + console.log(value); // undefined + if(num > 10) { + value = num*10; // บรรทัดนี้เป็นเพียงการกำหนดค่าให้กับตัวแปร value + /* ซอร์สโค้ด */ + } else { + console.log(value); // undefined + } + console.log(value); +} ``` -## String ```js -var str1 = new String("MyString"); -console.log(typeof str1); // "object" -console.log(str1 === "MyString"); // false -var str2 = String("MyString"); -console.log(typeof str2); // "string" -console.log(str2 === "MyString"); // true -console.log(str1 == str2); // true +// สามารถมองเห็นตัวแปร value +console.log(value); // undefined +if(true) { + var value = 100; // ประกาศตัวแปรแบบ var +} +console.log(value); // 100 ``` -## Array ```js -var array1 = Array( 3 ); // เรียกแบบฟังก์ชั่น -console.log(array1.length); // 3 -console.log(array1); // [ <3 empty slots> ] -var array2 = new Array(3); -console.log(array2.length); // 3 -console.log(array2); // [ <3 empty slots> ] +var value; // ประกาศตัวแปร value โดยไม่มีค่าเริ่มต้น จึงทำให้มีค่าเป็น undefined +console.log(value); // undefined +if(true) { + value = 100; // บรรทัดนี้เป็นเพียงการกำหนดค่าให้กับตัวแปร value +} +console.log(value); // 100 ``` -## เมธอดของสตริง ```js -console.log( " Learning JavaScript ".trim() ); // แสดงผลเป็น "Learning JavaScript" +// มองเห็นฟังก์ชั่นก่อนการประกาศใช้งาน +myFunction(); // "Hoisted" +function myFunction() { + console.log("Hoisted"); +} +myFunction(); // "Hoisted" ``` ```js -console.log( "foo_foo_foo_".indexOf("foo") ); // 0 -console.log("foo_foo_foo_".lastIndexOf("foo") ); // 8 +function outerFunc() { + innerFunc(); // มองเห็นฟังก์ชั่นก่อนการประกาศใช้งาน + function innerFunc() { + console.log("inner function"); + } +}; +outerFunc(); // "inner function" +console.log(typeof innerFunc); // undefined ``` +## สตริคท์โหมด + ```js -"use strict"; -var str = "MyString"; -console.log(str.length) // 8 -str.length = 0; // TypeError (ถ้าไม่ใช่โหมดสตริคท์จะไม่เกิด error แต่จะเพิกเฉย) -str.func = function(){}; // TypeError (ถ้าไม่ใช่โหมดสตริคท์จะไม่เกิด error แต่จะเพิกเฉย) +"use strict"; // ประกาศโหมดสตริคท์ ด้วยการเขียนไว้ที่ตอนต้นของไฟล์ +var x = 1; +``` + +```js +function myFunction() { + "use strict"; // เฉพาะฟังก์ชั่นนี้จะอยู่ในโหมดสตริคท์ + var x = 1; +} ``` -## เมธอดของอาร์เรย์ +1) + ```js -var array = ["a","b","c","d"]; -var str = array.join("->"); -console.log(str); // "a->b->c->d" +"use strict"; +x = 1; // เกิด error เพราะไม่ได้ประกาศตัวแปรแบบ var ถ้าอยู่ดี ๆ จะมากำหนดค่าให้ทันทีแบบนี้จะทำไม่ได้ ``` +2) + ```js -var array = []; -array.push("a","b","c","d"); // เพิ่มสมาชิกกี่ตัวก็ได้ -console.log(array); // ["a", "b", "c", "d"] -console.log(array.pop()); // "d" -console.log(array); // ["a", "b", "c"] +"use strict"; +function x(a, a) { }; // เกิด error เพราะประกาศพารามิเตอร์ ที่มีชื่อ a ซ้ำกัน ``` +3) + ```js -var array = ["a","b","c","d"]; -console.log(array.indexOf("c" )); // 2 -console.log(array.indexOf("e" )); // -1 +"use strict"; +var x = 1; +delete x; // เกิด error ไม่สามารถลบตัวแปรได้ ``` +4) + ```js -var array = ["a","b","c","d"]; -var result = array.some( function matcher(value, index, arrayObj){ - // value คือค่าสมาชิกของอาร์เรย์ - // index คืออินเด็กซ์ของอาร์เรย์ - // arrayObj คือ ["a", "b", "c", "d"] - return value == "c"; -} ); -console.log(result) // true +"use strict"; +delete Object.prototype; //เกิด error เพราะพร็อพเพอร์ตี้ตัวนี้ห้ามลบ ``` +5) + ```js -var array = ["a","b","c","d"]; -array.forEach(function (value, index, arrayObj) { - // value คือค่าสมาชิกของอาร์เรย์ - // index คืออินเด็กซ์ของอาร์เรย์ - // arrayObj คือ ["a", "b", "c", "d"] - console.log("a[", index, "] = ", value); -}); -/* แสดงผลลัพธ์ -"a[ 0 ] = a" -"a[ 1 ] = b" -"a[ 2 ] = c" -"a[ 3 ] = d" */ +"use strict"; +var x = 010; // เกิด error ไม่สามารถประกาศแบบนี้ได้ +var y = \010; // เกิด error ไม่สามารถประกาศแบบนี้ได้ ``` -## Regular Expression +6) + ```js -var myRegex = new RegExp("Hello+"); -console.log(myRegex.toString()); // /Hello+/ +"use strict"; +var obj = {}; +Object.defineProperty(obj, "x", {value:0, writable:false}); +obj.x = 1; // เกิด error เนื่องจากมันเป็นพร็อพเพอร์ตี้ที่อ่านค่าได้อย่างเดียว ``` +7) + ```js -var myRegex = /Hello+/; -// ข้อความ regex ก็คืออ็อบเจ็กต์ตัวหนึ่ง -// จึงสามารถแชร์ใช้งานเมธอด RegExp.prototype.toString() -console.log(/Hello+/.toString()); // /Hello+/ +"use strict"; +var obj = {get x() {return 0} }; +obj.x = 1; // เกิด error ไม่สามารถกำหนดค่าให้กับ x ได้ ``` -## เมธอด test() กับ exec() +8) + ```js -console.log( /Hello+/.test("Hellooooo") ); // true -console.log( (new RegExp("Hello+")).test("Hellooooo") ); // true +"use strict"; +var obj = { }; +Object.preventExtensions(obj); +obj.a= 1; // เกิด error ไม่สามารถเพิ่มพร็อพเพอร์ตี้เข้าไปในอ็อบเจ็กต์ได้ ``` +9) + ```js -var result = /(foo).(bar)/.exec("0123foo_bar"); -console.log(result.index); // 4 -console.log(result[0]); // "foo_bar" -console.log(result[1]); // "foo" -console.log(result[2]); // "bar" -console.log(result.input); // "0123foo_bar" +"use strict"; +function f() { return this; } +console.log(f()); // undefined ``` -## สตริงกับ regex +10) + ```js -console.log("012Hellooooo".search(/Hello+/)); // 3 -var result = "Hellooooo Hello".match(/Hello+/g); -console.log(result); // ["Hellooooo", "Hello"] -console.log(result.length); // 2 +"use strict"; +var eval = 1; // เกิด error ไม่สามารถใช้ชื่อ eval เป็นตัวแปร -var str = "Hellooooo".replace(/Hello+/,"Bye"); -console.log(str); // "Bye" -var split = "1,2,3".split(/,/); -console.log(split); // ["1", "2", "3"] ``` -## ค่าแฟล็ก +11) + ```js -var regex = /Hello+/gi; -console.log(regex.lastIndex); // 0 -console.log(regex.source); // "Hello+" -console.log(regex.global); // true -console.log(regex.ignoreCase); // true -console.log(regex.multiline); // false +"use strict"; +var arguments = 1; // เกิด error ไม่สามา รถใช้ชื่อ arguments เป็นตัวแปร ``` +12) + ```js -var myRegex = /Hello+/g; -var str = "01Hello Hellooo89"; -var result = myRegex.exec(str); // ค้นหาครั้งแรก -console.log(result[0]); // "Hello" -console.log(myRegex.lastIndex); // 7 -myRegex.exec(str); // ค้นหาครั้งที่ 2 -console.log(result[0]); // "Hello" -console.log(myRegex.lastIndex); // 15 -myRegex.exec(str); // ค้นหาครั้งที่ 3 -console.log(result[0]); // "Hello" -console.log(myRegex.lastIndex); // 0 -myRegex.exec(str); // ค้นหาครั้งที่ 4 -console.log(result[0]); // "Hello" -console.log(myRegex.lastIndex); // 7 +"use strict"; +with (Math) { a = cos(1) }; // เกิด error ไม่สามารถใช้ประโยคคำสั่ง with ได้ ``` +13) + ```js -console.log( /Hello+/g === /Hello+/g); // false -/Hello+/g.exec("Hello Hello Hello"); // บรรทัด 2 -console.log(/Hello+/g.lastIndex); // 0 -- บรรทัด 3 +"use strict"; +eval("var x = 1;"); // ประกาศตัวแปร x ด้วย eval() +x = 2; // เกิด error +// แบบนี้จะไม่เกิด error +// eval("var x = 1; x = 2;"); // ไม่เกิด error ``` -## ตัวอย่างการใช้ regex +14) + ```js -var myRegex = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; -console.log(myRegex.test("xxxxxx.yyyyyy_zzzzz@abc.com")); // true +"use strict"; +var implements =1; // เกิด error เพราะ implements คือคำสงวนในโหมดสตริคท์ ``` +15) + ```js -var myRegex = /^(\-?|\+?)\d*$/; -console.log(myRegex.test("-987")); // true +"use strict"; +if(true) { + function myFunction1(){ } // ขอบเขตแบบโลบอล +} +{ + function myFunction2(){ } // ขอบเขตแบบโลบอล +} +console.log(typeof myFunction1); // undefined (ถ้าไม่ใช่โหมดสตริคท์จะแสดงค่าเป็น "function") +console.log(typeof myFunction2); // undefined (ถ้าไม่ใช่โหมดสตริคท์จะแสดงค่าเป็น "function") ``` +```js +"use strict"; +var isStrict = (function() { return !this; })( ); +console.log(isStrict); // true +``` \ No newline at end of file diff --git a/examples_book/README.md b/examples_book/README.md index c85494a..60de0a3 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -7,7 +7,7 @@ (กำลังอัปเดตโค้ดอยู่นะครับ ยังไม่เรียบร้อยดี) * [บทที่ 3 รันจาวาสคริปต์อย่างง่าย](Chapter03.md) -* [บทที่ 4 ทบทวนมาตรฐานเก่า --กำลังอัปเดต](Chapter04.md) +* [บทที่ 4 ทบทวนมาตรฐานเก่า](Chapter04.md) * [บทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น](Chapter05.md) * [บทที่ 6 ทบทวนอ็อบเจ็กต์](Chapter06.md) * [บทที่ 7 ทบทวน Regex --กำลังอัปเดต...](Chapter07.md) diff --git a/examples_book/md2html.js b/examples_book/md2html.js index f68aeef..463568f 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -54,8 +54,7 @@ function writeToHTML(allLines, fileName){ .replaceAll(/"/g, '"') .replaceAll(/'/g, "'"); } - - let console = {}; + console.log = function(...data){ let display = document.querySelector("#display"); for( d of data){ @@ -94,7 +93,7 @@ function writeToHTML(allLines, fileName){
  • บทที่ 19
  • บทที่ 20
  • -
    +

    @@ -212,15 +211,16 @@ async function genHTML(fileName){ } -let files = [ "Chapter03", "Chapter05", "Chapter06", "Chapter08", -"Chapter09", "Chapter10", "Chapter11", "Chapter12", "Chapter13", -"Chapter15", "Chapter16", "Chapter17", "Chapter18"]; +let files = [ "Chapter03", "Chapter04","Chapter05", "Chapter06", +"Chapter08","Chapter09", "Chapter10", "Chapter11", "Chapter12", +"Chapter13","Chapter15", "Chapter16", "Chapter17", "Chapter18"]; //genHTML("Chapter03"); +genHTML("Chapter04"); //genHTML("Chapter05"); -genHTML("Chapter06"); +//genHTML("Chapter06"); //genHTML("Chapter08"); //genHTML("Chapter09"); //genHTML("Chapter10"); From fe0dabe6cd5daea75cbf066fd87f4fa2aa59e589 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 7 Aug 2023 10:00:35 +0700 Subject: [PATCH 138/757] update --- examples_book/Chapter04.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index edf6024..7f917b6 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -965,7 +965,7 @@ function outerFunc() { function innerFunc() { console.log("inner function"); } -}; +} outerFunc(); // "inner function" console.log(typeof innerFunc); // undefined ``` @@ -1025,7 +1025,7 @@ var y = \010; // เกิด error ไม่สามาร ```js "use strict"; -var obj = {}; +var obj = { }; Object.defineProperty(obj, "x", {value:0, writable:false}); obj.x = 1; // เกิด error เนื่องจากมันเป็นพร็อพเพอร์ตี้ที่อ่านค่าได้อย่างเดียว ``` From b82740490c51498e0fb55a5e90be8dda45137394 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 7 Aug 2023 10:01:07 +0700 Subject: [PATCH 139/757] update --- examples_book/Chapter02.md | 758 ------------------------------------- 1 file changed, 758 deletions(-) delete mode 100644 examples_book/Chapter02.md diff --git a/examples_book/Chapter02.md b/examples_book/Chapter02.md deleted file mode 100644 index aca2fca..0000000 --- a/examples_book/Chapter02.md +++ /dev/null @@ -1,758 +0,0 @@ -# บทที่ 2 ทบทวนเบื้องต้น - -## คอมเมนต์ -```js -var x = 10; //This is an example. -``` - -```js -/* This is an example -ECMAScript 6 is very easy*/ -var x = 10; -``` - -## console.log() -```html - - - - -

    Hello, world!

    - - - -``` - -```js -console.log("Hello world", 122, 333.333); // "Hello world 122 333.333" -``` - -## debugger -```js -console.log("line 1"); -debugger; // บรรทัดนี้จะเป็นตำแหน่งของ breakpoint เพื่อหยุดการทำงานชั่วขณะ ตอนดีบั๊กโปรแกรม -console.log("line 2"); -``` - -## การตั้งชื่อ -```js -var _ = 100; // ตั้งชื่อแบบนี้ได้ -var $ = 100; // ตั้งชื่อแบบนี้ได้ -var _a =100; // ตั้งชื่อแบบนี้ได้ -var $a =100; // ตั้งชื่อแบบนี้ได้ -var Abc = 100; // ตั้งชื่อแบบนี้ได้ -var abc = 100; // ตั้งชื่อแบบนี้ได้ แต่ทว่าตัวแปร Abc กับ abc จะถือว่าคนละชื่อกัน -var a0123 = 100; // ตั้งชื่อแบบนี้ได้ -var 9b = 100; // ทำไม่ได้ มันจะเกิด SyntaxError เพราะมีเลข 9 นำหน้าชื่อตัวแปร -``` - -## การประกาศตัวแปร -```js -var x = 100; -``` - -```js -var x = 1, y = 2, z = 3; // ประกาศตัวแปร x, y และ z ให้อยู่ในบรรทัดเดียวกัน -``` - -```js -var x= 1, y = x; -/* จะเสมือนเขียนซอร์สโค้ดแบบนี้ -var x = 1; -var y = x; -*/ -``` - -```js -var x; -console.log(x); // undefined -``` - -## การประกาศตัวแปรโดยไม่มี var -```js -x = 1; -``` - -```js -console.log(x); // ReferenceError -``` - -## ไดนามิกไทป์ -```js -var foo = 42; // เริ่มต้นตัวแปร foo จะมีชนิดข้อมูลเป็นตัวเลข -foo = "bar"; // foo เปลี่ยนมาเก็บข้อมูลเป็นสตริง -foo = true; // foo เปลี่ยนมาเก็บข้อมูลเป็นบูลีน -``` - - -### null กับ undefined -```js -console.log(null === undefined) // false -console.log(null == undefined) // true -console.log(typeof null) // "object" -console.log(typeof undefined) // "undefined" -``` - -## ตัวเลข -```js -console.log(100, 0, -0, -300, 3.14, -78.222); // 100 0 -0 -300 3.14 -78.222 -``` - -```js -console.log(200e5); // 200 x 105 = 20000000 -console.log(2E-5); // 2 x 10-5 = 0.00002 -``` - -```js -console.log(Math.sqrt(-1)); // NaN (ไม่สามารถถอดรากที่สองของ -1) -console.log(0/0); // NaN ( 0 หาร 0 ไม่มีนิยาม) -console.log(parseInt("Hi")); // NaN (ไม่สามารถแปลง "Hi" เป็นตัวเลขได้) -``` - -```js -console.log( Infinity * Infinity); // Infinity -console.log( Infinity / Infinity); // NaN -console.log(-344 * Infinity); // -Infinity -console.log(3 / Infinity); // 0 -``` - -```js -console.log(Number.MAX_VALUE); // 1.7976931348623157e+308 เป็นค่าโดยประมาณ -console.log(Number.MAX_VALUE + 100); // 1.7976931348623157e+308 เป็นค่าโดยประมาณ (บรรทัด 2) -console.log(Number.MAX_VALUE * 10); // Infinity (บรรทัด 3) -console.log(Number.MAX_VALUE * -10); // -Infinity (บรรทัด 4) -``` - -```js -console.log(Number.MIN_VALUE); //5e-324 (เป็นค่าโดยประมาณ) -``` - -## สตริง -```js -"Learning JavaScript" -'Learning JavaScript' -``` - -```js -// ใช้ \" อยู่ภายในสตริง ส่วนเครื่องหมาย ' สามารถเขียนอยู่ในสตริงได้เลย -console.log("...\"Learning\" 'JavaScript'..."); // ..."Learning" 'JavaScript'... -// ใช้ \' อยู่ภายในสตริง ส่วนเครื่องหมาย " สามารถเขียนอยู่ในสตริงได้เลย -console.log('..."Learning" \'JavaScript\'...'); // ..."Learning" 'JavaScript'... -``` - -```js -var str= "line1\ -line2\ -line3"; -console.log(str); // line1line2line3 -``` - -```js -console.log("1234567890".length); // 10 -``` - -## โอเปอเรเตอร์ทางคณิตศาสตร์ -```js -console.log(true + 0); // ได้ผลลัพธ์เป็น 1 เพราะ true จะถือว่ามีค่าเป็น 1 -console.log(false + false); // ได้ผลลัพธ์เป็น 0 เพราะ false จะถือว่ามีค่าเป็น 0 -console.log(100 - true); // 99 -console.log(true * 30); // 30 -console.log(true / 2); // 0.5 -console.log(true %10); // 1 -console.log(+true); // 1 -console.log(-false); // -0 -var a = false, b=true; -console.log(++a); // 1 -console.log(--b); // 0 -``` - -```js -console.log(NaN + 30); // NaN -console.log(NaN - 30); // NaN -console.log(NaN * 30); // NaN -console.log(NaN / 30); // NaN -console.log(NaN % 30); // NaN -console.log(+NaN); // NaN -console.log(-NaN); // NaN -var x = NaN; -console.log(++x); // NaN -console.log(--x); // NaN -``` - -```js -console.log(Infinity * 0); // NaN -console.log(Infinity * 1); // Infinity -console.log(Infinity * Infinity); // Infinity -console.log(Infinity * -Infinity); // -Infinity -console.log(Infinity / 0); // Infinity -``` - -## โอเปอเรเตอร์ที่ใช้กำหนดค่าให้กับตัวแปร -```js -var a = 20; -a +=true; // true มีค่าเป็น 1 -console.log(a); // 21 -a *=NaN; -console.log(a); // NaN -``` - -## โอเปเรอเตอร์แบบตรรกะ -```js -console.log(true || true); // true (เงื่อนไข short circuit) -console.log(true || false); // true (เงื่อนไข short circuit) -console.log(false || true); // true -console.log(false || false); // false -console.log(true && true); // true -console.log(true && false); // false -console.log(false && true); // false (เงื่อนไข short circuit) -console.log(false && false); // false (เงื่อนไข short circuit) -console.log(!true); // false -console.log(!false); // true -``` - -## โอเปอเรเตอร์ระหว่างบิต -```js -var a = 12; // 1100 (เลขฐานสอง) -var b = 5; // 0101 (เลขฐานสอง) -var c = a & b; // 0100 (เลขฐานสอง) -console.log(c.toString(2)); // 100 (เลขฐานสอง) -console.log(c); // 4 -console.log(12 & 5); // 4 -``` - -```js -var a = 12; // 1100 -var b = 5; // 0101 -var c = a | b; // 1101 -console.log(c.toString(2)); // 1101 -console.log(c); // 13 -console.log(12 | 5); // 13 -``` - -```js -var a =12; // 1100 -var b= 5; // 0101 -var c = a ^ b; // 1001 -console.log(c.toString(2)); // 1001 -console.log(c); // 9 -console.log(12 ^ 5); // 9 -``` - -```js -var a= 9; // 00000000000000000000000000001001 -var b = ~a; // 11111111111111111111111111110110 (1’s Complement) -console.log(b); // -10 -console.log(~9); // -10 -``` - -```js -var a = 9; // 00000000000000000000000000001001 -var c = a << 2; // เลื่อนบิตจากขวามือไปทางซ้ายมือ 2 ตำแหน่ง - // 00000000000000000000000000100100 -console.log(c); // 36 -console.log(9 << 2); // 36 -``` - -```js -var a = 9; // 00000000000000000000000000001001 -var c = a >> 2; // เลื่อนบิตจากซ้ายมือไปทางขวามือ 2 ตำแหน่ง - // 00000000000000000000000000000010 -console.log(c); // 2 -console.log(9 >> 2); // 2 -``` - -```js --9; // 11111111111111111111111111110111 (เลขฐานสอง) --9 >> 2; // 11111111111111111111111111111101 (เลขฐานสอง) = -3 (เลขฐานสิบ) -``` - -```js -var a = 9; // 00000000000000000000000000001001 -var c = a >>> 2; // เลื่อนบิตจากซ้ายมือไปทางขวามือ 2 ตำแหน่ง พร้อมเติมเลข 0 ที่บิตด้านหน้าสุด - // 00000000000000000000000000000010 -console.log(c); // 2 -console.log(9 >>> 2); // 2 -``` - -## โอเปอเรเตอร์ typeof -```js -console.log(typeof true); // "boolean" -console.log(typeof false); // "boolean" -console.log(typeof -0.13); // "number" -console.log(typeof NaN); // "number" -console.log(typeof Infinity); // "number" -console.log(typeof undefined); // "undefined" -console.log(typeof ''); // "string" -console.log(typeof "Hi"); // "string" -console.log(typeof (typeof 100) ); // "string" -console.log(typeof null ); // "object" -console.log(typeof {x: 1, y: 2}); // "object" -console.log(typeof [1, 2]); // "object" -console.log(typeof function(){}); // "function" -console.log(typeof Math.sqrt); // "function" -console.log(typeof class C {}); // "function" -console.log(typeof Symbol()); // "symbol" -``` - -## โอเปอเรเตอร์วงเล็บ -```js -var a = 1 + 2 * 3 + 5; -// จะเสมือนเขียนเป็น var a = 1 + (2 * 3) + 5; -console.log(a); // 12 -``` - -```js -var a = (1 + 2) * (3 + 5); -console.log(a); // 24 -``` - -## โอเปอเรเตอร์คอมม่า -```js -var a = 1, b = 2; -var x = (1+34, a+=2, b*=10, b+1); -console.log(x); // 21 -``` - -## โอเปอเรเตอร์ void -```js -var a = void 12; -console.log(a); // undefined -console.log(Math.ceil(4.4)); // 5 -console.log(void Math.ceil(4.4)); // undefined -var b = 1; -console.log(void (++b)); // undefined -console.log(b); // แสดงค่าออกมาเป็น 2 เพราะตัวแปร b ถูกบวกเพิ่มไป 1 ค่า -``` - -## อาร์เรย์ -```js -[1, 1, 1, true, "Array"]; // อาร์เรย์ -``` - -```js -var a = ["a", "b", "c", "d", "e"]; -console.log(typeof a); // "object" -console.log(a[0], a[1], a[2], a[3], a [4]); // "a b c d e" -``` - -```js -var array = []; // ประกาศเป็นอาร์เรย์ว่าง -array[0] = 1; -array[1] = 2; -``` - -```js -var array = [1, 2, 3, 4, 5]; -console.log(array.length); // 5 -``` - -```js -var array = [1, 2, 3, 4, 5]; -console.log(array.length); // 5 -array.length = 7; // เพิ่มขนาดอาร์เรย์จาก 5 เป็น 7 -console.log(array); // [ 1, 2, 3, 4, 5, <2 empty slots> ] -console.log(array.length); // 7 -array[9] = 100; -console.log(array); // [ 1, 2, 3, 4, 5, <4 empty slots>, 100 ] -console.log(array.length); // 10 -``` - -## การประกาศฟังก์ชั่น -```js -function function_Name (พารามิเตอร์1, พารามิเตอร์2, …, พารามิเตอร์N) -{ -// ซอร์สโค้ดภายในบอดี้ของฟังก์ชั่น -return [value]; -// จะมีหรือไม่มีประโยค return ก็ได้ -// ส่วนค่า value หลังคำว่า return จะมีหรือไม่มีก็ได้ -} -``` - -```js -function calculate(param1, param2){ -return param1 * param2; -} -``` - -```js -var result = calculate(10, 2); -console.log(result); // 20 -``` - -```js -function calculate(){ -return 20; -} -var result = calculate(); -console.log(result); // 20 -``` - -## ประโยค return -```js -function myFunction (){ - return 1; - console.log("myFunction");// บรรทัดนี้เส้นทางการทำงานของโปรแกรมจะมาไม่ถึง -} -var result = myFunction(); -console.log(result); // 1 -``` - -```js -function myFunction (){ - return; -} -var result = myFunction(); -console.log(result); // undefined -``` - -```js -function myFunction (){ -console.log("myFunction"); -// จะเสมือนมีประโยค return undefined; วางไว้ตำแหน่งสุดท้าย ก่อนฟังก์ชั่นจบการทำงาน -} -var result = myFunction(); // "myFunction" -console.log(result); // undefined -``` - -## ฟังก์ชั่นไร้ชื่อ -```js -function (param1,param2){ -return param1 * param2; -} -``` - -## นิพจน์ฟังก์ชั่น -```js -var calculate = function (param1,param2){ -return param1 * param2; -} -console.log(calculate(10, 2)); // 20 -calculate = 100; // ตัวแปร calculation สามารถแก้ไขให้เป็นค่าอื่นได้ -console.log(calculate); // 100 -``` - -```js -var calculate = function calc2(param1,param2){ -return param1 * param2; -} -console.log(calculate(10,2)); // 20 -``` - -## ฟังก์ชั่นคอลแบ็ค -```js -function sayHi(){ -console.log("Hi"); -} -function sayBye(){ -console.log("Bye"); -} - -function say(func){ - func(); // เรียกฟังก์ชั่นให้ทำงาน -} -say(sayHi); // "Hi" -say(sayBye); // "Bye" -``` - -```js -function say(func){ - console.log("Say..."); -function sayHi(){ - console.log("Hi"); -} -return sayHi; // รีเทิร์นฟังก์ชั่น -} -var hi = say(); // "Say..." -hi(); // "Hi" -``` - -```js -function say(func){ - console.log("Say..."); - return function(){ // รีเทิร์นฟังก์ชั่นไร้ชื่อ - console.log("Hi"); -} -} // สิ้นสุดการประกาศฟังก์ชั่น -var hi = say(); // "Say..." -hi(); // "Hi" -``` - -## อ็อบเจ็กต์ arguments -```js -function myFunction(param1, param2){ -console.log(param1, param2); -} -myFunction(); // undefined undefined -myFunction(100); // 100 undefined -myFunction(100,200); // 100 200 -myFunction(100,200,300,400); // 100 200 -``` - -```js -function myFunction (param1, param2){ -console.log(arguments); -} -myFunction(100,200,300,400); // [100, 200, 300, 400] -``` - -```js -function myFunction(param1,param2){ // ฟังก์ชั่นนี้ไม่เคยถูกเรียกใช้ - console.log("function1 value:", param1, param2); -} -myFunction(100, 200); // เรียกใช้ฟังก์ชั่นที่ประกาศอยู่ด้านล่าง -function myFunction(param){ // จะโอเวอร์ไรด์ทับฟังก์ชั่นที่ประกาศไว้ก่อนหน้านี้ - console.log("function2 value:", param); -} -myFunction(100); -myFunction(100, 200); -/* แสดงผลลัพธ์เป็น -"function2 value: 100" -"function2 value: 100" -"function2 value: 100" */ -``` - -## ขอบเขตการมองเห็นของตัวแปร -```js -if(true){ -var a = 1; // a มีขอบเขตการมองเห็นแบบโกลบอล -} -{ -var b = 2; // b มีขอบเขตการมองเห็นแบบโกลบอล -} -console.log(a, b); // 1 2 -``` - -```html - - - - - - - -``` - -```js -console.log(NaN, undefined, Infinity); // NaN undefined Infinity -console.log(window.NaN, window.undefined, window.Infinity); // NaN undefined Infinity -// ถ้ารันอยู่ใน Node.js -// console.log(global.NaN, global.undefined, global.Infinity); -// NaN undefined Infinity -``` - -## ฟังก์ชั่นซ้อนฟังก์ชั่น -```js -function outerFunc() { - var value = 0; - function innerFunc() { - console.log(++value); - } - return innerFunc; -}; -var func1 = outerFunc(); // บรรทัด a -func1(); // 1 -func1(); // 2 - -var func2 = outerFunc(); // บรรทัด b -func2(); // 1 -func2(); // 2 -``` - -## Hoist -```js -var value = 100; -``` - -```js -function myFunction(num){ - // สามารถมองเห็นตัวแปร value - console.log(value); // undefined - - if(num > 10) { - var value = num*10; // ประกาศตัวแปร value ที่ตรงนี้ แต่มองเห็นได้ทั่วฟังก์ชั่น - /* ซอร์สโค้ด */ - } else { - // ถ้าเงื่อนไขประโยค if เป็นเท็จ ก็จะเข้ามาทำงานที่ else - // ซึ่งจะเห็นตัวแปร value มีค่าเป็น undefined - console.log(value); // undefined - } -// สามารถมองเห็นตัวแปร value ได้ หลังจากประโยค if …else ทำงานเสร็จสิ้น - console.log(value); -} -``` - -```js -function myFunction(num){ - var value; // ประกาศตัวแปร value โดยไม่มีค่าเริ่มต้น จึงทำให้มีค่าเป็น undefined -console.log(value); // undefined - if(num > 10) { - value = num*10; // บรรทัดนี้เป็นเพียงการกำหนดค่าให้กับตัวแปร value - /* ซอร์สโค้ด */ - } else { - console.log(value); // undefined - } - console.log(value); -} -``` - -```js -// สามารถมองเห็นตัวแปร value -console.log(value); // undefined -if(true) { -var value = 100; // ประกาศตัวแปรแบบ var -} -console.log(value); // 100 -``` - -```js -var value; // ประกาศตัวแปร value โดยไม่มีค่าเริ่มต้น จึงทำให้มีค่าเป็น undefined -console.log(value); // undefined -if(true) { - value = 100; // บรรทัดนี้เป็นเพียงการกำหนดค่าให้กับตัวแปร value -} -console.log(value); // 100 -``` - -```js -// มองเห็นฟังก์ชั่นก่อนการประกาศใช้งาน -myFunction(); // "Hoisted" -function myFunction(){ -console.log("Hoisted"); -} - -myFunction(); // "Hoisted" -``` - -```js -function outerFunc() { - innerFunc(); // มองเห็นฟังก์ชั่นก่อนการประกาศใช้งาน - function innerFunc() { - console.log("inner function"); - } -}; -outerFunc(); // "inner function" -console.log(typeof innerFunc); // undefined -``` - -## สตริคท์โหมด -```js -"use strict"; // ประกาศโหมดสตริคท์ ด้วยการเขียนไว้ที่ตอนต้นของไฟล์ -var x = 1; -``` - -```js -function myFunction() { - "use strict"; // เฉพาะฟังก์ชั่นนี้จะอยู่ในโหมดสตริคท์ - var x = 1; -} -``` - -```js -"use strict"; -x = 1; // เกิด error เพราะไม่ได้ประกาศตัวแปรแบบ var ถ้าอยู่ดี ๆ จะมากำหนดค่าให้ทันทีแบบนี้จะทำไม่ได้ -``` - -```js -"use strict"; -function x(a, a) {}; // เกิด error เพราะประกาศพารามิเตอร์ ที่มีชื่อ a ซ้ำกัน -``` - -```js -"use strict"; -var x = 1; -delete x; // เกิด error ไม่สามารถลบตัวแปรได้ -``` - -```js -"use strict"; -delete Object.prototype; //เกิด error เพราะพร็อพเพอร์ตี้ตัวนี้ห้ามลบ -``` - -```js -"use strict"; -var x = 010; // เกิด error ไม่สามารถประกาศแบบนี้ได้ -var y = \010; // เกิด error ไม่สามารถประกาศแบบนี้ได้ -``` - -```js -"use strict"; -var obj = {}; -Object.defineProperty(obj, "x", {value:0, writable:false}); -obj.x = 1; // เกิด error เนื่องจากมันเป็นพร็อพเพอร์ตี้ที่อ่านค่าได้อย่างเดียว -``` - -```js -"use strict"; -var obj = {get x() {return 0} }; -obj.x = 1; // เกิด error ไม่สามารถกำหนดค่าให้กับ x ได้ -``` - -```js -"use strict"; -var obj = {}; -Object.preventExtensions(obj); -obj.a= 1; // เกิด error ไม่สามารถเพิ่มพร็อพเพอร์ตี้เข้าไปในอ็อบเจ็กต์ได้ -``` - -```js -"use strict"; -function f() { return this; } -console.log(f()); // undefined -``` - -```js -"use strict"; -var eval = 1; // เกิด error ไม่สามารถใช้ชื่อ eval เป็นตัวแปร -``` - -```js -"use strict"; -var arguments = 1; // เกิด error ไม่สามารถใช้ชื่อ arguments เป็นตัวแปร -``` - -```js -"use strict"; -with (Math){ a = cos(1)}; // เกิด error ไม่สามารถใช้ประโยคคำสั่ง with ได้ -``` - -```js -"use strict"; -eval("var x = 1;"); // ประกาศตัวแปร x ด้วย eval() -x = 2; // เกิด error -// แบบนี้จะไม่เกิด error -// eval("var x = 1; x = 2;"); // ไม่เกิด error -``` - -```js -"use strict"; -var implements =1; // เกิด error เพราะ implements คือคำสงวนในโหมดสตริคท์ -``` - -```js -"use strict"; -if(true) { -function myFunction1(){ } // ขอบเขตแบบโลบอล -} - -{ -function myFunction2(){ } // ขอบเขตแบบโลบอล - -} -console.log(typeof myFunction1); // undefined (ถ้าไม่ใช่โหมดสตริคท์จะแสดงค่าเป็น "function") -console.log(typeof myFunction2); // undefined (ถ้าไม่ใช่โหมดสตริคท์จะแสดงค่าเป็น "function") -``` - - - - From edfd1d1405f00913aa11807a17557e3e9a78a0ff Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 7 Aug 2023 13:03:51 +0700 Subject: [PATCH 140/757] update --- examples_book/Chapter04.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 7f917b6..391795d 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -251,9 +251,9 @@ console.log(Number.MIN_VALUE); //5e-324 (เป็นค่าโดย ```js // ใช้ \" อยู่ภายในสตริง ส่วนเครื่องหมาย ' สามารถเขียนอยู่ในสตริงได้เลย -console.log("...\"Learning\" 'JavaScript'..."); // ..."Learning" 'JavaScript'... +console.log("...\"Learning\" 'JavaScript'..."); // ..."Learning" 'JavaScript'... // ใช้ \' อยู่ภายในสตริง ส่วนเครื่องหมาย " สามารถเขียนอยู่ในสตริงได้เลย -console.log('..."Learning" \'JavaScript\'...'); // ..."Learning" 'JavaScript'... +console.log('..."Learning" \'JavaScript\'...'); // ..."Learning" 'JavaScript'... ``` ```js From ecbf9e5ff69838f25a0c1c86e3b45b7300237312 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 7 Aug 2023 14:02:11 +0700 Subject: [PATCH 141/757] update --- examples_book/Chapter04.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 391795d..4b08a8f 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -209,7 +209,7 @@ console.log(typeof null) // "object" console.log(typeof undefined) // "undefined" ``` -## ตัวเลข +### ตัวเลข ```js console.log(100, 0, -0, -300, 3.14, -78.222); // 100 0 -0 -300 3.14 -78.222 ``` @@ -243,7 +243,7 @@ console.log(Number.MAX_VALUE * -10); // -Infinity (บรรทัด 4) console.log(Number.MIN_VALUE); //5e-324 (เป็นค่าโดยประมาณ) ``` -## สตริง +### สตริง ```js "Learning JavaScript" 'Learning JavaScript' @@ -267,7 +267,7 @@ console.log(str); // line1line2line3 console.log("1234567890".length); // 10 ``` -## บูลีน +### บูลีน ```js var TRUE_value = true; @@ -287,7 +287,9 @@ var c = "Learning JavaScript"; var d = true; ``` -## โอเปอเรเตอร์ทางคณิตศาสตร์ +## โอเปอเรเตอร์ + +### โอเปอเรเตอร์ทางคณิตศาสตร์ ```js console.log(true + 0); // ได้ผลลัพธ์เป็น 1 เพราะ true จะถือว่ามีค่าเป็น 1 console.log(false + false); // ได้ผลลัพธ์เป็น 0 เพราะ false จะถือว่ามีค่าเป็น 0 @@ -353,7 +355,7 @@ var ans2 = +10 ** 2; // syntax error ```js ans1 = - (10 ** 2); // -100 ans1 = (-10) ** 2; // 100 -ans2 = + (10 ** 2); // 100 +ans2 = +(10 ** 2); // 100 ans2 = (+10) ** 2; // 100 ``` From bbac6849b2ea5f380890366383c8fd7039b57145 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 7 Aug 2023 14:12:08 +0700 Subject: [PATCH 142/757] no message --- examples_book/Chapter04.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 4b08a8f..333f90c 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -353,7 +353,7 @@ var ans2 = +10 ** 2; // syntax error ``` ```js -ans1 = - (10 ** 2); // -100 +ans1 = -(10 ** 2); // -100 ans1 = (-10) ** 2; // 100 ans2 = +(10 ** 2); // 100 ans2 = (+10) ** 2; // 100 @@ -396,7 +396,7 @@ console.log(a); // NaN ### โอเปอเรเตอร์ที่ใช้กับสตริง ```js -100 + true + "50" // "10150" +100 + true + "50"; // "10150" // เสมือนเขียน (100 + true) + "50" ``` @@ -510,9 +510,9 @@ console.log(typeof (typeof 100) ); // "string" console.log(typeof null ); // "object" console.log(typeof {x: 1, y: 2}); // "object" console.log(typeof [1, 2]); // "object" -console.log(typeof function(){}); // "function" +console.log(typeof function(){ }); // "function" console.log(typeof Math.sqrt); // "function" -console.log(typeof class C {}); // "function" +console.log(typeof class C { }); // "function" console.log(typeof Symbol()); // "symbol" ``` From 6544a1d714c4e1f5fbf7ed5eb2230063540fa3df Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 7 Aug 2023 14:42:22 +0700 Subject: [PATCH 143/757] no message --- examples_book/Chapter04.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 333f90c..93d522e 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -653,7 +653,7 @@ function (param1,param2) { ### นิพจน์ฟังก์ชั่น ```js -var calculate = function (param1,param2) { +var calculate = function (param1, param2) { return param1 * param2; } console.log(calculate(10, 2)); // 20 @@ -662,10 +662,10 @@ console.log(calculate); // 100 ``` ```js -var calculate = function calc2(param1,param2) { +var calculate = function calc2(param1, param2) { return param1 * param2; } -console.log(calculate(10,2)); // 20 +console.log(calculate(10, 2)); // 20 ``` ```js From bae44eb182cdd51d234ca4d3fad519cdbdbd5a34 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 7 Aug 2023 15:00:16 +0700 Subject: [PATCH 144/757] no message --- examples_book/Chapter04.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 93d522e..4584a46 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -645,7 +645,7 @@ function calculate() { ### ฟังก์ชั่นไร้ชื่อ ```js -function (param1,param2) { +function (param1, param2) { return param1 * param2; } ``` @@ -676,15 +676,11 @@ function cal(a, b) { ```js cal = function(a, b) { - console.log(a*b): + console.log(a*b); } -``` -```js var myFunction = cal; -``` -```js myFunction(5,4); // 20 cal(5,4); // 20 ``` From 39cd556c111a4782c6f3dca7e839b8af46481c42 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 7 Aug 2023 15:27:52 +0700 Subject: [PATCH 145/757] update --- examples_book/Chapter04.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 4584a46..9fcf693 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -770,17 +770,6 @@ alert = function(data) { alert("Hello, World"); // แสดงข้อความ "Hello, World" ออกทางหน้าคอนโซล ``` -### ขอบเขตการมองเห็นของตัวแปร -```js -if(true){ -var a = 1; // a มีขอบเขตการมองเห็นแบบโกลบอล -} -{ -var b = 2; // b มีขอบเขตการมองเห็นแบบโกลบอล -} -console.log(a, b); // 1 2 -``` - ### ขอบเขตการมองเห็นของตัวแปร ```js From 8db1dbd506a5c741d41de58b4890e8a551d690ce Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 7 Aug 2023 15:43:43 +0700 Subject: [PATCH 146/757] no message --- examples_book/Chapter04.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 9fcf693..77ffba2 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -870,7 +870,7 @@ var value = 100; ``` ```js -console.log(x) +console.log(x) // เกิด error x = 1 /* แบบนี้ไม่เกิด error x = 1 @@ -908,7 +908,7 @@ function myFunction(num) { ```js function myFunction(num) { var value; // ประกาศตัวแปร value โดยไม่มีค่าเริ่มต้น จึงทำให้มีค่าเป็น undefined - console.log(value); // undefined + console.log(value); // undefined if(num > 10) { value = num*10; // บรรทัดนี้เป็นเพียงการกำหนดค่าให้กับตัวแปร value /* ซอร์สโค้ด */ From c81e2d2914a5cfaa6598556401a5508270f3994a Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 7 Aug 2023 15:57:22 +0700 Subject: [PATCH 147/757] no message --- examples_book/Chapter04.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 77ffba2..3eff875 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -908,7 +908,7 @@ function myFunction(num) { ```js function myFunction(num) { var value; // ประกาศตัวแปร value โดยไม่มีค่าเริ่มต้น จึงทำให้มีค่าเป็น undefined - console.log(value); // undefined + console.log(value); // undefined if(num > 10) { value = num*10; // บรรทัดนี้เป็นเพียงการกำหนดค่าให้กับตัวแปร value /* ซอร์สโค้ด */ @@ -1086,10 +1086,10 @@ var implements =1; // เกิด error เพราะ implements คื ```js "use strict"; if(true) { - function myFunction1(){ } // ขอบเขตแบบโลบอล + function myFunction1(){ } // ขอบเขตแบบโลคอล } { - function myFunction2(){ } // ขอบเขตแบบโลบอล + function myFunction2(){ } // ขอบเขตแบบโลคอล } console.log(typeof myFunction1); // undefined (ถ้าไม่ใช่โหมดสตริคท์จะแสดงค่าเป็น "function") console.log(typeof myFunction2); // undefined (ถ้าไม่ใช่โหมดสตริคท์จะแสดงค่าเป็น "function") From 4e98f838f67ce6a5f47b200e189ef4a37c843be7 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 7 Aug 2023 20:50:31 +0700 Subject: [PATCH 148/757] no message --- examples_book/Chapter04.md | 30 +- examples_book/Chapter14.md | 1800 ++++++++++++++++++++++++++++++++++++ examples_book/README.md | 2 +- examples_book/md2html.js | 5 +- 4 files changed, 1819 insertions(+), 18 deletions(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 3eff875..089479f 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -971,21 +971,21 @@ function myFunction() { } ``` -1) +* 1) ```js "use strict"; x = 1; // เกิด error เพราะไม่ได้ประกาศตัวแปรแบบ var ถ้าอยู่ดี ๆ จะมากำหนดค่าให้ทันทีแบบนี้จะทำไม่ได้ ``` -2) +* 2) ```js "use strict"; function x(a, a) { }; // เกิด error เพราะประกาศพารามิเตอร์ ที่มีชื่อ a ซ้ำกัน ``` -3) +* 3) ```js "use strict"; @@ -993,14 +993,14 @@ var x = 1; delete x; // เกิด error ไม่สามารถลบตัวแปรได้ ``` -4) +* 4) ```js "use strict"; delete Object.prototype; //เกิด error เพราะพร็อพเพอร์ตี้ตัวนี้ห้ามลบ ``` -5) +* 5) ```js "use strict"; @@ -1008,7 +1008,7 @@ var x = 010; // เกิด error ไม่สามา var y = \010; // เกิด error ไม่สามารถประกาศแบบนี้ได้ ``` -6) +* 6) ```js "use strict"; @@ -1017,7 +1017,7 @@ Object.defineProperty(obj, "x", {value:0, writable:false}); obj.x = 1; // เกิด error เนื่องจากมันเป็นพร็อพเพอร์ตี้ที่อ่านค่าได้อย่างเดียว ``` -7) +* 7) ```js "use strict"; @@ -1025,7 +1025,7 @@ var obj = {get x() {return 0} }; obj.x = 1; // เกิด error ไม่สามารถกำหนดค่าให้กับ x ได้ ``` -8) +* 8) ```js "use strict"; @@ -1034,7 +1034,7 @@ Object.preventExtensions(obj); obj.a= 1; // เกิด error ไม่สามารถเพิ่มพร็อพเพอร์ตี้เข้าไปในอ็อบเจ็กต์ได้ ``` -9) +* 9) ```js "use strict"; @@ -1042,7 +1042,7 @@ function f() { return this; } console.log(f()); // undefined ``` -10) +* 10) ```js "use strict"; @@ -1050,21 +1050,21 @@ var eval = 1; // เกิด error ไม่สามา ``` -11) +* 11) ```js "use strict"; var arguments = 1; // เกิด error ไม่สามา รถใช้ชื่อ arguments เป็นตัวแปร ``` -12) +* 12) ```js "use strict"; with (Math) { a = cos(1) }; // เกิด error ไม่สามารถใช้ประโยคคำสั่ง with ได้ ``` -13) +* 13) ```js "use strict"; @@ -1074,14 +1074,14 @@ x = 2; // เกิด error // eval("var x = 1; x = 2;"); // ไม่เกิด error ``` -14) +* 14) ```js "use strict"; var implements =1; // เกิด error เพราะ implements คือคำสงวนในโหมดสตริคท์ ``` -15) +* 15) ```js "use strict"; diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 8b13789..12f39b7 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1 +1,1801 @@ +# บทที่ 14 คลาส +## คลาส + +```js +class Car { +// สมาชิกภายในคลาส +} +``` + +```js +class Car { + // สมาชิกภายในคลาส +} +let car1 = new Car(); +let car2 = new Car(); +let car3 = new Car(); +// สร้างอ็อบเจ็กต์ได้เรื่อยๆ +``` + +## โอเปอเรเตอร์ instanceof + +```js +class Car { + // สมาชิกภายในคลาส +} +let car1 = new Car(); +let car2 = new Car(); +console.log(car1 instanceof Car); // true +console.log(car2 instanceof Car); // true +console.log(car1 === car2); // false +``` + +## สมาชิกคลาส + +```js +class Car { + constructor(param) { + console.log(param); + } +} +let carObj = new Car(“red”); // “red” +``` + +## ข้อมูลภายในอินสแตนซ์ + +```js +class Car { + constructor(param) { + this.color = param; + } +} +let carObj = new Car(“red”); +console.log(carObj.color); // “red” (ไม่แนะนำให้เข้าถึงโดยตรงด้วยวิธีนี้) +``` + +```js +class Car { + intField(param) { + this.color = param; // บรรทัด a + } +} +let carObj = new Car(); +carObj.intField(“red”) // this.color ถูกสร้างขึ้นมา +console.log(carObj.color); // “red” (ไม่แนะนำให้เข้าถึงโดยตรงด้วยวิธีนี้) +``` + +```js +let c1 = new Car(“red”); +let c2 = new Car(“black”); +let c3 = new Car(“white”); +console.log(c1.color); // “red” +console.log(c2.color); // “black” +console.log(c3.color); // “white” +``` + +```js +class Car { + color = “red”; // บรรทัด a -- ประกาศฟิวด์ color + speed = 100; // บรรทัด b -- ประกาศฟิวด์ speed + constructor() { + console.log(this.color); // “red” + console.log(this.speed); // 100 + } +} +new Car(); +// แสดงผลลัพธ์ +// “red” +// 100 +``` + +```js +class Car { + color; // undefined + var speed = 100; // ทำไม่ได้ + let weight = 50; // ทำไม่ได้ + const height = 1.5; // ทำไม่ได้ +} +``` + + +### ประกาศเมธอด + +```js +class Car { + constructor (speed) { + this.speed = speed; + } + drive() { + console.log(“Driving speed:”, this.speed); + } + stop() { + console.log(“Stop a car”); + } +} +let carObj = new Car(100); +carObj.drive(); // “Driving speed: 100” +carObj.stop(); // “Stop a car” +``` + +```js +class Car { + constructor (speed) { + this.speed = speed; + } + drive() { + console.log(“Driving speed:”, this.speed); + } + drive() { // เลือกใช้เมธอดตัวนี้ + console.log(“Stop a car”); + } +} +let carObj = new Car(100); +carObj.drive(); // “Stop a car” +``` + +## เงื่อนไขการประกาศคลาส + +* ตัวอย่างที่ 1 + +```js +let car = new Car(); // จะเกิด error เพราะมองไม่เห็น Car ที่ประกาศอยู่ข้างล่าง +class Car { // คลาสจะถูกมองเห็นตั้งแต่บรรทัดนี้เป็นต้นไป + // สมาชิกคลาส +} +``` + +* ตัวอย่างที่ 2 + +```js +class Car { +} +let car = Car(); // จะเกิด error เพระาไม่ใช่ new +``` + +* ตัวอย่างที่ 3 + +```js +class Car { + constructor (speed) { + this.speed = speed; + } + drive() { /*ซอร์สโค้ด*/ } +} +let car = new Car(100); +for(let c in car) { + console.log(c); +} +// แสดงผลลัพธ์เป็น +// “speed” +``` + +* ตัวอย่างที่ 4 + +```js +class Car { + constructor() { + Car = 100; // จะเกิด error + } +} +Car = 100; // กำหนดค่าใหม่ให้กับตัวแปร Car จากข้างนอกคลาส จะสามารถทำได้ +``` + +## เบื้องหลังของคลาส + +```js +class Car { + constructor (speed) { + this.speed = speed; + } + drive() { + console.log(“Driving speed:”, this.speed); + } +} +let carObj = new Car(100); +carObj.drive(); // “Driving speed: 100” +console.log(typeof carObj); // “object” +console.log(carObj instanceof Car); // true +console.log(carObj instanceof Object); // true +console.log(carObj.drive === Car.prototype.drive); // true +console.log(typeof Car.prototype.drive); // “function” +// คลาส Car ก็คือฟังก์ชั่นคอนสตรัคเตอร์ที่ชื่อ Car +console.log(typeof Car); // “function” +console.log(Car.name); // “Car” +console.log(Car === Car.prototype.constructor); // true +console.log(Car.prototype.constructor.name); // “Car” +``` + +```js +let Car = function() { + “use strict”; + const Car = function(speed) { + if(typeof new.target === “undefined”) { + throw new TypeError(“Cannot call a class as a function”); + } + this.speed = speed; + }; + Object.defineProperty(Car.prototype, “drive”, { + value: function() { + if(typeof new.target !== “undefined”) { + throw new TypeError(“Method cannot be called with new.”); + } + console.log(“Driving speed:”, this.speed); + } + ,enumerable: false + ,writable: true + ,configurable: true + }); + return Car; +}(); // เทคนิค IIFE +let carObj = new Car(100); +carObj.drive(); // “Driving speed: 100” +``` + +## เพิ่มสมาชิกเข้าไปในคลาสทีหลัง + +```js +class Car { + constructor (speed){ + this.speed = speed; + } +} +Car.prototype.drive = function() { // เพิ่มเมธอดเข้าไปทีหลัง + console.log(“Driving speed:”, this.speed); +}; +let car = new Car(100); +car.drive(); +// แสดงผลลัพธ์ +// “Driving speed: 100” +for(let c in car) { + console.log(c); +} +// ประโยค for ...in จะแสดงผลลัพธ์ดังนี้ +// “speed” +// “drive” +``` + +```js +class Car { + constructor (speed){ + this.speed = speed; + } +} +Object.defineProperty(Car.prototype, “drive”, { + value: function() { + console.log(“Driving speed:”, this.speed); + }, + enumerable: false, + writable: true, + configurable: true + }); +let car = new Car(100); +car.drive(); +// แสดงผลลัพธ์ +// “Driving speed: 100” +for(let c in car) { + console.log(c); +} +// ประโยค for ...in จะแสดงผลลัพธ์ดังนี้ +// “speed” +``` + +## นิพจน์คลาส + +```js +let Car = class { // คลาสไร้ชื่อ + // สมาชิกคลาส +}; +console.log(typeof Car); // “function” +let carObj = new Car(); +console.log(typeof carObj); // “object” +console.log(carObj instanceof Car); // true +``` + +```js +let Car2 = class Car1 { + // สมาชิกคลาส +}; +console.log(typeof Car2); // “function” +let carObj = new Car2(); +``` + +```js +let carObj = new Car(); // จะเกิด TypeError ได้ +var Car = class{}; // บรรทัด 2 -- นิพจน์คลาสจะถูกมองเห็นตั้งแต่บรรทัดนี้เป็นต้นไป +/* จะเสมือนเขียนแบบนี้ +var Car; +let carObj = new Car(); +Car = class{}; */ +``` + +```js +function myFunction(classExpr) { + let c = new classExpr(); // บรรทัด a + c.drive(100); +} +myFunction( class { // บรรทัด b -- คลาสไร้ชื่อ + drive(speed) { + console.log(“Driving speed:”, speed); + } +}); +// แสดงผลลัพธ์เป็น +// “Driving speed: 100” +``` + +```js +function myFunction(classExpr) { + return class { + drive(speed) { + console.log(“Driving speed:”, speed); + } + } +} +let Car = myFunction(); +let carObj = new Car(); +carObj.drive(100); // “Driving speed: 100” +``` + +```js +let carObj = new class { + constructor (speed) { + this.speed = speed; + } + drive() { + console.log(“Driving speed:”, this.speed); + } +}(100); +console.log(typeof carObj); // “object” +carObj.drive(100); // “Driving speed: 100” +``` + +## พร็อพเพอร์ตี้แอคเซสเซอร์ + +```js +class Car { + constructor () { + this.speedValue = 100; + } + get speed() { + return this.speedValue; + } + set speed(speedValue) { + this.speedValue = speedValue; + } +} +let carObj = new Car(100); +console.log(carObj.speed); // 100 +carObj.speed = 60; +console.log(carObj.speed); // 60 +console.log(carObj.speedValue); // 60 (เข้าถึงได้ แต่ไม่ควรเข้าถึงด้วยวิธีนี้ โดยตรง) +``` + +```js +let desc = Object.getOwnPropertyDescriptor(Car.prototype, “speed”); +console.log(“get” in desc); // true +console.log(“set” in desc); // true +console.log(desc.enumerable); // false +``` + +## สมาชิกที่เป็นสแตติก + +### ฟิวด์สแตติก + +```js +class Car { + static speed = 100; + color = “red”; +} +console.log(Car.speed); // 100 +let carObj = new Car(); +console.log(carObj.color); // “red” +console.log(typeof carObj.speed); // undefined +``` + +```js +class Car { + static speed = 100; // speed เป็นของคลาส + speed = Car.speed * 10; // บรรทัด a -- Car.speed * 10 = 1000 + drive() { + console.log(“Driving speed:”, Car.speed); // บรรทัด b + } +} +console.log(Car.speed); // 100 +let carObj = new Car(); +console.log(carObj.speed); // 1000 +carObj.drive(); // Driving speed: 100 +``` + +### เมธอดสแตติก + +```js +class Car { + constructor (speed) { // ห้ามมีคำว่า static นำหน้าคอนสตัคเตอร์ + this.speed = speed; + } + drive() { + console.log(“Driving speed:”, this.speed); + } + static stop() { // เมธอดสแตติก + console.log(“Stop this car”); + } +} +// เมธอดสแตติก +Car.stop(); // “Stop this car” +let carObj = new Car(100); +carObj.drive(); // “Driving speed: 100” +console.log(typeof carObj.stop); // undefined +``` + +```js +class Car { + static constructor () { // จะกลายเป็นเมธอดสแตติกชื่อ constructor + console.log(“constructor function”); + } +} +Car.constructor(); // “constructor function” +``` + +```js +class Car { + static set color(value) { + this.value = value; // จะเสมือนเขียนเป็น Car.value = value + } + static get color() { + return this.value; // จะเสมือนเขียนเป็น return Car.value; + } +} +Car.color = “red”; +console.log(Car.color); // “red” +console.log(Car.value); // “red” +let carObj = new Car(); +console.log(typeof carObj.color); // undefined +``` + +```js +class Car { + constructor (speed) { + this.speed = speed; + } + drive() { + console.log(“Driving speed:”, this.speed); + } + static set color(value) { // เมธอด setter + this.value = value; + } +} +let carObj = new Car(100); +console.log(carObj.value); // undefined +console.log(carObj.speed); // 100 +carObj.drive(); // “Driving speed: 100” +Car.color= “red”; +console.log(Car.value); // “red” +console.log(Car.speed); // undefined +``` + +```js +class Car { + static speed = 100; + static reduce(val) { + // หลีกเลี่ยงใช้ this + // return this.speed / val; + return Car.speed / val; // บรรทัด a + } + static drive() { + // หลีกเลี่ยงใช้ this + console.log(“Driving speed:”, Car.reduce(10) ); // บรรทัด b + } +} +Car.drive(); // “Driving speed: 10” +``` + +```js +class Car { + static speed = 100; + static drive(value) { + console.log(“Driving speed:”, value); + } +} +let carObj = new Car(); +for (let prop in carObj) { + console.log(prop) // จะไม่เข้ามาทำงานในประโยค for +} +``` + +```js +for (let prop in Car) { + console.log(prop) +} +// แสดงผลลัพธ์ +// “speed” +``` + +## การใช้วงเล็บเหลี่ยมในคลาส + +```js +let name1= “speed”; +let name2 = “drive”; +let name3 = “stop”; +let name4 = Symbol(“reduce”); +class Car { + [“constructor”] (speedValue) { // กลายเป็นเมธอดตัวหนึ่ง ไม่ใช่คอนสตรัคเตอร์ + this.speedValue = speedValue; + console.log(“Not a constructor: speed =”, this.speedValue); + } + set [name1](speedValue) { // เมธอด setter + this.speedValue = speedValue; + } + get [name1]() { // เมธอด getter + return this. speedValue; + } + [name2]() { // เมธอดที่ไม่ใช่สแตติก + console.log(“Driving speed:”, this.speedValue); + } + static [name3]() { // เมธอดสแตติก + console.log(“Stop this car”); + } + [name4]() { // ชื่อเมธอดเป็นซิมโบล + console.log(“Reduce speed”); + } + [2+2]() { // ชื่อเมธอดเป็นนิพจน์ 2+2 = 4 + console.log(“Start this car”); + } +} +let carObj = new Car(100); +console.log(carObj.speedValue); // undefined +carObj.constructor(100); // “Not a constructor: speed = 100” +console.log(carObj.speedValue); // 100 +carObj.speed = 60; +console.log(carObj.speed); // 60 +carObj.drive(); // “Driving speed: 60” +Car.stop(); // “Stop this car” +// หรือจะเรียกเมธอดผ่านวงเล็บเหลี่ยมก็ได้ +carObj[name4](); // “Reduce speed” +carObj[3+1](); // “Start this car” +``` + +```js +let speed= “speed”; +let reduce = Symbol(“reduce”); +class Car { + [speed] = 100; + [“drive”] = “Driving this car”; + [reduce] = 1; + [2+2] = 20.5; +} +let carObj = new Car(); +console.log( carObj[speed] ); // 100 +console.log( carObj[“drive”] ); // “Driving this car” +console.log( carObj[reduce] ); // 1 +console.log( carObj[3+1] ); // 20.5 +``` + +## การสืบทอดคลาส + +```js +class Calculation { + constructor (a, b) { + this.a = a; + this.b = b; + } + multiply() { + return this.a * this.b; + } +} +class Division extends Calculation { // บรรทัด a -- Division สืบทอดมาจาก Calculation + constructor (a, b) { + super(a, b); // บรรทัด b -- เรียกใช้คอนสตรัคเตอร์ของ Calculation + // สามารถกำหนดค่าให้กับ this.a และ this.b ที่อยู่ในคลาสแม่ได้โดยตรง + // แต่การทำเช่นนี้จะไม่ปลอดภัย + // this.a = a; // ไม่ควรทำ + // this.b = b; // ไม่ควรทำ + } + divide() { + return this.a / this.b; + } +} +let div = new Division(20,10); +console.log(div.multiply()); // 200 +console.log(div.divide()); // 2 +console.log(div.a, div.b); // 20 10 (ไม่ควรเข้าถึงข้อมูลอินสแตนซ์โดยตรง ด้วยวิธีนี้) +console.log(div instanceof Division); // true +console.log(div instanceof Calculation); // true +console.log(div instanceof Object); // true +``` + +```js +// เบื้องหลังจะมีการทำ prototype chain +console.log(Object.getPrototypeOf(div) === Division.prototype); // true +console.log(Object.getPrototypeOf(Division.prototype) === Calculation.prototype); // true +``` + +```js +function Calculation(a, b) { + this.a = a; + this.b = b; +} +Calculation.prototype.multiply = function() { + return this.a * this.b; +} +function Division (a, b) { + Calculation.call(this, a, b); // เรียกใช้ฟังก์ชั่นคอนสตรัคเตอร์ Calculation +} +Division.prototype = Object.create(Calculation.prototype, { // prototype chain + constructor: { + value: Division, + enumerable: false, + writable: true, + configurable: true + } +}); +Division.prototype.divide = function(){ + return this.a / this.b; +} +let div = new Division(20,10); +console.log(div.multiply()); // 200 +console.log(div.divide()); // 2 +console.log(div.a, div.b); // 20 10 +console.log(div instanceof Division); // true +console.log(div instanceof Calculation); // true +``` + +### คอนสตรัคเตอร์ดีฟอลต์ของคลาสลูก + + +```js +class Calculation { + constructor (a, b) { + this.a = a; + this.b = b; + console.log(“Calculation:”, a , b); + } +} +class Division extends Calculation { + // ไม่มีคอนสตรัคเตอร์ + // แต่จาวาสคริปต์ จะสร้างคอนสตรัคเตอร์ที่เป็นดีฟอลต์มาให้ +} +let div = new Division(100 , 200); // “Calculation: 100 200” +// จะเสมือนมีคอนสตรัคเตอร์ที่เป็นค่าดีฟอลต์มาให้ดังนี้ +/* class Division extends Calculation { + constructor (...args) { + super(...args); + } +} */ +``` + +```js +class Calculation { +} +class Division extends Calculation { +} +``` + +## การสืบทอดคลาสหลายระดับชั้น + +```js +class Calculation { +} +class Division extends Calculation { + constructor() { + // ปราศจาก super(); จะเกิด error + } +} +``` + +```js +class Animal { + constructor(name) { + this.name = name; + console.log(“Animal constructor”); // บรรทัด a + } + showName() { + console.log(“Animal is”, this.name); + } + static sleep() { + console.log(“This animal is sleeping”); + } +} +class Quadruped extends Animal { + constructor(name) { + super(name); + console.log(“Quadruped constructor”); // บรรทัด b + } + showColor() { + console.log(this.name, “is red”); + } +} +class Dog extends Quadruped { + constructor(name) { + super(name); + console.log(“Dog constructor”); // บรรทัด c + } + run() { + console.log(this.name, “is running”); + } +} +let dogObj = new Dog(“Pit bull”); +// คอนสตรัคเตอร์จะทำงานก่อนรันเมธอด ด้วยการแสดงผลลัพธ์ +//”Animal constructor” +//”Quadruped constructor” +//”Dog constructor” +console.log(dogObj instanceof Dog); // true +console.log(dogObj instanceof Quadruped); // true +console.log(dogObj instanceof Animal); // true +console.log(dogObj instanceof Object); // true +dogObj.showName(); // “Animal is Pit bull” +dogObj.showColor(); // “Pit bull is red” +dogObj.run(); // “Pit bull is running” +Dog.sleep(); // “This animal is sleeping” +console.log(typeof dogObj.sleep); // undefined +``` + +## โอเวอร์ไรด์เมธอดของคลาสแม่ + +```js +class Calculation { + constructor (a, b) { + this.a = a; + this.b = b; + } + multiply() { + return this.a * this.b; + } +} +class Multiplying extends Calculation { + constructor (a, b) { + super(a, b); + } + multiply() { // โอเวอร์ไรด์เมธอด multiply() ของคลาสแม่ + return “The result is “ + super.multiply(); + } +} +let m = new Multiplying(20,10); +console.log(m.multiply()); // “The result is 200” +``` + +```js +class Calculation { + constructor (a, b) { + this.a = a; + this.b = b; + } + multiply() { + return this.a * this.b; + } +} +let name = “multiply”; +class Multiplying extends Calculation { + constructor (a, b) { + super(a, b); + } + [name]() { + return “The result is “ + super.multiply(); + // หรือจะเขียนเป็น return “The result is “ + super[name](); + } +} +let m = new Multiplying(20,10); +console.log(m[name]()); // “The result is 200” +console.log(m.multiply()); // “The result is 200” +``` + +```js +class Animal { + constructor (name) { + this.name = name; // บรรทัด a + } + set animalName(name) { + this.name = name; + } + get animalName() { + return this.name; + } +} +class Dog extends Animal { + constructor (name) { + super(name); // บรรทัด b + } + showName() { + console.log(this.name); // “A dog” + console.log(super.name); // undefined + // เข้าถึงพร็อพเพอร์ตี้แอคเซสเซอร์ของคลาสแม่ ผ่านทาง super + super.animalName=”Pit bull dog”; + console.log(super.animalName); // “Pitbull dog” + } +} +let dogObj = new Dog(“A dog”); +dogObj.showName(); +/* แสดงผลลัพธ์เป็น +“A dog” +undefined +“Pit bull dog” */ +``` + +## สืบทอดคลาสแบบนิพจน์ + +```js +function getClass() { + let c = class Calculation { + constructor (a, b) { + this.a = a; + this.b = b; + } + multiply() { + return this.a * this.b; + } // สิ้นสุดการประกาศเมธอด multiply + } // สิ้นสุดการประกาศคลาส Calculation + return c; // รีเทิร์นคลาสออกไป +} +class Multiplying extends getClass() { // สืบทอดคลาสแบบนิพจน์ + constructor (a, b) { + super(a, b); + } +} +let m = new Multiplying(20,10); +console.log(m.multiply()); // 200 +``` + +```js +function Calculation (a,b) { + this.a = a; + this.b = b; +} +Calculation.prototype.multiply = function() { + return this.a * this.b; +}; +class Multiplying extends Calculation { + constructor (a, b) { + super(a, b); + } +} +let m = new Multiplying(20,10); +console.log(m.multiply()); // 200 +``` + +## การสืบทอดคลาสมากกว่า 1 ตัว + +```js +let MultiplyingObj = { + multiply() { + return this.a * this.b; + } +}; +let DivisionObj = { + divide() { + return this.a / this.b; + } +}; +function getClass (...args) { + let merged = function() {}; // ฟังก์ชั่นคอนสตรัคเตอร์ + // เมธอดของ MultiplyingObj กับ DivisionObj จะมารวมอยู่ที่ merged.prototype + Object.assign(merged.prototype, ...args); // บรรทัด a + return merged; // รีเทิร์น merged ซึ่งทำหน้าที่เป็นฟังก์ชั่นคอนสตรัคเตอร์ +} +class MyCalc extends getClass(MultiplyingObj, DivisionObj) { + // สืบทอดมาจาก MultiplyingObj กับ DivisionObj + constructor (a, b) { + super(); + // ไม่สามารถเรียก super(a,b); + this.a = a; + this.b = b; + } +} +let calc = new MyCalc(20,10); +console.log(calc.multiply()); // 200 +console.log(calc.divide()); // 2 +``` + +## สืบทอดคลาสจากที่มีอยู่แล้วในจาวาสคริปต์ + +```js +class ArrayExt extends Array { + get(index){ + return this[index]; + } +} +let array = new ArrayExt(); +array[0] = 1; +array[1] = 2; +console.log(array.get(0)); // 1 +console.log(array.get(1)); // 2 +``` + +```js +class ArrayExt extends Array { + constructor(length){ + super(length); + } +} +let a1 = ArrayExt.of(“one”, “two”, “three”); +console.log(a1 instanceof ArrayExt ); // true +console.log(a1 instanceof Array ); // true +console.log(a1.length); // 3 +let a2 = ArrayExt.from([“one”, “two”, “three”]); +console.log(a2 instanceof ArrayExt ); // true +console.log(a2 instanceof Array ); // true +console.log(a2.length); // 3 +``` + +## คอมโพสิชั่น + +```js +class Calculation { + constructor (a, b) { + this.a = a; + this.b = b; + } + execute() { + return this.a * this.b; + } +} +class Multiplying { + constructor (calcObj) { + if(calcObj instanceof Calculation) { + this.calcObj = calcObj; //บรรทัด a -- อ้างถึงอ็อบเจ็กต์ที่เป็นอินสแตนซ์ของ Calculation + } + } + multiply() { + return “This value is “ + this.calcObj.execute(); // บรรทัด b + } +} +let c1 = new Calculation(10,10); +let m1 = new Multiplying(c1); +console.log(m1.multiply()); // “This value is 100” +let c2 = new Calculation(20,20); +let m2 = new Multiplying(c2); +console.log(m2.multiply()); // “This value is 400” +``` + +## new.target + +```js +class Calculation { + constructor () { + console.log(new.target === Calculation); // true + // new.target คือคลาส Calculation + console.log(new.target); // “class Calculation” + console.log(Calculation); // “class Calculation” + } +} +new Calculation(); +// แสดงผลลัพธ์ +// true +// “class Calculation” (แต่ละจาวาสคริปต์รันไทม์แสดงผลไม่เหมือนกัน) +// “class Calculation” (แต่ละจาวาสคริปต์รันไทม์แสดงผลไม่เหมือนกัน) +``` + +```js +class Calculation { + constructor () { + // ถ้าคลาสลูกเรียกคอนสตรัคเตอร์ของแม่ ค่าของ new.target จะมีค่าเท่ากับ undefined + console.log(“new.target in Calculaton:”, new.target === Calculation); + } +} +class Multiplying extends Calculation { + constructor () { + super(); + console.log(“new.target in Multiplying:”, new.target === Multiplying); + } +} +new Multiplying(); +// แสดงผลลัพธ์ +// “new.target in Calculaton: false” +// “new.target in Multiplying: true” +``` + +## สมาชิกแบบ private + +```js +class Car { + speed = 100; +} +let carObj = new Car(); +carObj.speed = 200 // บรรทัด a -- ไม่ควรเข้าถึง speed โดยตรง +carObj.speed = -10 // บรรทัด b -- ไม่ควรเข้าถึง speed โดยตรง +``` + +### ฟิวด์ที่เป็น private + +```js +class Car { + #speed = 100; // เมื่ออินสแตนซ์ถูกสร้างขึึ้นมา ฟิวด์ #speed จะมีค่าเป็น 100 + /*static { + console.log(#speed in new Car()); // true + }*/ +} +let carObj = new Car(); +console.log(carObj.speed); // undefined +console.log(carObj.#speed); // เกิด error +``` + +```js +class Car { + #speed; // ไม่จำเป็นต้องกำหนดค่าเริ่มต้นก็ได้ + constuctor(){ + this.#speed = 100; // กำหนดค่าให้ทีหลัง + } +} +let carObj = new Car(); // เมื่ออินสแตนซ์ถูกสร้างขึึ้นมา ฟิวด์ #myField จะมีค่าเป็น 100 +``` + +```js +class Car { + constuctor() { + this.speed = 100; // บรรทัด a -- ทำงานได้ปกติ + this.#value = 1; // บรรทัด b -- เกิด error + } +} +``` + +### เมธอดที่เป็น private + +```js +class Car { + #drive() { // บรรทัด a + console.log(“Driving this car”); + } + /*static { + console.log( #drive in new Car()); // true + }*/ +} +let carObj = new Car(); +carObj.#drive(); // เกิด error +``` + +### ฟิวด์สแตติกที่เป็น private + +```js +class Car { + static #speed = 100; + /*static { + console.log( #speed in Car ); // true + }*/ +} +console.log(Car.speed); // undefined +console.log(Car.#speed ); // error +``` + +### เมธอดสแตติกที่เป็น private + +```js +class Car { + static #drive() { + console.log(“Driving this car”); + } + /*static { + console.log( #drive in Car ); // true + }*/ +} +Car.#drive(); // เกิด error +``` + +```js +class Car { + #speedValue; // ไม่จำเป็นต้องประกาศค่าเริ่มต้นก็ได้ + get #speed() { + return this.#speedValue; + } + set #speed(value) { + this.#speedValue = value; + } +} +``` + +```js +class MyClass { + #syncMethod() { } + get #accessor() { } + set #accessor(value) { } + * #syncGenerator() { } + async #asyncMethod() { } + async * #asyncGenerator() { } +} +``` + +```js +class MyClass { + static #syncMethod() { } + static get #accessor() { } + static set #accessor(value) { } + static * #syncGenerator() { } + static async #asyncMethod() { } + static async * #asyncGenerator() { } +} +``` + +### ตัวอย่างการเข้าถึงสมาชิกที่เป็น private + +```js +class Car { + #speed = 100; + drive() { + console.log(“Driving speed:”, this.#speed); // บรรทัด a + } +} +let objCar = new Car(); +objCar.drive(); // “Driving speed: 100” +``` + +```js +class Car { + #getSpeed() { + return 100; + } + drive() { + console.log(“Driving speed:”, this.#getSpeed()); // บรรทัด a + } +} +let objCar = new Car(); +objCar.drive(); // “Driving speed: 100” +``` + +```js +class Car { + #speed ; // บรรทัด a + constructor(speed){ + this.#speed = speed; // บรรทัด b + } + get speed() { + return this.#speed; // บรรทัด c + } + set speed(speed) { + this.#speed = speed; // บรรทัด d + } +} +let objCar = new Car(100); +objCar.speed = 5; +console.log(objCar.speed); // 5 +``` + +```js +class Car { + static #speed = 100; + drive() { + console.log(“Driving speed:”, Car.#speed); // บรรทัด a + } +} +let objCar = new Car(); +objCar.drive(); // Driving speed: 100 +``` + +```js +class Car { + static #getSpeed() { + return 100; + } + drive() { + console.log(“Driving speed:”, Car.#getSpeed()); // บรรทัด a + } +} +let objCar = new Car(); +objCar.drive(); // “Driving speed: 100” +``` + +```js +class Car { + #speed = 10; + speedValue = this.#speed * 10; // บรรทัด a +} +let objCar = new Car(); +console.log(objCar.speedValue); // 100 +``` + +```js +class MyClass { + #myField; + constructor(value) { + this.#myField = value; + } + showValue(inst) { + console.log(“Show value:”, inst.#myField ); + } +} +let inst1 = new MyClass(1); +let inst2 = new MyClass(100); +inst1.showValue(inst2); // “Show value: 100” +``` + +### การสืบทอดสมาชิกที่เป็น private + +```js +class SuperClass { + #superField = 1; +} +class MyClass extends SuperClass { + showMsg() { + console.log(“Result:”, this.#superField); // บรรทัด a -- เกิด error + } +} +``` + +```js +class SuperClass { + #superField = 1; + get superField() { + return this.#superField; + } +} +class MyClass extends SuperClass { + showMsg() { + console.log(“Result:”, super.superField); // บรรทัด a + } +} +let inst = new MyClass(); +inst.showMsg(); // “Result: 1” +``` + +### ข้อควรรู้ชื่อ private ในอินสแตนซ์ + +```js +class Car { + #speed = 100; + color = “red”; + showSpeed() { + console.log( this.#speed ); + } + showColor() { + console.log( this.color ); + } +} +/*let carObj = new Car() +carObj.showSpeed(); // 100 +carObj.showColor(); // “red”*/ +``` + +```js +let Car; +{ // ขอบเขตของคลาส + const speed = Symbol(); + Car = class { + __PrivateElements__ = new Map([ + [speed, 100], + ]); + color = “red” + showSpeed() { + console.log( this.__PrivateElements__.get(speed) ); + } + showColor() { + console.log( this.color ); + } + } +} +``` + +### ชื่อฟิวด์ที่เป็น private เมื่อยู่คนละคลาส จะไม่ชนกัน + +```js +class ClassA { + #myField = 1; +} +class ClassB { + #myField = 100; +} +``` + +```js +class SuperClass { + #myField = 1; // บรรทัด a + get myField() { + return this.#myField; + } +} +class MyClass extends SuperClass { + #myField = 2; // บรรทัด b + showMsg() { + console.log(“Result:”, super.myField + this.#myField); // บรรทัด c + } +} +let inst = new MyClass(); +inst.showMsg(); // “Result: 3” +``` + +### ชื่อที่เป็น private กับ public จะไม่ชนกัน + +```js +class MyClass { + myField; + #myField; + myMethod(){ } + #myMethod(){ } +} +``` + +### ลำดับการสร้างฟิวด์ เมื่อมีการสืบทอด + +```js +class MyClass { + constructor() { + console.log(“MyClass constructor”); // บรรทัด a + } + pubField = console.log(“pubField”); // บรรทัด b + #privateField = console.log(“privateField”); // บรรทัด c +} +new MyClass(); +// แสดงผลลัพธ์ +// “pubField” +// “privateField” +// “MyClass constructor” +``` + +```js +class SuperClass { + superField = console.log(“superField”); // บรรทัด a + constructor() { + console.log(“SuperClass constructor”); // บรรทัด b + } + } +class MyClass extends SuperClass { + myField = console.log(“myField”); // บรรทัด c + constructor() { + super(); + console.log(“MyClass constructor”); // บรรทัด d + } + } +new MyClass(); +// แสดงผลลัพธ์ +// “superField” +// “SuperClass constructor” +// “myField” +// “MyClass constructor” +``` + +```js +class SuperClass { + #superField = console.log(“#superField”); // บรรทัด a + constructor() { + console.log(“SuperClass constructor”); // บรรทัด b + } + } +class MyClass extends SuperClass { + #myField = console.log(“#myField”); // บรรทัด c + constructor() { + super(); + console.log(“MyClass constructor”); // บรรทัด d + } + } +new MyClass(); +// แสดงผลลัพธ์ +// “#superField” +// “SuperClass constructor” +// “#myField” +// “MyClass constructor” +``` + +## บล็อกสแตติก + +```js +class Car { + static { // บรรทัด a + console.log(“Driving this car”); // บรรทัด b + } +} +// แสดงผลลัพธ์ +// “Driving this car” +``` + +```js +class Car { + #speed; + static { + let objCar = new Car(); + objCar.#speed = 100; + } +} +``` + +```js +class Car { + speed=1; + static { + let objCar = new Car(); + objCar.speed = 100; + } +} +``` + +```js +class Car { + static #speed; + static { + Car.#speed = 100; + } +} +``` + +```js +class Car { + static speed; + static { + Car.speed = 100; + } +} +``` + +```js +class Car { + static speed = 100; + static drive() { + console.log(“Driving this car”); + } + static { + console.log(this.speed); // บรรทัด a + this.drive(); // บรรทัด b + } +} +// แสดงผลลัพธ์ +// 100 +// “Driving this car” +``` + +```js +class Car { + static #speed = 100; + static #drive() { + console.log(“Driving this car”); + } + static { + console.log(this.#speed); // บรรทัด a + this.#drive() ; // บรรทัด b + } +} +// แสดงผลลัพธ์ +// 100 +// “Driving this car” +``` + +```js +class Car { + static speed = 100; + static { + console.log(this.speed); // บรรทัด a + console.log(this === Car); // บรรทัด b -- true + } +} +// แสดงผลลัพธ์ +// 100 +// true +``` + +```js +class Car { + static { + console.log(Car.speed); // บรรทัด a -- มองไม่เห็น จะได้เป็น undefined + } + static speed = 100; // บรรทัด b +} +// แสดงผลลัพธ์ +// undefined +``` + +```js +class Car { + static { + console.log(“static”); // บรรทัด a + } + static speed = console.log(“speed”); // บรรทัด b + static color = console.log(“color”); // บรรทัด c +} +// แสดงผลลัพธ์ +// “static” +// “speed” +// “color” +``` + +```js +class MyClass { + static { + console.log(“Line a”); // บรรทัด a + } + static { + console.log(“Line b”); // บรรทัด b + } +} +// แสดงผลลัพธ์ +// “Line a” +// “Line b” +``` + +```js +class MyClass { + static myFiled1 = console.log(“myFiled1”); // บรรทัด a + static { + console.log(“Static line b”); // บรรทัด b + } + static myFiled2 = console.log(“myFiled2”); // บรรทัด c + static { + console.log(“Static line d”); // บรรทัด d + } +} +// แสดงผลลัพธ์ +// “myFiled1” +// “Static line a” +// “myFiled2” +// “Static line d” +``` + +```js +class SuberClass { + static superFiled = console.log(“superFiled”); // บรรทัด a + static { + console.log(“Static line b”); // บรรทัด b + } +} +class MyClass extends SuberClass{ + static myFiled = console.log(“myFiled”); // บรรทัด c + static { + console.log(“Static line d”); // บรรทัด d + } +} +// แสดงผลลัพธ์ +// “superFiled” +// “Static line b” +// “myFiled” +// “Static line d” +``` + +```js +class SuperClass { + static #myFiled = 1; + static showMsg() { + console.log( this.#myFiled); // บรรทัด a + } +} +class MyClass extends SuperClass { + // สืบทอด showMsg() มาด้วย +} +SuperClass.showMsg(); // error +``` + +```js +class SuperClass { + static #myFiled = 1; + static showMsg() { + console.log( SuperClass.#myFiled); // บรรทัด a + } +} +class MyClass extends SuperClass { + // สืบทอด showMsg() มาด้วย +} +SuperClass.showMsg(); // 1 +``` + +## เบื้องหลังสมาชิกของอินสแตนซ์ + +```js +class MyClass { + #privateField = 1 + #privateMethod() { } + get #privateFieldValue() { } + set #privateFieldValue(field) { } + pubField = 2; + publicMethod() { } + get pubFieldValue() { } + set pubFieldValue(field) { } +} +let inst = new MyClass(); +console.log(Object.keys(inst)) // [ ‘pubField’ ] +``` + +```js +class MyClass { + static #privateField = 2 + static #privateMethod() { } + static get #privateFieldValue() { } + static set #privateFieldValue(field) { } + static pubField = 1; // มองเห็นเป็นชื่อคีย์ pubField + static publicMethod() { } + static get pubFieldValue() { } + static set pubFieldValue(field) { } +} +console.log(Object.keys(MyClass)) // [ ‘pubField’ ] +``` + +### การแชร์เมธอดระหว่างอินสแตนซ์ + +```js +class Car { + #drive() {} + stop() { } + static { + let car1 = new Car(); + let car2= new Car(); + console.log( car1.#drive === car2.#drive ); // true -- บรรทัด a + console.log( car1.stop === car2.stop ); // true -- บรรทัด b + } +} +// แสดงผลลัพธ์ +// true +// true +``` + +```js +class Car { + get #speed() { return 100; } + set #speed(value) { } + get color() { return “red”; } + set color(value) { } + static { + let car1 = new Car(); + let car2= new Car(); + console.log( car1.#speed === car2.#speed ); // true -- บรรทัด a + console.log( car1.color === car2.color ); // true -- บรรทัด b + } +} +// แสดงผลลัพธ์ +// true +// true +``` + +```js +class Car { + #drive() { } + static { + let carObj = new Car(); + console.log( #drive in carObj ); // true -- บรรทัด a + console.log( #drive in Car.prototype ); // false -- บรรทัด b + console.log( #drive in Car ); // false + } +} +// แสดงผลลัพธ์ +// true +// false +// false +``` + +```js +class Car { + get #speed() { return 100; } + set #speed(value) { } + static { + let carObj = new Car(); + console.log( #speed in carObj ); // true -- บรรทัด a + console.log( #speed in Car.prototype ); // false -- บรรทัด b + console.log( #speed in Car ); // false + } +} +// แสดงผลลัพธ์ +// true +// false +// false +``` + +```js +class Car { + drive() { } + get speed() { return 100; } + set speed(value) {} +} +let objCar = new Car(); +console.log(objCar.drive == Car.prototype.drive); // true -- บรรทัด a +console.log(objCar.speed == Car.prototype.speed); // true -- บรรทัด b +``` + +## ตรวจสอบสมาชิกที่เป็น private + +```js +class Car { + #speed = 100; + static check(target) { + console.log( #speed in target ); // บรรทัด a + } +} +let objCar = new Car(); +Car.check(objCar); // true +Car.check(Car); // false +``` + +```js +class Car { + #drive() { + console.log(“Driving this car”); + } + static check(target) { + console.log( #drive in target ); // บรรทัด a + } +} +let objCar = new Car(); +Car.check(objCar); // true +Car.check(Car); // false +``` + +```js +class Car { + static #speed = 100; + static check(target) { + console.log( #speed in target ); // บรรทัด a + } +} +let objCar = new Car(); +Car.check(objCar); // false +Car.check(Car); // true +``` + +```js +class Car { + static #drive() { + console.log(“Driving this car”); + } + static check(target) { + console.log( #drive in target ); // บรรทัด a + } +} +let objCar = new Car(); +Car.check(objCar); // false +Car.check(Car); // true +``` + +## แอ็บสแตรคท์คลาส + +```js +class Calculation { + constructor() { + if (new.target === Calculation) { + throw new Error(“Abstract class cannot be instantiated.”) + } + } + execute() { + // ไม่มีซอร์สโค้ด ต้องให้คลาสอื่นมา extends เพื่อไปใช้งานต่อ + } +} +new Calculation(); // จะโยน error ออกมา +``` + +```js +class Multiplying extends Calculation { + constructor (a, b) { + super(); + this.a = a; + this.b = b + } + execute() { + return this.a * this.b; + } +} +let m = new Multiplying(2, 2); +console.log(m.execute()); // 4 +``` + +```js +class Calculation { + constructor (a,b) { + if (new.target === Calculation) { + throw new Error(“Abstract class cannot be instantiated.”) + } + this.a = a; + this.b = b + } + execute() { } // เมธอดเปล่าๆ ยังไม่มีการทำงานอะไร +} +class Multiplying extends Calculation { + constructor (a, b) { + super(a, b); + } + execute() { + return this.a * this.b ; + } +} +class Division extends Calculation { + constructor (a, b) { + super(a, b); + } + execute() { + return this.a / this.b ; + } +} +class Subtraction extends Calculation { + constructor (a, b) { + super(a, b); + } + execute() { + return this.a - this.b ; + } +} +function calc(calcObj) { + if(calcObj instanceof Calculation) { + // ผลการทำงานจะขึ้นอยู่กับอ็อบเจ็กต์ที่ส่งเข้ามา ว่ามันเป็นอะไร + console.log(calcObj.execute()); + } +} +calc(new Multiplying(20,10) ); // 200 +calc(new Division(20,10) ); // 2 +calc(new Subtraction(20,10) ); // 10 +``` \ No newline at end of file diff --git a/examples_book/README.md b/examples_book/README.md index 60de0a3..0d37dac 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -17,7 +17,7 @@ * [บทที่ 11 เทมเพลตสตริง](Chapter11.md) * [บทที่ 12 ซิมโบล --มีแผนปรับปรุงโค้ด](Chapter12.md) * [บทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์](Chapter13.md) -* [บทที่ 14 คลาส --กำลังอัปเดต...](Chapter14.md) +* [บทที่ 14 คลาส](Chapter14.md) * [บทที่ 15 คอลเลคชั่น](Chapter15.md) * [บทที่ 16 อิเทอเรเตอร์ และเจนเนอเรเตอร์](Chapter16.md) * [บทที่ 17 เมต้าโปรแกรมมิ่ง --มีแผนปรับปรุงโค้ด](Chapter17.md) diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 463568f..541964a 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -213,12 +213,12 @@ async function genHTML(fileName){ let files = [ "Chapter03", "Chapter04","Chapter05", "Chapter06", "Chapter08","Chapter09", "Chapter10", "Chapter11", "Chapter12", -"Chapter13","Chapter15", "Chapter16", "Chapter17", "Chapter18"]; +"Chapter13","Chapter14","Chapter15", "Chapter16", "Chapter17", "Chapter18"]; //genHTML("Chapter03"); -genHTML("Chapter04"); +//genHTML("Chapter04"); //genHTML("Chapter05"); //genHTML("Chapter06"); //genHTML("Chapter08"); @@ -227,6 +227,7 @@ genHTML("Chapter04"); //genHTML("Chapter11"); //genHTML("Chapter12"); //genHTML("Chapter13"); +genHTML("Chapter15"); //genHTML("Chapter15"); //genHTML("Chapter16"); //genHTML("Chapter17"); From f91cb9aeed84331f48d7afac3773883146c78ab5 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 8 Aug 2023 15:18:11 +0700 Subject: [PATCH 149/757] no message --- examples_book/Chapter14.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 12f39b7..df1daff 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -306,7 +306,7 @@ var Car = class{}; // บรรทัด 2 -- นิพ /* จะเสมือนเขียนแบบนี้ var Car; let carObj = new Car(); -Car = class{}; */ +Car = class{ }; */ ``` ```js @@ -888,7 +888,7 @@ console.log(calc.divide()); // 2 ```js class ArrayExt extends Array { - get(index){ + get(index) { return this[index]; } } @@ -1010,7 +1010,7 @@ console.log(carObj.#speed); // เกิด error ```js class Car { #speed; // ไม่จำเป็นต้องกำหนดค่าเริ่มต้นก็ได้ - constuctor(){ + constuctor() { this.#speed = 100; // กำหนดค่าให้ทีหลัง } } @@ -1019,7 +1019,7 @@ let carObj = new Car(); // เมื่ออินสแตนซ์ถู ```js class Car { - constuctor() { + constuctor() { this.speed = 100; // บรรทัด a -- ทำงานได้ปกติ this.#value = 1; // บรรทัด b -- เกิด error } @@ -1372,6 +1372,8 @@ class Car { // “Driving this car” ``` +* ตัวอย่าง การใช้สแตติกบล็อกเข้าถึงฟิวด์ของอินสแตนซ์ที่เป็น private + ```js class Car { #speed; @@ -1382,6 +1384,8 @@ class Car { } ``` +* ตัวอย่าง การใช้สแตติกบล็อกเข้าถึงฟิวด์ของอินสแตนซ์ที่เป็น public + ```js class Car { speed=1; @@ -1392,6 +1396,8 @@ class Car { } ``` +* ตัวอย่าง การใช้สแตติกบล็อกเข้าถึงฟิวด์สแตติกของคลาสที่เป็น private + ```js class Car { static #speed; @@ -1401,6 +1407,8 @@ class Car { } ``` +* ตัวอย่าง การใช้สแตติกบล็อกเข้าถึงฟิวด์สแตติกของคลาสที่เป็น public + ```js class Car { static speed; From 3b97705ead7369985f6915c0344698d6909090b2 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 9 Aug 2023 05:28:29 +0700 Subject: [PATCH 150/757] no message --- examples_book/Chapter14.md | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index df1daff..a9ac359 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1104,6 +1104,8 @@ class MyClass { ### ตัวอย่างการเข้าถึงสมาชิกที่เป็น private +* ตัวอย่าง การเข้าถึงฟิวด์ที่เป็น private ภายในอินสแตนซ์ + ```js class Car { #speed = 100; @@ -1115,6 +1117,8 @@ let objCar = new Car(); objCar.drive(); // “Driving speed: 100” ``` +* ตัวอย่าง การเข้าถึงเมธอดที่เป็น private ภายในอินสแตนซ์ + ```js class Car { #getSpeed() { @@ -1128,13 +1132,15 @@ let objCar = new Car(); objCar.drive(); // “Driving speed: 100” ``` +* ตัวอย่าง การเข้าถึงฟิวด์ที่เป็น private จากคอนสตรัคเตอร์ และ getter กับ setter ภายในอินสแตนซ์ + ```js class Car { #speed ; // บรรทัด a - constructor(speed){ + constructor(speed) { this.#speed = speed; // บรรทัด b } - get speed() { + get speed() { return this.#speed; // บรรทัด c } set speed(speed) { @@ -1146,6 +1152,8 @@ objCar.speed = 5; console.log(objCar.speed); // 5 ``` +* ตัวอย่าง การเข้าถึงฟิวด์สแตติกที่เป็น private จากภายในบอดี้ของคลาส + ```js class Car { static #speed = 100; @@ -1157,6 +1165,8 @@ let objCar = new Car(); objCar.drive(); // Driving speed: 100 ``` +* ตัวอย่าง การเข้าถึงเมธอดแตติกที่เป็น private จากภายในบอดี้ของคลาส + ```js class Car { static #getSpeed() { @@ -1170,6 +1180,8 @@ let objCar = new Car(); objCar.drive(); // “Driving speed: 100” ``` +*สรุป สมาชิกใดๆ ที่จะเข้าถึงสมาชิกที่เป็น private ก็ขอให้ประกาศอยู่ภายใต้บอดี้ของคลาสเดียวกันก็สามารถเข้าถึงได้หมดเลย ดังตัวอย่าง + ```js class Car { #speed = 10; @@ -1601,7 +1613,7 @@ console.log(Object.keys(MyClass)) // [ ‘pubField’ ] ```js class Car { - #drive() {} + #drive() { } stop() { } static { let car1 = new Car(); @@ -1723,7 +1735,7 @@ class Car { console.log(“Driving this car”); } static check(target) { - console.log( #drive in target ); // บรรทัด a + console.log( #drive in target ); // บรรทัด a } } let objCar = new Car(); @@ -1736,7 +1748,7 @@ Car.check(Car); // true ```js class Calculation { constructor() { - if (new.target === Calculation) { + if(new.target === Calculation) { throw new Error(“Abstract class cannot be instantiated.”) } } From fb6ff1fcb5dfa49edecfb04884db343e0573d68d Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 9 Aug 2023 05:42:20 +0700 Subject: [PATCH 151/757] no message --- examples_book/Chapter14.md | 446 +++++++++++++++++++------------------ 1 file changed, 227 insertions(+), 219 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index a9ac359..8598de4 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -4,7 +4,7 @@ ```js class Car { -// สมาชิกภายในคลาส + // สมาชิกภายในคลาส } ``` @@ -33,13 +33,21 @@ console.log(car1 === car2); // false ## สมาชิกคลาส +```js +class Car { + constructor(param) { + // ซอร์สโค้ดอื่นๆ + } +} +``` + ```js class Car { constructor(param) { console.log(param); } } -let carObj = new Car(“red”); // “red” +let carObj = new Car("red"); // "red" ``` ## ข้อมูลภายในอินสแตนซ์ @@ -50,8 +58,8 @@ class Car { this.color = param; } } -let carObj = new Car(“red”); -console.log(carObj.color); // “red” (ไม่แนะนำให้เข้าถึงโดยตรงด้วยวิธีนี้) +let carObj = new Car("red"); +console.log(carObj.color); // "red" (ไม่แนะนำให้เข้าถึงโดยตรงด้วยวิธีนี้) ``` ```js @@ -61,31 +69,31 @@ class Car { } } let carObj = new Car(); -carObj.intField(“red”) // this.color ถูกสร้างขึ้นมา -console.log(carObj.color); // “red” (ไม่แนะนำให้เข้าถึงโดยตรงด้วยวิธีนี้) +carObj.intField("red") // this.color ถูกสร้างขึ้นมา +console.log(carObj.color); // "red" (ไม่แนะนำให้เข้าถึงโดยตรงด้วยวิธีนี้) ``` ```js -let c1 = new Car(“red”); -let c2 = new Car(“black”); -let c3 = new Car(“white”); -console.log(c1.color); // “red” -console.log(c2.color); // “black” -console.log(c3.color); // “white” +let c1 = new Car("red"); +let c2 = new Car("black"); +let c3 = new Car("white"); +console.log(c1.color); // "red" +console.log(c2.color); // "black" +console.log(c3.color); // "white" ``` ```js class Car { - color = “red”; // บรรทัด a -- ประกาศฟิวด์ color + color = "red"; // บรรทัด a -- ประกาศฟิวด์ color speed = 100; // บรรทัด b -- ประกาศฟิวด์ speed constructor() { - console.log(this.color); // “red” + console.log(this.color); // "red" console.log(this.speed); // 100 } } new Car(); // แสดงผลลัพธ์ -// “red” +// "red" // 100 ``` @@ -107,15 +115,15 @@ class Car { this.speed = speed; } drive() { - console.log(“Driving speed:”, this.speed); + console.log("Driving speed:", this.speed); } stop() { - console.log(“Stop a car”); + console.log("Stop a car"); } } let carObj = new Car(100); -carObj.drive(); // “Driving speed: 100” -carObj.stop(); // “Stop a car” +carObj.drive(); // "Driving speed: 100" +carObj.stop(); // "Stop a car" ``` ```js @@ -124,14 +132,14 @@ class Car { this.speed = speed; } drive() { - console.log(“Driving speed:”, this.speed); + console.log("Driving speed:", this.speed); } drive() { // เลือกใช้เมธอดตัวนี้ - console.log(“Stop a car”); + console.log("Stop a car"); } } let carObj = new Car(100); -carObj.drive(); // “Stop a car” +carObj.drive(); // "Stop a car" ``` ## เงื่อนไขการประกาศคลาส @@ -167,7 +175,7 @@ for(let c in car) { console.log(c); } // แสดงผลลัพธ์เป็น -// “speed” +// "speed" ``` * ตัวอย่างที่ 4 @@ -189,38 +197,38 @@ class Car { this.speed = speed; } drive() { - console.log(“Driving speed:”, this.speed); + console.log("Driving speed:", this.speed); } } let carObj = new Car(100); -carObj.drive(); // “Driving speed: 100” -console.log(typeof carObj); // “object” +carObj.drive(); // "Driving speed: 100" +console.log(typeof carObj); // "object" console.log(carObj instanceof Car); // true console.log(carObj instanceof Object); // true console.log(carObj.drive === Car.prototype.drive); // true -console.log(typeof Car.prototype.drive); // “function” +console.log(typeof Car.prototype.drive); // "function" // คลาส Car ก็คือฟังก์ชั่นคอนสตรัคเตอร์ที่ชื่อ Car -console.log(typeof Car); // “function” -console.log(Car.name); // “Car” +console.log(typeof Car); // "function" +console.log(Car.name); // "Car" console.log(Car === Car.prototype.constructor); // true -console.log(Car.prototype.constructor.name); // “Car” +console.log(Car.prototype.constructor.name); // "Car" ``` ```js let Car = function() { - “use strict”; + "use strict"; const Car = function(speed) { - if(typeof new.target === “undefined”) { - throw new TypeError(“Cannot call a class as a function”); + if(typeof new.target === "undefined") { + throw new TypeError("Cannot call a class as a function"); } this.speed = speed; }; - Object.defineProperty(Car.prototype, “drive”, { + Object.defineProperty(Car.prototype, "drive", { value: function() { - if(typeof new.target !== “undefined”) { - throw new TypeError(“Method cannot be called with new.”); + if(typeof new.target !== "undefined") { + throw new TypeError("Method cannot be called with new."); } - console.log(“Driving speed:”, this.speed); + console.log("Driving speed:", this.speed); } ,enumerable: false ,writable: true @@ -229,7 +237,7 @@ let Car = function() { return Car; }(); // เทคนิค IIFE let carObj = new Car(100); -carObj.drive(); // “Driving speed: 100” +carObj.drive(); // "Driving speed: 100" ``` ## เพิ่มสมาชิกเข้าไปในคลาสทีหลัง @@ -241,18 +249,18 @@ class Car { } } Car.prototype.drive = function() { // เพิ่มเมธอดเข้าไปทีหลัง - console.log(“Driving speed:”, this.speed); + console.log("Driving speed:", this.speed); }; let car = new Car(100); car.drive(); // แสดงผลลัพธ์ -// “Driving speed: 100” +// "Driving speed: 100" for(let c in car) { console.log(c); } // ประโยค for ...in จะแสดงผลลัพธ์ดังนี้ -// “speed” -// “drive” +// "speed" +// "drive" ``` ```js @@ -261,9 +269,9 @@ class Car { this.speed = speed; } } -Object.defineProperty(Car.prototype, “drive”, { +Object.defineProperty(Car.prototype, "drive", { value: function() { - console.log(“Driving speed:”, this.speed); + console.log("Driving speed:", this.speed); }, enumerable: false, writable: true, @@ -272,12 +280,12 @@ Object.defineProperty(Car.prototype, “drive”, { let car = new Car(100); car.drive(); // แสดงผลลัพธ์ -// “Driving speed: 100” +// "Driving speed: 100" for(let c in car) { console.log(c); } // ประโยค for ...in จะแสดงผลลัพธ์ดังนี้ -// “speed” +// "speed" ``` ## นิพจน์คลาส @@ -286,9 +294,9 @@ for(let c in car) { let Car = class { // คลาสไร้ชื่อ // สมาชิกคลาส }; -console.log(typeof Car); // “function” +console.log(typeof Car); // "function" let carObj = new Car(); -console.log(typeof carObj); // “object” +console.log(typeof carObj); // "object" console.log(carObj instanceof Car); // true ``` @@ -296,7 +304,7 @@ console.log(carObj instanceof Car); // true let Car2 = class Car1 { // สมาชิกคลาส }; -console.log(typeof Car2); // “function” +console.log(typeof Car2); // "function" let carObj = new Car2(); ``` @@ -316,24 +324,24 @@ function myFunction(classExpr) { } myFunction( class { // บรรทัด b -- คลาสไร้ชื่อ drive(speed) { - console.log(“Driving speed:”, speed); + console.log("Driving speed:", speed); } }); // แสดงผลลัพธ์เป็น -// “Driving speed: 100” +// "Driving speed: 100" ``` ```js function myFunction(classExpr) { return class { drive(speed) { - console.log(“Driving speed:”, speed); + console.log("Driving speed:", speed); } } } let Car = myFunction(); let carObj = new Car(); -carObj.drive(100); // “Driving speed: 100” +carObj.drive(100); // "Driving speed: 100" ``` ```js @@ -342,11 +350,11 @@ let carObj = new class { this.speed = speed; } drive() { - console.log(“Driving speed:”, this.speed); + console.log("Driving speed:", this.speed); } }(100); -console.log(typeof carObj); // “object” -carObj.drive(100); // “Driving speed: 100” +console.log(typeof carObj); // "object" +carObj.drive(100); // "Driving speed: 100" ``` ## พร็อพเพอร์ตี้แอคเซสเซอร์ @@ -371,9 +379,9 @@ console.log(carObj.speedValue); // 60 (เข้าถึงได ``` ```js -let desc = Object.getOwnPropertyDescriptor(Car.prototype, “speed”); -console.log(“get” in desc); // true -console.log(“set” in desc); // true +let desc = Object.getOwnPropertyDescriptor(Car.prototype, "speed"); +console.log("get" in desc); // true +console.log("set" in desc); // true console.log(desc.enumerable); // false ``` @@ -384,11 +392,11 @@ console.log(desc.enumerable); // false ```js class Car { static speed = 100; - color = “red”; + color = "red"; } console.log(Car.speed); // 100 let carObj = new Car(); -console.log(carObj.color); // “red” +console.log(carObj.color); // "red" console.log(typeof carObj.speed); // undefined ``` @@ -397,7 +405,7 @@ class Car { static speed = 100; // speed เป็นของคลาส speed = Car.speed * 10; // บรรทัด a -- Car.speed * 10 = 1000 drive() { - console.log(“Driving speed:”, Car.speed); // บรรทัด b + console.log("Driving speed:", Car.speed); // บรรทัด b } } console.log(Car.speed); // 100 @@ -414,26 +422,26 @@ class Car { this.speed = speed; } drive() { - console.log(“Driving speed:”, this.speed); + console.log("Driving speed:", this.speed); } static stop() { // เมธอดสแตติก - console.log(“Stop this car”); + console.log("Stop this car"); } } // เมธอดสแตติก -Car.stop(); // “Stop this car” +Car.stop(); // "Stop this car" let carObj = new Car(100); -carObj.drive(); // “Driving speed: 100” +carObj.drive(); // "Driving speed: 100" console.log(typeof carObj.stop); // undefined ``` ```js class Car { static constructor () { // จะกลายเป็นเมธอดสแตติกชื่อ constructor - console.log(“constructor function”); + console.log("constructor function"); } } -Car.constructor(); // “constructor function” +Car.constructor(); // "constructor function" ``` ```js @@ -445,9 +453,9 @@ class Car { return this.value; // จะเสมือนเขียนเป็น return Car.value; } } -Car.color = “red”; -console.log(Car.color); // “red” -console.log(Car.value); // “red” +Car.color = "red"; +console.log(Car.color); // "red" +console.log(Car.value); // "red" let carObj = new Car(); console.log(typeof carObj.color); // undefined ``` @@ -458,7 +466,7 @@ class Car { this.speed = speed; } drive() { - console.log(“Driving speed:”, this.speed); + console.log("Driving speed:", this.speed); } static set color(value) { // เมธอด setter this.value = value; @@ -467,9 +475,9 @@ class Car { let carObj = new Car(100); console.log(carObj.value); // undefined console.log(carObj.speed); // 100 -carObj.drive(); // “Driving speed: 100” -Car.color= “red”; -console.log(Car.value); // “red” +carObj.drive(); // "Driving speed: 100" +Car.color= "red"; +console.log(Car.value); // "red" console.log(Car.speed); // undefined ``` @@ -483,17 +491,17 @@ class Car { } static drive() { // หลีกเลี่ยงใช้ this - console.log(“Driving speed:”, Car.reduce(10) ); // บรรทัด b + console.log("Driving speed:", Car.reduce(10) ); // บรรทัด b } } -Car.drive(); // “Driving speed: 10” +Car.drive(); // "Driving speed: 10" ``` ```js class Car { static speed = 100; static drive(value) { - console.log(“Driving speed:”, value); + console.log("Driving speed:", value); } } let carObj = new Car(); @@ -507,20 +515,20 @@ for (let prop in Car) { console.log(prop) } // แสดงผลลัพธ์ -// “speed” +// "speed" ``` ## การใช้วงเล็บเหลี่ยมในคลาส ```js -let name1= “speed”; -let name2 = “drive”; -let name3 = “stop”; -let name4 = Symbol(“reduce”); +let name1= "speed"; +let name2 = "drive"; +let name3 = "stop"; +let name4 = Symbol("reduce"); class Car { - [“constructor”] (speedValue) { // กลายเป็นเมธอดตัวหนึ่ง ไม่ใช่คอนสตรัคเตอร์ + ["constructor"] (speedValue) { // กลายเป็นเมธอดตัวหนึ่ง ไม่ใช่คอนสตรัคเตอร์ this.speedValue = speedValue; - console.log(“Not a constructor: speed =”, this.speedValue); + console.log("Not a constructor: speed =", this.speedValue); } set [name1](speedValue) { // เมธอด setter this.speedValue = speedValue; @@ -529,43 +537,43 @@ class Car { return this. speedValue; } [name2]() { // เมธอดที่ไม่ใช่สแตติก - console.log(“Driving speed:”, this.speedValue); + console.log("Driving speed:", this.speedValue); } static [name3]() { // เมธอดสแตติก - console.log(“Stop this car”); + console.log("Stop this car"); } [name4]() { // ชื่อเมธอดเป็นซิมโบล - console.log(“Reduce speed”); + console.log("Reduce speed"); } [2+2]() { // ชื่อเมธอดเป็นนิพจน์ 2+2 = 4 - console.log(“Start this car”); + console.log("Start this car"); } } let carObj = new Car(100); console.log(carObj.speedValue); // undefined -carObj.constructor(100); // “Not a constructor: speed = 100” +carObj.constructor(100); // "Not a constructor: speed = 100" console.log(carObj.speedValue); // 100 carObj.speed = 60; console.log(carObj.speed); // 60 -carObj.drive(); // “Driving speed: 60” -Car.stop(); // “Stop this car” +carObj.drive(); // "Driving speed: 60" +Car.stop(); // "Stop this car" // หรือจะเรียกเมธอดผ่านวงเล็บเหลี่ยมก็ได้ -carObj[name4](); // “Reduce speed” -carObj[3+1](); // “Start this car” +carObj[name4](); // "Reduce speed" +carObj[3+1](); // "Start this car" ``` ```js -let speed= “speed”; -let reduce = Symbol(“reduce”); +let speed= "speed"; +let reduce = Symbol("reduce"); class Car { [speed] = 100; - [“drive”] = “Driving this car”; + ["drive"] = "Driving this car"; [reduce] = 1; [2+2] = 20.5; } let carObj = new Car(); console.log( carObj[speed] ); // 100 -console.log( carObj[“drive”] ); // “Driving this car” +console.log( carObj["drive"] ); // "Driving this car" console.log( carObj[reduce] ); // 1 console.log( carObj[3+1] ); // 20.5 ``` @@ -647,14 +655,14 @@ class Calculation { constructor (a, b) { this.a = a; this.b = b; - console.log(“Calculation:”, a , b); + console.log("Calculation:", a , b); } } class Division extends Calculation { // ไม่มีคอนสตรัคเตอร์ // แต่จาวาสคริปต์ จะสร้างคอนสตรัคเตอร์ที่เป็นดีฟอลต์มาให้ } -let div = new Division(100 , 200); // “Calculation: 100 200” +let div = new Division(100 , 200); // "Calculation: 100 200" // จะเสมือนมีคอนสตรัคเตอร์ที่เป็นค่าดีฟอลต์มาให้ดังนี้ /* class Division extends Calculation { constructor (...args) { @@ -686,46 +694,46 @@ class Division extends Calculation { class Animal { constructor(name) { this.name = name; - console.log(“Animal constructor”); // บรรทัด a + console.log("Animal constructor"); // บรรทัด a } showName() { - console.log(“Animal is”, this.name); + console.log("Animal is", this.name); } static sleep() { - console.log(“This animal is sleeping”); + console.log("This animal is sleeping"); } } class Quadruped extends Animal { constructor(name) { super(name); - console.log(“Quadruped constructor”); // บรรทัด b + console.log("Quadruped constructor"); // บรรทัด b } showColor() { - console.log(this.name, “is red”); + console.log(this.name, "is red"); } } class Dog extends Quadruped { constructor(name) { super(name); - console.log(“Dog constructor”); // บรรทัด c + console.log("Dog constructor"); // บรรทัด c } run() { - console.log(this.name, “is running”); + console.log(this.name, "is running"); } } -let dogObj = new Dog(“Pit bull”); +let dogObj = new Dog("Pit bull"); // คอนสตรัคเตอร์จะทำงานก่อนรันเมธอด ด้วยการแสดงผลลัพธ์ -//”Animal constructor” -//”Quadruped constructor” -//”Dog constructor” +//"Animal constructor" +//"Quadruped constructor" +//"Dog constructor" console.log(dogObj instanceof Dog); // true console.log(dogObj instanceof Quadruped); // true console.log(dogObj instanceof Animal); // true console.log(dogObj instanceof Object); // true -dogObj.showName(); // “Animal is Pit bull” -dogObj.showColor(); // “Pit bull is red” -dogObj.run(); // “Pit bull is running” -Dog.sleep(); // “This animal is sleeping” +dogObj.showName(); // "Animal is Pit bull" +dogObj.showColor(); // "Pit bull is red" +dogObj.run(); // "Pit bull is running" +Dog.sleep(); // "This animal is sleeping" console.log(typeof dogObj.sleep); // undefined ``` @@ -746,11 +754,11 @@ class Multiplying extends Calculation { super(a, b); } multiply() { // โอเวอร์ไรด์เมธอด multiply() ของคลาสแม่ - return “The result is “ + super.multiply(); + return "The result is " + super.multiply(); } } let m = new Multiplying(20,10); -console.log(m.multiply()); // “The result is 200” +console.log(m.multiply()); // "The result is 200" ``` ```js @@ -763,19 +771,19 @@ class Calculation { return this.a * this.b; } } -let name = “multiply”; +let name = "multiply"; class Multiplying extends Calculation { constructor (a, b) { super(a, b); } [name]() { - return “The result is “ + super.multiply(); - // หรือจะเขียนเป็น return “The result is “ + super[name](); + return "The result is " + super.multiply(); + // หรือจะเขียนเป็น return "The result is " + super[name](); } } let m = new Multiplying(20,10); -console.log(m[name]()); // “The result is 200” -console.log(m.multiply()); // “The result is 200” +console.log(m[name]()); // "The result is 200" +console.log(m.multiply()); // "The result is 200" ``` ```js @@ -795,19 +803,19 @@ class Dog extends Animal { super(name); // บรรทัด b } showName() { - console.log(this.name); // “A dog” + console.log(this.name); // "A dog" console.log(super.name); // undefined // เข้าถึงพร็อพเพอร์ตี้แอคเซสเซอร์ของคลาสแม่ ผ่านทาง super - super.animalName=”Pit bull dog”; - console.log(super.animalName); // “Pitbull dog” + super.animalName="Pit bull dog"; + console.log(super.animalName); // "Pitbull dog" } } -let dogObj = new Dog(“A dog”); +let dogObj = new Dog("A dog"); dogObj.showName(); /* แสดงผลลัพธ์เป็น -“A dog” +"A dog" undefined -“Pit bull dog” */ +"Pit bull dog" */ ``` ## สืบทอดคลาสแบบนิพจน์ @@ -905,11 +913,11 @@ class ArrayExt extends Array { super(length); } } -let a1 = ArrayExt.of(“one”, “two”, “three”); +let a1 = ArrayExt.of("one", "two", "three"); console.log(a1 instanceof ArrayExt ); // true console.log(a1 instanceof Array ); // true console.log(a1.length); // 3 -let a2 = ArrayExt.from([“one”, “two”, “three”]); +let a2 = ArrayExt.from(["one", "two", "three"]); console.log(a2 instanceof ArrayExt ); // true console.log(a2 instanceof Array ); // true console.log(a2.length); // 3 @@ -934,15 +942,15 @@ class Multiplying { } } multiply() { - return “This value is “ + this.calcObj.execute(); // บรรทัด b + return "This value is " + this.calcObj.execute(); // บรรทัด b } } let c1 = new Calculation(10,10); let m1 = new Multiplying(c1); -console.log(m1.multiply()); // “This value is 100” +console.log(m1.multiply()); // "This value is 100" let c2 = new Calculation(20,20); let m2 = new Multiplying(c2); -console.log(m2.multiply()); // “This value is 400” +console.log(m2.multiply()); // "This value is 400" ``` ## new.target @@ -952,34 +960,34 @@ class Calculation { constructor () { console.log(new.target === Calculation); // true // new.target คือคลาส Calculation - console.log(new.target); // “class Calculation” - console.log(Calculation); // “class Calculation” + console.log(new.target); // "class Calculation" + console.log(Calculation); // "class Calculation" } } new Calculation(); // แสดงผลลัพธ์ // true -// “class Calculation” (แต่ละจาวาสคริปต์รันไทม์แสดงผลไม่เหมือนกัน) -// “class Calculation” (แต่ละจาวาสคริปต์รันไทม์แสดงผลไม่เหมือนกัน) +// "class Calculation" (แต่ละจาวาสคริปต์รันไทม์แสดงผลไม่เหมือนกัน) +// "class Calculation" (แต่ละจาวาสคริปต์รันไทม์แสดงผลไม่เหมือนกัน) ``` ```js class Calculation { constructor () { // ถ้าคลาสลูกเรียกคอนสตรัคเตอร์ของแม่ ค่าของ new.target จะมีค่าเท่ากับ undefined - console.log(“new.target in Calculaton:”, new.target === Calculation); + console.log("new.target in Calculaton:", new.target === Calculation); } } class Multiplying extends Calculation { constructor () { super(); - console.log(“new.target in Multiplying:”, new.target === Multiplying); + console.log("new.target in Multiplying:", new.target === Multiplying); } } new Multiplying(); // แสดงผลลัพธ์ -// “new.target in Calculaton: false” -// “new.target in Multiplying: true” +// "new.target in Calculaton: false" +// "new.target in Multiplying: true" ``` ## สมาชิกแบบ private @@ -1031,7 +1039,7 @@ class Car { ```js class Car { #drive() { // บรรทัด a - console.log(“Driving this car”); + console.log("Driving this car"); } /*static { console.log( #drive in new Car()); // true @@ -1059,7 +1067,7 @@ console.log(Car.#speed ); // error ```js class Car { static #drive() { - console.log(“Driving this car”); + console.log("Driving this car"); } /*static { console.log( #drive in Car ); // true @@ -1110,11 +1118,11 @@ class MyClass { class Car { #speed = 100; drive() { - console.log(“Driving speed:”, this.#speed); // บรรทัด a + console.log("Driving speed:", this.#speed); // บรรทัด a } } let objCar = new Car(); -objCar.drive(); // “Driving speed: 100” +objCar.drive(); // "Driving speed: 100" ``` * ตัวอย่าง การเข้าถึงเมธอดที่เป็น private ภายในอินสแตนซ์ @@ -1125,11 +1133,11 @@ class Car { return 100; } drive() { - console.log(“Driving speed:”, this.#getSpeed()); // บรรทัด a + console.log("Driving speed:", this.#getSpeed()); // บรรทัด a } } let objCar = new Car(); -objCar.drive(); // “Driving speed: 100” +objCar.drive(); // "Driving speed: 100" ``` * ตัวอย่าง การเข้าถึงฟิวด์ที่เป็น private จากคอนสตรัคเตอร์ และ getter กับ setter ภายในอินสแตนซ์ @@ -1158,7 +1166,7 @@ console.log(objCar.speed); // 5 class Car { static #speed = 100; drive() { - console.log(“Driving speed:”, Car.#speed); // บรรทัด a + console.log("Driving speed:", Car.#speed); // บรรทัด a } } let objCar = new Car(); @@ -1173,11 +1181,11 @@ class Car { return 100; } drive() { - console.log(“Driving speed:”, Car.#getSpeed()); // บรรทัด a + console.log("Driving speed:", Car.#getSpeed()); // บรรทัด a } } let objCar = new Car(); -objCar.drive(); // “Driving speed: 100” +objCar.drive(); // "Driving speed: 100" ``` *สรุป สมาชิกใดๆ ที่จะเข้าถึงสมาชิกที่เป็น private ก็ขอให้ประกาศอยู่ภายใต้บอดี้ของคลาสเดียวกันก็สามารถเข้าถึงได้หมดเลย ดังตัวอย่าง @@ -1198,12 +1206,12 @@ class MyClass { this.#myField = value; } showValue(inst) { - console.log(“Show value:”, inst.#myField ); + console.log("Show value:", inst.#myField ); } } let inst1 = new MyClass(1); let inst2 = new MyClass(100); -inst1.showValue(inst2); // “Show value: 100” +inst1.showValue(inst2); // "Show value: 100" ``` ### การสืบทอดสมาชิกที่เป็น private @@ -1214,7 +1222,7 @@ class SuperClass { } class MyClass extends SuperClass { showMsg() { - console.log(“Result:”, this.#superField); // บรรทัด a -- เกิด error + console.log("Result:", this.#superField); // บรรทัด a -- เกิด error } } ``` @@ -1228,11 +1236,11 @@ class SuperClass { } class MyClass extends SuperClass { showMsg() { - console.log(“Result:”, super.superField); // บรรทัด a + console.log("Result:", super.superField); // บรรทัด a } } let inst = new MyClass(); -inst.showMsg(); // “Result: 1” +inst.showMsg(); // "Result: 1" ``` ### ข้อควรรู้ชื่อ private ในอินสแตนซ์ @@ -1240,7 +1248,7 @@ inst.showMsg(); // “Resu ```js class Car { #speed = 100; - color = “red”; + color = "red"; showSpeed() { console.log( this.#speed ); } @@ -1250,7 +1258,7 @@ class Car { } /*let carObj = new Car() carObj.showSpeed(); // 100 -carObj.showColor(); // “red”*/ +carObj.showColor(); // "red"*/ ``` ```js @@ -1261,7 +1269,7 @@ let Car; __PrivateElements__ = new Map([ [speed, 100], ]); - color = “red” + color = "red" showSpeed() { console.log( this.__PrivateElements__.get(speed) ); } @@ -1293,11 +1301,11 @@ class SuperClass { class MyClass extends SuperClass { #myField = 2; // บรรทัด b showMsg() { - console.log(“Result:”, super.myField + this.#myField); // บรรทัด c + console.log("Result:", super.myField + this.#myField); // บรรทัด c } } let inst = new MyClass(); -inst.showMsg(); // “Result: 3” +inst.showMsg(); // "Result: 3" ``` ### ชื่อที่เป็น private กับ public จะไม่ชนกัน @@ -1316,60 +1324,60 @@ class MyClass { ```js class MyClass { constructor() { - console.log(“MyClass constructor”); // บรรทัด a + console.log("MyClass constructor"); // บรรทัด a } - pubField = console.log(“pubField”); // บรรทัด b - #privateField = console.log(“privateField”); // บรรทัด c + pubField = console.log("pubField"); // บรรทัด b + #privateField = console.log("privateField"); // บรรทัด c } new MyClass(); // แสดงผลลัพธ์ -// “pubField” -// “privateField” -// “MyClass constructor” +// "pubField" +// "privateField" +// "MyClass constructor" ``` ```js class SuperClass { - superField = console.log(“superField”); // บรรทัด a + superField = console.log("superField"); // บรรทัด a constructor() { - console.log(“SuperClass constructor”); // บรรทัด b + console.log("SuperClass constructor"); // บรรทัด b } } class MyClass extends SuperClass { - myField = console.log(“myField”); // บรรทัด c + myField = console.log("myField"); // บรรทัด c constructor() { super(); - console.log(“MyClass constructor”); // บรรทัด d + console.log("MyClass constructor"); // บรรทัด d } } new MyClass(); // แสดงผลลัพธ์ -// “superField” -// “SuperClass constructor” -// “myField” -// “MyClass constructor” +// "superField" +// "SuperClass constructor" +// "myField" +// "MyClass constructor" ``` ```js class SuperClass { - #superField = console.log(“#superField”); // บรรทัด a + #superField = console.log("#superField"); // บรรทัด a constructor() { - console.log(“SuperClass constructor”); // บรรทัด b + console.log("SuperClass constructor"); // บรรทัด b } } class MyClass extends SuperClass { - #myField = console.log(“#myField”); // บรรทัด c + #myField = console.log("#myField"); // บรรทัด c constructor() { super(); - console.log(“MyClass constructor”); // บรรทัด d + console.log("MyClass constructor"); // บรรทัด d } } new MyClass(); // แสดงผลลัพธ์ -// “#superField” -// “SuperClass constructor” -// “#myField” -// “MyClass constructor” +// "#superField" +// "SuperClass constructor" +// "#myField" +// "MyClass constructor" ``` ## บล็อกสแตติก @@ -1377,11 +1385,11 @@ new MyClass(); ```js class Car { static { // บรรทัด a - console.log(“Driving this car”); // บรรทัด b + console.log("Driving this car"); // บรรทัด b } } // แสดงผลลัพธ์ -// “Driving this car” +// "Driving this car" ``` * ตัวอย่าง การใช้สแตติกบล็อกเข้าถึงฟิวด์ของอินสแตนซ์ที่เป็น private @@ -1434,7 +1442,7 @@ class Car { class Car { static speed = 100; static drive() { - console.log(“Driving this car”); + console.log("Driving this car"); } static { console.log(this.speed); // บรรทัด a @@ -1443,14 +1451,14 @@ class Car { } // แสดงผลลัพธ์ // 100 -// “Driving this car” +// "Driving this car" ``` ```js class Car { static #speed = 100; static #drive() { - console.log(“Driving this car”); + console.log("Driving this car"); } static { console.log(this.#speed); // บรรทัด a @@ -1459,7 +1467,7 @@ class Car { } // แสดงผลลัพธ์ // 100 -// “Driving this car” +// "Driving this car" ``` ```js @@ -1489,67 +1497,67 @@ class Car { ```js class Car { static { - console.log(“static”); // บรรทัด a + console.log("static"); // บรรทัด a } - static speed = console.log(“speed”); // บรรทัด b - static color = console.log(“color”); // บรรทัด c + static speed = console.log("speed"); // บรรทัด b + static color = console.log("color"); // บรรทัด c } // แสดงผลลัพธ์ -// “static” -// “speed” -// “color” +// "static" +// "speed" +// "color" ``` ```js class MyClass { static { - console.log(“Line a”); // บรรทัด a + console.log("Line a"); // บรรทัด a } static { - console.log(“Line b”); // บรรทัด b + console.log("Line b"); // บรรทัด b } } // แสดงผลลัพธ์ -// “Line a” -// “Line b” +// "Line a" +// "Line b" ``` ```js class MyClass { - static myFiled1 = console.log(“myFiled1”); // บรรทัด a + static myFiled1 = console.log("myFiled1"); // บรรทัด a static { - console.log(“Static line b”); // บรรทัด b + console.log("Static line b"); // บรรทัด b } - static myFiled2 = console.log(“myFiled2”); // บรรทัด c + static myFiled2 = console.log("myFiled2"); // บรรทัด c static { - console.log(“Static line d”); // บรรทัด d + console.log("Static line d"); // บรรทัด d } } // แสดงผลลัพธ์ -// “myFiled1” -// “Static line a” -// “myFiled2” -// “Static line d” +// "myFiled1" +// "Static line a" +// "myFiled2" +// "Static line d" ``` ```js class SuberClass { - static superFiled = console.log(“superFiled”); // บรรทัด a + static superFiled = console.log("superFiled"); // บรรทัด a static { - console.log(“Static line b”); // บรรทัด b + console.log("Static line b"); // บรรทัด b } } class MyClass extends SuberClass{ - static myFiled = console.log(“myFiled”); // บรรทัด c + static myFiled = console.log("myFiled"); // บรรทัด c static { - console.log(“Static line d”); // บรรทัด d + console.log("Static line d"); // บรรทัด d } } // แสดงผลลัพธ์ -// “superFiled” -// “Static line b” -// “myFiled” -// “Static line d” +// "superFiled" +// "Static line b" +// "myFiled" +// "Static line d" ``` ```js @@ -1631,7 +1639,7 @@ class Car { class Car { get #speed() { return 100; } set #speed(value) { } - get color() { return “red”; } + get color() { return "red"; } set color(value) { } static { let car1 = new Car(); @@ -1706,7 +1714,7 @@ Car.check(Car); // false ```js class Car { #drive() { - console.log(“Driving this car”); + console.log("Driving this car"); } static check(target) { console.log( #drive in target ); // บรรทัด a @@ -1732,7 +1740,7 @@ Car.check(Car); // true ```js class Car { static #drive() { - console.log(“Driving this car”); + console.log("Driving this car"); } static check(target) { console.log( #drive in target ); // บรรทัด a @@ -1749,7 +1757,7 @@ Car.check(Car); // true class Calculation { constructor() { if(new.target === Calculation) { - throw new Error(“Abstract class cannot be instantiated.”) + throw new Error("Abstract class cannot be instantiated.") } } execute() { @@ -1778,7 +1786,7 @@ console.log(m.execute()); // 4 class Calculation { constructor (a,b) { if (new.target === Calculation) { - throw new Error(“Abstract class cannot be instantiated.”) + throw new Error("Abstract class cannot be instantiated.") } this.a = a; this.b = b From 88e0ffd279c44f513bfe35322f6c8f5eb5ad0b7e Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 9 Aug 2023 05:42:51 +0700 Subject: [PATCH 152/757] no message --- examples_book/Chapter14.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 8598de4..6025043 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -33,6 +33,8 @@ console.log(car1 === car2); // false ## สมาชิกคลาส +### คอนสตรัคเตอร์ + ```js class Car { constructor(param) { From 4659b2153e293046cd9d41f706a70cbc19ebdd15 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 9 Aug 2023 14:21:34 +0700 Subject: [PATCH 153/757] no message --- examples_book/Chapter14.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 6025043..a389e2e 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -220,7 +220,7 @@ console.log(Car.prototype.constructor.name); // "Car" let Car = function() { "use strict"; const Car = function(speed) { - if(typeof new.target === "undefined") { + if(typeof new.target === "undefined") { throw new TypeError("Cannot call a class as a function"); } this.speed = speed; @@ -246,7 +246,7 @@ carObj.drive(); // "Driving speed: 100" ```js class Car { - constructor (speed){ + constructor (speed) { this.speed = speed; } } @@ -267,7 +267,7 @@ for(let c in car) { ```js class Car { - constructor (speed){ + constructor (speed) { this.speed = speed; } } @@ -312,7 +312,7 @@ let carObj = new Car2(); ```js let carObj = new Car(); // จะเกิด TypeError ได้ -var Car = class{}; // บรรทัด 2 -- นิพจน์คลาสจะถูกมองเห็นตั้งแต่บรรทัดนี้เป็นต้นไป +var Car = class{ }; // บรรทัด 2 -- นิพจน์คลาสจะถูกมองเห็นตั้งแต่บรรทัดนี้เป็นต้นไป /* จะเสมือนเขียนแบบนี้ var Car; let carObj = new Car(); @@ -611,9 +611,6 @@ console.log(div.a, div.b); // 20 10 (ไม่ควรเข้ console.log(div instanceof Division); // true console.log(div instanceof Calculation); // true console.log(div instanceof Object); // true -``` - -```js // เบื้องหลังจะมีการทำ prototype chain console.log(Object.getPrototypeOf(div) === Division.prototype); // true console.log(Object.getPrototypeOf(Division.prototype) === Calculation.prototype); // true @@ -638,7 +635,7 @@ Division.prototype = Object.create(Calculation.prototype, { // prototype chain configurable: true } }); -Division.prototype.divide = function(){ +Division.prototype.divide = function() { return this.a / this.b; } let div = new Division(20,10); From 3a8be5a912fa293746a90a986893704cf957b94f Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 9 Aug 2023 14:24:21 +0700 Subject: [PATCH 154/757] no message --- examples_book/Chapter14.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index a389e2e..6fd6d2d 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -677,8 +677,6 @@ class Division extends Calculation { } ``` -## การสืบทอดคลาสหลายระดับชั้น - ```js class Calculation { } @@ -689,6 +687,8 @@ class Division extends Calculation { } ``` +## การสืบทอดคลาสหลายระดับชั้น + ```js class Animal { constructor(name) { From ae5d18ff2cc869f73d983b52d72612b59534e339 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 9 Aug 2023 14:33:43 +0700 Subject: [PATCH 155/757] no message --- examples_book/Chapter14.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 6fd6d2d..9e85cf3 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -837,7 +837,7 @@ class Multiplying extends getClass() { // สืบทอดคลาสแบ super(a, b); } } -let m = new Multiplying(20,10); +let m = new Multiplying(20, 10); console.log(m.multiply()); // 200 ``` @@ -854,7 +854,7 @@ class Multiplying extends Calculation { super(a, b); } } -let m = new Multiplying(20,10); +let m = new Multiplying(20, 10); console.log(m.multiply()); // 200 ``` @@ -944,10 +944,10 @@ class Multiplying { return "This value is " + this.calcObj.execute(); // บรรทัด b } } -let c1 = new Calculation(10,10); +let c1 = new Calculation(10, 10); let m1 = new Multiplying(c1); console.log(m1.multiply()); // "This value is 100" -let c2 = new Calculation(20,20); +let c2 = new Calculation(20, 20); let m2 = new Multiplying(c2); console.log(m2.multiply()); // "This value is 400" ``` From cc96440506d71b9d30078e31c2892de03fccf765 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 9 Aug 2023 14:49:43 +0700 Subject: [PATCH 156/757] no message --- examples_book/Chapter14.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 9e85cf3..65a3b43 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -979,8 +979,8 @@ class Calculation { } class Multiplying extends Calculation { constructor () { - super(); - console.log("new.target in Multiplying:", new.target === Multiplying); + super(); + console.log("new.target in Multiplying:", new.target === Multiplying); } } new Multiplying(); From 6a4e1a0179ae5982a0b4adecf4cd4daa4a628df9 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 9 Aug 2023 14:53:14 +0700 Subject: [PATCH 157/757] no message --- examples_book/Chapter14.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 65a3b43..0867628 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -957,10 +957,10 @@ console.log(m2.multiply()); // "This value is 400" ```js class Calculation { constructor () { - console.log(new.target === Calculation); // true - // new.target คือคลาส Calculation - console.log(new.target); // "class Calculation" - console.log(Calculation); // "class Calculation" + console.log(new.target === Calculation); // true + // new.target คือคลาส Calculation + console.log(new.target); // "class Calculation" + console.log(Calculation); // "class Calculation" } } new Calculation(); From fb06acbd3dd6615396893cf4e2e17fb1bdf3796a Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 9 Aug 2023 15:21:00 +0700 Subject: [PATCH 158/757] no message --- examples_book/Chapter14.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 0867628..d645930 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1187,7 +1187,7 @@ let objCar = new Car(); objCar.drive(); // "Driving speed: 100" ``` -*สรุป สมาชิกใดๆ ที่จะเข้าถึงสมาชิกที่เป็น private ก็ขอให้ประกาศอยู่ภายใต้บอดี้ของคลาสเดียวกันก็สามารถเข้าถึงได้หมดเลย ดังตัวอย่าง +* สรุป สมาชิกใดๆ ที่จะเข้าถึงสมาชิกที่เป็น private ก็ขอให้ประกาศอยู่ภายใต้บอดี้ของคลาสเดียวกันก็สามารถเข้าถึงได้หมดเลย ดังตัวอย่าง ```js class Car { @@ -1440,7 +1440,7 @@ class Car { ```js class Car { static speed = 100; - static drive() { + static drive() { console.log("Driving this car"); } static { @@ -1456,7 +1456,7 @@ class Car { ```js class Car { static #speed = 100; - static #drive() { + static #drive() { console.log("Driving this car"); } static { From 8322a6847ebf9616d9494c29d5d39e216799d998 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 9 Aug 2023 15:38:00 +0700 Subject: [PATCH 159/757] no message --- examples_book/Chapter14.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index d645930..1dcc883 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1546,7 +1546,7 @@ class SuberClass { console.log("Static line b"); // บรรทัด b } } -class MyClass extends SuberClass{ +class MyClass extends SuberClass { static myFiled = console.log("myFiled"); // บรรทัด c static { console.log("Static line d"); // บรรทัด d @@ -1689,7 +1689,7 @@ class Car { class Car { drive() { } get speed() { return 100; } - set speed(value) {} + set speed(value) { } } let objCar = new Car(); console.log(objCar.drive == Car.prototype.drive); // true -- บรรทัด a @@ -1698,6 +1698,8 @@ console.log(objCar.speed == Car.prototype.speed); // true -- บรรท ## ตรวจสอบสมาชิกที่เป็น private +* ตัวอย่าง ตรวจสอบฟิวด์ที่เป็น private ด้วยโอเปอเรเตอร์ in + ```js class Car { #speed = 100; @@ -1710,6 +1712,8 @@ Car.check(objCar); // true Car.check(Car); // false ``` +* ตัวอย่าง ตรวจสอบเมธอดที่เป็น private ด้วยโอเปอเรเตอร์ in + ```js class Car { #drive() { @@ -1724,6 +1728,8 @@ Car.check(objCar); // true Car.check(Car); // false ``` +*ตัวอย่าง ตรวจสอบฟิวด์สแตติกที่เป็น private ด้วยโอเปอเรเตอร์ in + ```js class Car { static #speed = 100; @@ -1736,6 +1742,8 @@ Car.check(objCar); // false Car.check(Car); // true ``` +* ตัวอย่าง ตรวจสอบเมธอดสแตติกที่เป็น private ด้วยโอเปอเรเตอร์ in + ```js class Car { static #drive() { @@ -1757,7 +1765,7 @@ class Calculation { constructor() { if(new.target === Calculation) { throw new Error("Abstract class cannot be instantiated.") - } + } } execute() { // ไม่มีซอร์สโค้ด ต้องให้คลาสอื่นมา extends เพื่อไปใช้งานต่อ From 78bd6f6417a28917ad7ab19d526dbe88420b0052 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 9 Aug 2023 15:45:54 +0700 Subject: [PATCH 160/757] no message --- examples_book/Chapter14.md | 6 ++++-- examples_book/md2html.js | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 1dcc883..29cea22 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1789,12 +1789,14 @@ let m = new Multiplying(2, 2); console.log(m.execute()); // 4 ``` +## Polymorphism + ```js class Calculation { - constructor (a,b) { + constructor (a, b) { if (new.target === Calculation) { throw new Error("Abstract class cannot be instantiated.") - } + } this.a = a; this.b = b } diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 541964a..c15f4d0 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -227,7 +227,7 @@ let files = [ "Chapter03", "Chapter04","Chapter05", "Chapter06", //genHTML("Chapter11"); //genHTML("Chapter12"); //genHTML("Chapter13"); -genHTML("Chapter15"); +genHTML("Chapter14"); //genHTML("Chapter15"); //genHTML("Chapter16"); //genHTML("Chapter17"); From 62bceb3b2fde4c8191585121ac8f72aeb7bf5a5e Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 9 Aug 2023 15:54:38 +0700 Subject: [PATCH 161/757] no message --- examples_book/Chapter03.md | 2 +- examples_book/Chapter04.md | 2 +- examples_book/Chapter05.md | 2 +- examples_book/Chapter06.md | 2 +- examples_book/Chapter07.md | 889 +------------------------------------ examples_book/Chapter08.md | 2 +- examples_book/Chapter09.md | 2 +- examples_book/Chapter10.md | 2 +- examples_book/Chapter11.md | 2 +- examples_book/Chapter12.md | 2 +- examples_book/Chapter13.md | 2 +- examples_book/Chapter14.md | 12 +- examples_book/Chapter15.md | 2 +- examples_book/Chapter16.md | 2 +- examples_book/Chapter17.md | 2 +- examples_book/Chapter18.md | 2 +- 16 files changed, 20 insertions(+), 909 deletions(-) diff --git a/examples_book/Chapter03.md b/examples_book/Chapter03.md index 0efac9a..d01f37d 100644 --- a/examples_book/Chapter03.md +++ b/examples_book/Chapter03.md @@ -1,4 +1,4 @@ -# บทที่ 3 รันจาวาสคริปต์อย่างง่าย +# โค้ดบทที่ 3 รันจาวาสคริปต์อย่างง่าย ## จาวาสคริปต์บนเว็บเบราเซอร์ diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 089479f..0e96614 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -1,4 +1,4 @@ -# บทที่ 4 ทบทวนมาตรฐานเก่า +# โค้ดบทที่ 4 ทบทวนมาตรฐานเก่า ## คอมเมนต์ ```js diff --git a/examples_book/Chapter05.md b/examples_book/Chapter05.md index 61e3fa0..43f1338 100644 --- a/examples_book/Chapter05.md +++ b/examples_book/Chapter05.md @@ -1,4 +1,4 @@ -# บทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น +# โค้ดบทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น ## บล็อก diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index fd2f3ea..76167d6 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -1,4 +1,4 @@ -# บทที่ 6 ทบทวนอ็อบเจ็กต์ +# โค้ดบทที่ 6 ทบทวนอ็อบเจ็กต์ ## วิธีสร้างอ็อบเจ็กต์อย่างง่าย diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index d5f92ac..622cb3a 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -1,890 +1,3 @@ +# โค้ดบทที่ 7 -# บทที่ 7 ฟังก์ชั่น -## นิพจน์ฟังก์ชั่น -```js -let f1 = function (){ - // ซอร์สโค้ด -} -const f2 = function (){ - // ซอร์สโค้ด -} -var f3 = function (){ - // ซอร์สโค้ด -} - -f1(); -f2(); -f3(); -``` - -## พารามิเตอร์แบบดีฟอลต์ -```js -function sendMessage(ipaddress, message = "Hello" , callback = function() {}) { -// ถ้าไม่ส่งค่าอากิวเมนต์มาให้พารามิเตอร์ message จะมีค่าเป็น "Hello" -/* ถ้าไม่ส่งค่าอากิวเมนต์มาให้พารามิเตอร์ callback จะได้เป็นฟังก์ชั่นว่างที่ไม่ได้ทำงานอะไรเลย - แต่จะรีเทิร์นค่าเป็น undefined */ -console.log(ipaddress, message, callback() ); -} -``` - -```js -// ใช้ค่าดีฟอลต์ของพารามิเตอร์ message กับ callback -sendMessage("127.0.0.1"); // "127.0.0.1 Hello undefined" -// ใช้ค่าดีฟอลต์ของพารามิเตอร์ callback -sendMessage("127.0.0.1", "Good bye!"); // "127.0.0.1 Good bye! undefined" -// ไม่ได้ใช้ค่าดีฟอลต์อะไรเลย -sendMessage("127.0.0.1", "Good bye!", function() { - return "toDoSomething"; -}); -``` - -```js -function sendMessage(ipaddress, message = "Hello", callback = function() {}) { -console.log(ipaddress, message, callback() ); -} -// จะใช้ค่าดีฟอลต์ของพารามิเตอร์ callback เพียงตัวเดียวเท่านั้น -sendMessage("127.0.0.1", null, undefined); // "127.0.0.1 null undefined" -``` - -## ตำแหน่งการวางพารามิเตอร์แบบดีฟอลต์ -```js -function sendMessage(ipaddress, message = "Hello" , callback) { -console.log(ipaddress, message, typeof callback); -} -``` - -```js -// จะใช้ค่าดีฟอลต์ของพารามิเตอร์ message เพียงตัวเดียวเท่านั้น -sendMessage("127.0.0.1"); // "127.0.0.1 Hello undefined" -```js - -```js -sendMessage("127.0.0.1", "Hello", function() {}); // "127.0.0.1 Hello function" -// พารามิเตอร์ message จะได้ค่าเป็น null -sendMessage("127.0.0.1",null, function() {}); // "127.0.0.1 null function" -// พารามิเตอร์ message จะใช้ค่าดีฟอลต์ -sendMessage("127.0.0.1", undefined, function() {}); // "127.0.0.1 Hello function" -``` - -```js -function sendMessage(ipaddress, callback, message = "Hello") { -console.log(ipaddress, message, typeof callback); -} -sendMessage("127.0.0.1", function() {}); // "127.0.0.1 Hello function" -``` - -## ประโยชน์ของพารามิเตอร์แบบดีฟอลต์ -```js -function sendMessage(ipaddress, message , callback) { -message = message || "Hello"; -callback = callback || function() { return "callback";}; -console.log(ipaddress, message, callback()); -} -// message กับ callback จะใช้ค่าดีฟลอต์ -sendMessage("127.0.0.1"); // "127.0.0.1 Hello callback" -sendMessage("127.0.0.1", 0, null); // "127.0.0.1 Hello callback" -sendMessage("127.0.0.1", NaN, ''); // "127.0.0.1 Hello callback" -``` - -```js -let value = 1; -function getMessage() { - return "My_message_" + (value++); -} -function createCallback() { - return function() { - return "callback"; - }; -} -function sendMessage(message = getMessage(), callback = createCallback() ) { -console.log(message, callback()); -} -sendMessage(); // "My_message_1 callback" -sendMessage(); // "My_message_2 callback" -``` - -```js -function add(value) { - return value + 10; -} - -function calculate(a, b = add(a), c = a * b) { - console.log(a, b, c) ; -} - -calculate(1,1,1); // 1 1 1 -calculate(10); // 10 20 200 -calculate(20); // 20 30 600 -calculate(30); // 30 40 1200 -``` - -## พารามิเตอร์แบบเรสต์ -```js -function iterateItem(item){ - console.log(item); // แสดงค่าอากิวเมนต์ตัวแรกออกมาก่อน - let result = 0; -let len = arguments.length; - for(let i=1; i { -return value; -}; -// เรียกใช้ฟังก์ชั่นได้เหมือนปกติธรรมดา -console.log(arrowFunc(122)); // 122 -``` - -### ตัวอย่าง 2 -```js -// เหมือนในตัวอย่างที่ 1 แต่การเขียนจะสั้นและกระชับกว่า -// ไม่ต้องมีเครื่องหมายปีกกาครอบบอดี้ฟังก์ชั่น รวมทั้งไม่ต้องเขียนประโยคคำสั่ง return -let arrowFunc = value => value; -console.log(arrowFunc(122)); // 122 -/* จะเสมือนเขียนเป็น -let arrowFunc = function(value){ - return value; -};*/ -let arrowFunc2 = value => console.log(value); -arrowFunc2(122); // 122 -/* จะเสมือนเขียนเป็น -let arrowFunc2 = function(value){ - return console.log(value); -};*/ -``` - -### ตัวอย่าง 3 -```js -// ฟังก์ชั่นลูกศรที่ไม่มีการประกาศพารามิเตอร์อะไรเลย -let arrowFunc = () => 122; -console.log(arrowFunc()); // 122 -/* จะเสมือนเขียนเป็น -let arrowFunc = function(){ - return 122; -};*/ -``` - -### ตัวอย่าง 4 -```js -// ฟังก์ชั่นลูกศรที่ไม่มีพารามิเตอร์ และตัวบอดี้ของฟังก์ชั่นก็ว่างเปล่า -let arrowFunc = () => {}; -arrowFunc(); -// จะเสมือนเขียนเป็น -// var arrowFunc = function(){}; -``` - -### ตัวอย่าง 5 -```js -// ใส่เครื่องหมายวงเล็บ เพื่อครอบอ็อบเจ็กต์ที่ถูกรีเทิร์นออกมา -let getFont = () => ( { color: "red", size: 200 } ); -console.log(getFont()); // {color: "red", size: 200} -/* จะเสมือนเขียนเป็น -let getFont = function(){ - return {color: "red", size: 200}; -};*/ -``` - -### ตัวอย่าง 6 -```js -// มีวงเล็บครอบพารามิเตอร์เอาไว้ -let sum = (val1, val2, val3) => val1 + val2 + val3; -console.log(sum(1,2,3)); // 6 -/* จะเสมือนเขียนเป็น -let sum = function(val1, val2, val3){ - return val1 + val2 +val3; -};*/ -``` - -### ตัวอย่าง 7 -```js -// ฟังก์ชั่นลูกศรที่ใช้พารามิเตอร์แบบดีฟอลต์ -let sum = (val1 = 1, val2 = 2, val3 = 3) => val1 + val2 + val3; -console.log(sum()); // 6 -/* จะเสมือนเขียนเป็น -let sum = function(val1 = 1, val2 = 2, val3 = 3){ - return val1 + val2 +val3; -};*/ -``` - - -### ตัวอย่าง 8 -```js -// ฟังก์ชั่นลูกศรที่ใช้พารามิเตอร์แบบเรสต์ -let max = (...value) => Math.max(...value); -console.log(max(1, 2, 3, 6)); // 6 -/* จะเสมือนเขียน -let max = function(...value){ // พารามิเตอร์แบบเรสต์ - return Math.max(...value); // โอเปอเรเตอร์สเปรด -};*/ -``` - - -## ฟังก์ชั่นลูกศรต่างจากฟังก์ชั่นธรรมดาอย่างไร -```js -let arrowFunc = value => value; -console.log(typeof arrowFunc); // "function" -console.log(arrowFunc instanceof Function); // true -``` - - - -```js -let arrowFunc = () => {}; -console.log(arrowFunc.name); // จะแสดงชื่อ "arrowFunc" (ขึ้นอยู่กับจาวาสคริปต์เอ็นจิ้น) -``` - -## อ็อบเจ็กต์ arguments ในฟังก์ชั่นลูกศร -```js -// เขียนแบบฟังก์ชั่นลูกศร -var arrowFunc = () => console.log(arguments); // ไม่สามารถใช้อ็อบเจ็กต์ arguments ได้ -arrowFunc(1, 2, 3); // [] (ถ้าใช้ Traceur กับ Babel ตัว arguments จะเป็นอาร์เรย์ว่าง) -// เขียนแบบฟังก์ชั่นธรรมดา -var arrowFunc2 = function(){ - return console.log(arguments); // ฟังก์ชั่นธรรมดาสามารถใช้อ็อบเจ็กต์ arguments ได้ตามปกติ -}; -arrowFunc2(1, 2, 3); // [1, 2, 3] -``` - -```js -function createArrow(value) { -// ฟังก์ชั่นลูกศรสามารถเรียกใช้ arguments ของฟังก์ชั่น createArrow() - return () => arguments[0]; -} -let arrowFunc = createArrow(1); -console.log(arrowFunc()) // 1 -``` - -## เทคนิคการเขียน IIFE -```js -// เทคนิค IIFE กับฟังก์ชั่นลูกศร -var printItem = ( -(item) => function() { console.log(item); } -)("IIFE"); -printItem(); // "IIFE" -/* จะเสมือนใช้เทคนิค IIFE กับฟังก์ชั่นธรรมดา -var printItem = function(item) { - return function() { console.log(item); }; -}("IIFE"); -printItem(); // "IIFE" -*/ -``` - -## ฟังก์ชั่นคอลแบ็ค -```js -var array = [1, 2, 3, 4]; -array.forEach( (value, index, arr) => arr[index] = value *2 ); -console.log(array); // [2, 4, 6, 8] -/* จะเสมือนใช้ฟังก์ชั่นคอลแบ็คแบบปกติ -var array = [1, 2, 3, 4]; -array.forEach(function(value, index, arr) { - return arr[index] = value * 2; -}); -console.log(array); // [2, 4, 6, 8] -*/ -``` - -## การใช้ this ในฟังก์ชั่นลูกศร -```js - - - - - - - - - - - - - - - -``` - - -```js -let obj ={ - value : "JavaScript" - ,printValue: function(){ - console.log("Message:", this.value); // this จะชี้ไปยังอ็อบเจ็กต์ obj - } - ,handle : function (){ - console.log("Press a button"); - } - ,init : function(){ - let element = document.querySelector("#b1"); // ปุ่ม "Try it" - element.addEventListener("click", function(event){ - this.handle(); // this จะชี้ไปยังอ็อบเจ็กต์ obj - }.bind(this), false); // บรรทัด a -- this จะชี้ไปยังไปอ็อบเจ็กต์ obj - //}.bind(obj), false); // จะใช้บรรทัดนี้ก็ได้ มีความหมายเหมือนกัน - } -}; // สิ้นสุดการประกาศอ็อบเจ็กต์ - -obj.printValue(); // "Message: JavaScript" -obj.init(); -``` - - -```js -let obj ={ - value : "JavaScript" - ,printValue: function(){ - console.log("Message:", this.value); // this จะชี้ไปยังอ็อบเจ็กต์ obj - } - ,handle : function (){ - console.log("Press a button"); - } - ,init : function(){ - let element = document.querySelector("#b1"); // ปุ่ม "Try it" - element.addEventListener("click", (event)=> this.handle()); //this จะชี้ไปยัง obj - } -}; // สิ้นสุดการประกาศอ็อบเจ็กต์ -obj.printValue(); // "Message: JavaScript" -obj.init(); -``` - - -## เมธอด apply(), call() และ bind() -```js -let sum = (val1, val2) => console.log(val1 + val2) ; -sum.apply(null, [5, 5] ); // 10 -sum.call(null, 5, 5); // 10 -let resultSum = sum.bind(null, 5, 5); -resultSum(); // 10 -``` - -```js -let objA = {value: "access objA"}; -let objB = { - value: "access objB" - ,myFunction() { - console.log("this.value in myFunction:", this.value); - // this ในฟังก์ชั่นลูกศร จะเห็นเหมือนกับที่ myFunction() มองเห็น - let arrowFunc = () => console.log("Arrow function:", this.value) ; - - let func = function(){ // this ในฟังก์ชั่นปกติ สามารถเปลี่ยนไปชี้อ็อบเจ็กตัวอื่นได้ - console.log("Normal function:", this.value); - } - arrowFunc.call(objA); // บรรทัด a –- ไม่สามารถเปลี่ยนค่า this ได้ - func.call(objA); // บรรทัด b -- สามารถเปลี่ยนค่า this ให้ชี้ไปยังอ็อบเจ็กต์ objA ได้ - } -} -objB.myFunction(); // บรรทัด c -/*แสดงผลลัพธ์ -"this.value in myFunction: access objB" -"Arrow function: access objB" -"Normal function: access objA" -*/ -objB.myFunction.call(objA); // บรรทัด d -/*แสดงผลลัพธ์ -"this.value in myFunction: access objA" -"Arrow function: access objA" -"Normal function: access objA" -*/ -``` - -## Tail call optimization -```js -function foo(a) { - return a; // บรรทัด a -} -function bar(b) { - let c = b + 100; - return foo(c); // บรรทัด b -} -console.log( bar(30) ); // บรรทัด c แสดงผลลัพธ์เป็น 130 -``` - -## ตำแหน่ง Tail call -### กรณีที่ 1 -```js -function foo() { - bar(); // เรียกฟังก์ชั่นแบบนี้จะไม่ใช่ตำแหน่งสุดท้าย - // ถ้าเขียนเป็น return bar(); จะเป็นการเรียกฟังก์ชั่นในตำแหน่งสุดท้าย -} -``` -จะเสมือนเขียน - -```js -function foo() { - bar(); - return undefined; -} -``` - -### กรณีที่ 2 -```js -function foo() { - return 1+ bar(); // เรียกฟังก์ชั่นแบบนี้จะไม่ใช่ตำแหน่งสุดท้าย -} -``` - -จะเสมือนเขียน - -```js -function foo() { - let result = bar(); - return 1 + result; -} - - -กรณีที่ 3 - -```js -function foo(condition) { - if(condition){ - return bar(); // บรรทัด a -- เรียกฟังก์ชั่นในตำแหน่งสุดท้าย - } else { - bar(); // บรรทัด b -- เรียกฟังก์ชั่นแบบนี้จะไม่ใช่ตำแหน่งสุดท้าย - } - } -``` - -## รีเคอร์ซีพ -```js -function factorial(value) { - if (value <= 0) { - return 1; - } else { - return value * factorial(value-1); // บรรทัด a -- ไม่ใช่การเรียกฟังก์ชั่นในตำแหน่งสุดท้าย - } - } -console.log(factorial(4)); // จะได้ค่าเป็น 24 เพราะ 4! = 4 x 3 x 2 x 1 = 24 -// จะเกิด RangeError เพราะ stack frame โตเกินไป จนใช้หน่วยความจำหมด -console.log(factorial(200000)); -``` - -```js -// ต้องประกาศเพื่อทำ TCO แต่ถ้าเขียนบน Traceur หรือ Babel ซอร์สโค้ดจะเป็นสตริคท์โหมดโดยอัตโนมัติ -"use strict"; -function factorial(value) { - return callFac(1, value); -} -function callFac(temp, val) { - if (val <= 1) { - return temp; - } else { - return callFac(temp * val, val-1); // บรรทัด a -- เรียกฟังก์ชั่นในตำแหน่งสุดท้าย - } -} -console.log(factorial(4)); // 24 -console.log(factorial(200000)); // infinity -``` - - -## นิพจน์อื่นที่เป็น Tail call -### กรณีที่ 1 -```js -let arrowFunc = param => param ? foo() : bar(); -``` - -จะเสมือนเขียน - -```js -let arrowFunc = param => { - if(param){ - return foo(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย -}else{ - return bar(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย -} -}; -``` - - -## กรณีที่ 2 -```js -let arrowFunc = () => (foo(), bar(), zoo()); -``` - -จะเสมือนเขียน - -```js -let arrowFunc = () => { - foo(); -bar(); - return zoo(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย -}; -``` - -## กรณีที่ 3 -```js -let arrowFunc = () => foo() || bar(); -``` - -จะเสมือนเขียน - -```js -let arrowFunc = () => { - let temp = foo(); - if (temp) { - return temp; - } else { - return bar(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย - } -}; -``` - -## กรณีที่ 4 -```js -let arrowFunc = () => foo() && bar(); -``` - - -```js -let arrowFunc = () => { - let temp = foo(); - if (!temp) { - return temp; - } else { - return bar(); // เรียกฟังก์ชั่นในตำแหน่งสุดท้าย - } -}; -``` diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index bef93e2..215da77 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -1,4 +1,4 @@ -# บทที่ 8 ฟีเจอร์ใหม่ของตัวเลข สตริง และ regex +# โค้ดบทที่ 8 ฟีเจอร์ใหม่ของตัวเลข สตริง และ regex ## ตัวเลข ### การแปลงสตริงเป็นตัวเลข diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index ea0cc71..526ebed 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -1,4 +1,4 @@ -# บทที่ 9 การประกาศตัวแปร และการกำหนดค่า +# โค้ดบทที่ 9 การประกาศตัวแปร และการกำหนดค่า ## การประกาศตัวแปรแบบ let diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index f7c9f1c..6a6c6fc 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -1,4 +1,4 @@ -# บทที่ 10 ฟังก์ชั่น +# โค้ดบทที่ 10 ฟังก์ชั่น ## นิพจน์ฟังก์ชั่น diff --git a/examples_book/Chapter11.md b/examples_book/Chapter11.md index de42d90..8b6fe8d 100644 --- a/examples_book/Chapter11.md +++ b/examples_book/Chapter11.md @@ -1,4 +1,4 @@ -# บทที่ 11 เทมเพลตสตริง +# โค้ดบทที่ 11 เทมเพลตสตริง ## เทมเพลตสตริงคืออะไร diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md index 5ecd25c..d1a0505 100644 --- a/examples_book/Chapter12.md +++ b/examples_book/Chapter12.md @@ -1,4 +1,4 @@ -# บทที่ 12 ซิมโบล +# โค้ดบทที่ 12 ซิมโบล ## การใช้งานซิมโบล diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 7a072d0..c6d7cba 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -1,4 +1,4 @@ -# บทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์ +# โค้ดบทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์ ## กำหนดค่าให้พร็อพเพอร์ตี้แบบย่อ diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 29cea22..263e6e8 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1,4 +1,4 @@ -# บทที่ 14 คลาส +# โค้ดบทที่ 14 คลาส ## คลาส @@ -1772,9 +1772,7 @@ class Calculation { } } new Calculation(); // จะโยน error ออกมา -``` -```js class Multiplying extends Calculation { constructor (a, b) { super(); @@ -1828,11 +1826,11 @@ class Subtraction extends Calculation { } function calc(calcObj) { if(calcObj instanceof Calculation) { - // ผลการทำงานจะขึ้นอยู่กับอ็อบเจ็กต์ที่ส่งเข้ามา ว่ามันเป็นอะไร + // ผลการทำงานจะขึ้นอยู่กับอ็อบเจ็กต์ที่ส่งเข้ามา ว่ามันเป็นอะไร console.log(calcObj.execute()); } } -calc(new Multiplying(20,10) ); // 200 -calc(new Division(20,10) ); // 2 -calc(new Subtraction(20,10) ); // 10 +calc(new Multiplying(20, 10) ); // 200 +calc(new Division(20, 10) ); // 2 +calc(new Subtraction(20, 10) ); // 10 ``` \ No newline at end of file diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index b83c738..00d2c90 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -1,4 +1,4 @@ -# บทที่ 15 คอลเลคชั่น +# โค้ดบทที่ 15 คอลเลคชั่น ## อาเรย์ diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 89eb2ab..793b1a8 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -1,4 +1,4 @@ -# บทที่ 16 อิเทอเรเตอร์ และเจนเนอเรเตอร์ +# โค้ดบทที่ 16 อิเทอเรเตอร์ และเจนเนอเรเตอร์ ## อินเทอเรเตอร์ diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index acd715e..d649831 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -1,4 +1,4 @@ -# บทที่ 17 เมต้าโปรแกรมมิ่ง +# โค้ดบทที่ 17 เมต้าโปรแกรมมิ่ง ## เมต้าโปรแกรมมิ่ง diff --git a/examples_book/Chapter18.md b/examples_book/Chapter18.md index ee49fc2..7bc7783 100644 --- a/examples_book/Chapter18.md +++ b/examples_book/Chapter18.md @@ -1,4 +1,4 @@ -# บทที่ 18 พรอมิส +# โค้ดบทที่ 18 พรอมิส ## พรอมิสคืออะไร From 29b784d319867da0292e35a205b4a03725e3151a Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 9 Aug 2023 20:20:25 +0700 Subject: [PATCH 162/757] no message --- examples_book/Chapter19.md | 546 +++++++++++++++++++++++++++++++++++++ examples_book/README.md | 2 +- examples_book/md2html.js | 7 +- 3 files changed, 552 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 8b13789..57a387a 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -1 +1,547 @@ +# โค้ดบทที่ 19 การใช้งาน async กับ await +## ประกาศฟังก์ชั่นด้วย async + +* กรณีที่ฟังก์ชันแบบ async รีเทิร์นพรอมิสที่เป็น fulfilled + +```js +async function asyncFunc() { + return 123; // บรรทัดที่ 2 +} +``` + +```js +function asyncFunc() { // เสมือนเขียนฟังก์ชันปกติธรรมดา + return new Promise( resolve => { // จะรีเทิร์นพรอมิส + resolve(123); // จากประโยค return 123 เสมือนเรียก resolve(123) + }); +} +``` + +```js +async function asyncFunc() { + return 123; // 123 คือค่าที่ส่งไปให้ฟังก์ชั่นคอลแบ็คของ then() +} +asyncFunc() // บรรทัด a +.then(x => console.log(x)); // 123 +``` + +```js +async function asyncFunc() { + console.log(“aysnc function”); + // บรรทัด 3 - จะเสมือนมีประโยค return undefined; +} +``` + +```js +function asyncFunc() { // เสมือนเขียนฟังก์ช่ันปกติธรรมดา + return new Promise( resolve => { // จะรีเทิร์นพรอมิส + console.log(“aysnc function”); // โค้ดถูกห่ออยู่ในพรอมิสที่สร้างขึ้นมา + resolve(undefined); // จะเสมือนมี resolve(undefined) ต่อท้าย + }); +} +``` + +```js +async function asyncFunc() { + console.log(“aysnc function”); + // บรรทัด 3 - จะเสมือนมีประโยค return undefined; +} +asyncFunc() // บรรทัด a -- เรียกฟังก์ชันให้ทำงาน +.then(x => console.log(x)); // undefined +/* แสดงผลลัพธ์ +“aysnc function” +undefined */ +``` + +* กรณีที่ฟังก์ชันแบบ async รีเทิร์นพรอมิสที่เป็น rejected + +```js +async function asyncFunc() { + throw new Error(“Problem!”); // error ที่ส่งไปให้ฟังก์ชั่นคอลแบ็คของ catch +} +``` + +```js +function asyncFunc() { + return new Promise( (resolve,reject) => { + reject( new Error(“Problem!”) ) ; + }); +} +``` + +```js +async function asyncFunc() { + throw new Error(“Problem!”); // error ที่ส่งไปให้ฟังก์ชั่นคอลแบ็คของ catch +} +asyncFunc() +.catch(err => console.log(err)); // Error: Problem! +``` + +```js +async function asyncFunc() { + console.log(“aysnc function()”); // บรรทัด a -- ซิงโครนัส + return 123; // บรรทัด b +} +console.log(“Start”); // บรรทัด c -- ซิงโครนัส +asyncFunc(). // บรรทัด d +then(x => console.log(`Resolved: ${x}`)); // บรรทัด e - อะซิงโครนัส +console.log(“End”); // บรรทัด f - ซิงโครนัส +“Start” +“aysnc function” +“End” +“Resolved: 123” +``` + +* เมื่อฟังก์ชันแบบ async รีเทิร์นพรอมิสออกมาโดยตรง + +```js +async function asyncFunc() { + return Promise.resolve(123); // บรรทัด a -- ส่งพรอมิสที่เป็น fulfilled ออกมา +} +asyncFunc() // บรรทัด b +.then(x => console.log(x)) // 123 +``` + +```js +async function asyncFunc() { + return Promise.reject(new Error(‘Problem!’)); // บรรทัด a ส่งพรอมิสที่เป็น rejected ออกมา +} +asyncFunc() // บรรทัด b +.catch(err => console.error(err)); // Error: Problem! +``` + +* สรุป การรีเทิร์นของฟังก์ชั่นแบบ asyn ก็ใช้หลักเกณฑ์เดียวกันกับการ return ของพรอมิส + +```js +async function asyncFunc() { + return otherAsyncFunc(); +} +``` + +```js +async function asyncFunc() { + return await otherAsyncFunc(); +} +``` + +## การใช้งาน await + +```js +async function asyncFunc() { + let result = await new Promise(resolve => resolve(123)); // บรรทัด a + console.log(result); // บรรทัด b +} +asyncFunc(); // 123 +``` + +```js +async function asyncFunc() { + return new Promise( resolve => resolve(123) ) + .then( result => console.log(result) ); +} +asyncFunc(); // 123 +``` + +```js +async function asyncFunc() { + return await new Promise(resolve => resolve(123)); // return นำหน้า await +} +``` + +```js +async function asyncFunc() { + // เสมือนเขียน + let result = await new Promise(resolve => resolve(123)); // result = 123 + return result; // รีเทิร์นพรอมิส พร้อมส่งค่า result = 123 ออกไป +} +``` + +```js +asyncFunc() +.then( value => console.log(value)) +// แสดงผลลัพธ์ +// 123 +``` + +```js +async function asyncFunc() { + try { + let result = await new Promise((resolve, reject) => reject(“Error!”)); // บรรทัด a + } catch (err) { + console.error(err); // บรรทัด b + } +} +asyncFunc(); // “Error!” +``` + +```js +async function asyncFunc() { + return new Promise((resolve, reject) => reject(“Error!”)) + .catch(err => console.log(err)); +} +asyncFunc(); // “Error!” +``` + +```js +async function otherAsyncFunc(ms) { + return new Promise (resolve => + setTimeout( () => { + console.log(“call otherAsyncFunc”); // บรรทัด a + resolve(“Time out”); // บรรทัด b + } + , 1000) // กำหนดระยะเวลาในการ timeout ไป 1000 ms หรือ 1 วินาที + ); +} +``` + +```js +async function asyncFunc() { + console.log(“Start”); // บรรทัด a + otherAsyncFunc(); // บรรทัด b + console.log(“End”); // บรรทัด c +} +asyncFunc(); +“Start” +“End” +“call otherAsyncFunc” +``` + +```js +async function asyncFunc() { + console.log(“Start”); // บรรทัด a + await otherAsyncFunc(); // บรรทัด b + console.log(“End”); // บรรทัด c +} +asyncFunc(); +“Start” +“call otherAsyncFunc” +“End” +``` + +```js +async function asyncFunc() { + console.log(“Start”); // บรรทัด a + let result = await otherAsyncFunc(); // บรรทัด a + console.log(result); // บรรทัด b +} +“Start” +“call otherAsyncFunc” +“Time out” +``` + +* การใช้ awiat แบบเรียงต่อเนื่องกัน + +```js +async function otherAsyncFunc(ms) { // ส่งค่าอากิวเมนต์เข้ามา + return new Promise ( + resolve => setTimeout( + () => resolve(`Time out: ${ms} ms`, ms ) + ,ms ) // กำหนด timeout หน่วยเป็นมิลลิวินาที (millisecond) + ); +} +``` + +```js +async function asyncFunc() { + let result1 = await otherAsyncFunc(1000); // บรรทัด a -- รอพรอมมิสทำงานก่อน + console.log(result1); + let result2 = await otherAsyncFunc(2000); // บรรทัด b -- รอพรอมมิสทำงานก่อน + console.log(result2); +} +asyncFunc(); // บรรทัด c +/* แสดงผลลัพธ์ +Time out: 1000 ms +Time out: 2000 ms */ +``` + +```js +function asyncFunc() { + return otherAsyncFunc(1000) // ทำงานก่อน + .then(result1 => { + console.log(result1); + return otherAsyncFunc(2000); // ทำงานทีหลัง + }) + .then(result2 => { + console.log(result2); + }); +} +asyncFunc(); // เรียกให้ทำงาน +``` + +* ประยุกต์ใช้งาน await ร่วมกับ Promise.all() เพื่อให้ฟังก์ชันทำงานคู่ขนาน + +```js +async function asyncFunc() { + let [result1, result2] = await Promise.all([ + otherAsyncFunc(1000), // บรรทัด a -- ทำงานคู่ขนานกัน + otherAsyncFunc(2000), // บรรทัด b -- ทำงานคู่ขนานกัน + ]); + console.log(`${result1}, ${result2}`); // บรรทัด c +} +asyncFunc(); // เรียกให้ทำงาน +// Time out: 1000 ms, Time out: 2000 ms +``` + +```js +function asyncFunc() { + return Promise.all([ + otherAsyncFunc(1000), + otherAsyncFunc(2000), + ]) + .then( ([result1, result2]) => { + console.log(`${result1}, ${result2}`); + }); +} +asyncFunc(); // เรียกให้ทำงาน +``` + +* ตัวอย่างเปลี่ยนจากการเรียกเมธอด then() ต่อเนื่อง มาเป็น await จะสะดวกกว่า + +```js +fetch(“https://patanasongsivilai.com/example/json.php”) // บรรทัด a +.then( res => res.text()) // บรรทัด b +.then( txt => console.log(txt) ); // บรรทัด c +console.log(“Hello”); +// แสดงผลลัพธ์ +// “Hello” +// {“name”:”Somchai”,“age”:30,“city”:“Bangkok”} +``` + +```js +let res = await fetch(“https://patanasongsivilai.com/example/json.php”) // บรรทัด a +let txt = await res.text() // บรรทัด b +console.log(txt) // บรรทัด c +console.log(“Hello”); // บรรทัด d +// แสดงผลลัพธ์ +// {“name”:”Somchai”,“age”:30,“city”:“Bangkok”} +// “Hello” +``` + +```js +function myFunc() { // ไม่มี async นำหน้า + let result1 = await otherAsyncFunc(1000); +} +``` + +```js +let result = await Promise.resolve("Success!"); +console.log(result); // “Success!” +``` + +```js +try { + await Promise.reject(“Error!”); +} catch (error) { + console.log(error); // “Error!” +} +``` + +```js +let result = await 123; +console.log(result) // 123 +``` + +```js +async function asyncFunc() { + function innerFunc(){ + return await otherAsyncFunc(1000); // await อยู่ใต้ innerFunc() ไม่ได้ + } + innerFunc() + .then(value => console.log(value)) +} +asyncFunc(); +``` + +```js +async function asyncFunc() { + await function innerFunc() { + return await otherAsyncFunc(1000); // await อยู่ใต้ innerFunc() ได้ + } + innerFunc() + .then(value => console.log(value)) +} +asyncFunc(); // Time out: 1000 ms +``` + +```js +async function foo() { +} +async function foo() { // ประกาศชื่อ foo ซ้ำกันไม่ได้ +} +``` + +## Asynchronous iteration + +```js +let asyncIterable = [1, 5, 10]; +``` + +```js +asyncIterable[Symbol.asyncIterator]=createAsyncIterator; +``` + +```js +function createAsyncIterator() { + let array = this; // ในตัวอย่างนี้ this ชี้ไปยังอาร์เรย์ [1, 5, 10] + let i = 0; // เอาไว้นับจำนวนรอบเข้าถึงสมาชิกในอาร์เรย์ + return { + // ทุกครั้งที่เรียกใช้ next() ค่าของ i จะบวกเพิ่มเป็นหนึ่งทุกครั้ง + next : function() { + return new Promise( (resolve, reject) => { + // เมื่อเข้าถึงสมาชิกในอาร์เรย์ครบทุกตัว done จะมีค่าเป็น true + let done = (i >= array.length); + // เข้าถึงสมาชิกในอาร์เรย์ + let value = !done ? array[i++] : undefined; + // อ็อบเจ็กต์จะมีพร็อพเพอร์ตี้ value กับ done + let iteratorResult = { value, done }; + resolve(iteratorResult); // บรรทัด a + }); // สิ้นสุดการประกาศพรอมิส + } // สิ้นสุดการประกาศฟังก์ชัน next() + }; +} +``` + +```js +let asyncIterator = asyncIterable[Symbol.asyncIterator](); +``` + +```js +asyncIterator.next() // เรียก nex() ครั้งที่ 1 +.then(function(iteratorResult ) { + console.log(iteratorResult); // { value: 1, done: false } + return asyncIterator.next(); // เรียก nex() ครั้งที่ 2 +}) +.then(function(iteratorResult ) { + console.log(iteratorResult); // { value: 5, done: false } + return asyncIterator.next(); // เรียก nex() ครั้งที่ 3 +}) +.then(function(iteratorResult ) { + console.log(iteratorResult); // { value: 10, done: false } + return asyncIterator.next(); // เรียก nex() ครั้งที่ 4 ไม่มีสมาชิกให้เข้าถึง +}) +.then(function(iteratorResult ) { + console.log(iteratorResult); +}) +/* แสดงผลลัพธ์ +{ value: 1, done: false } +{ value: 5, done: false } +{ value: 10, done: false } +{ value: undefined, done: true } +*/ +``` + +```js +let asyncIterator2 = asyncIterable[Symbol.asyncIterator](); +let obj1 = await asyncIterator2.next(); +let obj2 = await asyncIterator2.next(); +let obj3 = await asyncIterator2.next(); +let obj4 = await asyncIterator2.next(); +console.log(obj1); // { value: 1, done: false } +console.log(obj2); // { value: 5, done: false } +console.log(obj3); // { value: 10, done: false } +console.log(obj4); // { value: undefined, done: true } +``` + +## ประโยคคำสั่ง for ...await ...of + +```js +for await (const x of asyncIterable) { + console.log(x); +} +/* แสดงผลลัพธ์ +1 +5 +10 */ +``` + +```js +for await (const x of [1, 2, 3]) { + console.log(x); +} +``` + +```js +let arr = [Promise.resolve(“foo”), Promise.resolve(“bar”)]; +for await (const item of arr) { + console.log(item); +} +/* แสดงผลลัพธ์ +“foo” +“bar” */ +``` + +## Asynchronous generators + + +```js +async function* asynGenerator() { + // ส่วนอินพุต + let x = await myPromise; + for await (const y of asyncIterable) { + // ··· + } + // ส่วนเอาท์พุต + yield someValue; + yield* otherAsyncGen(); +} +``` + +```js +async function* asynGenerator () { + yield 1; // บรรทัด a + yield 2; // บรรทัด b + yield 3; // บรรทัด c + } +let asyncIterable = asynGenerator(); // บรรทัด d +let asyncIterator = asyncIterable[Symbol.asyncIterator](); // บรรทัด e +console.log(await asyncIterator.next()); // { value: 1, done: false } +console.log(await asyncIterator.next()); // { value: 2, done: false } +console.log(await asyncIterator.next()); // { value: 3, done: false } +console.log(await asyncIterator.next()); // { value: undefined, done: true } +``` + +```js +for await(const i of asynGenerator()) { + console.log(i) // บรรทัด a +} +/* แสดงผลลัพธ์ +1 +2 +3 */ +``` + +```js +async function* asynGenerator () { + yield Promise.resolve(1); // บรรทัด a + yield Promise.resolve(2); // บรรทัด b + yield Promise.resolve(3); // บรรทัด c +} +for await(const i of asynGenerator()) { + console.log(i) // บรรทัด d + } +/* แสดงผลลัพธ์ +1 +2 +3 */ +``` + +```js +async function* otherAsynGenerator() { + yield Promise.resolve(2); + yield Promise.resolve(3); +} +async function* asynGenerator() { + yield Promise.resolve(1); + yield *otherAsynGenerator(); // บรรทัด a + yield Promise.resolve(4); // บรรทัด c +} +for await(const i of asynGenerator()) { + console.log(i) + } +/* แสดงผลลัพธ์ +1 +2 +3 +4 */ +``` diff --git a/examples_book/README.md b/examples_book/README.md index 0d37dac..c13bd81 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -22,7 +22,7 @@ * [บทที่ 16 อิเทอเรเตอร์ และเจนเนอเรเตอร์](Chapter16.md) * [บทที่ 17 เมต้าโปรแกรมมิ่ง --มีแผนปรับปรุงโค้ด](Chapter17.md) * [บทที่ 18 พรอมิส](Chapter18.md) -* [บทที่ 19 การใช้งาน async กับ await --กำลังอัปเดต...](Chapter19.md) +* [บทที่ 19 การใช้งาน async กับ await](Chapter19.md) * [บทที่ 20 มอดูล --กำลังอัปเดต...](Chapter20.md) * [ภาคผนวก ข](Appendix_B) diff --git a/examples_book/md2html.js b/examples_book/md2html.js index c15f4d0..899422a 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -213,7 +213,8 @@ async function genHTML(fileName){ let files = [ "Chapter03", "Chapter04","Chapter05", "Chapter06", "Chapter08","Chapter09", "Chapter10", "Chapter11", "Chapter12", -"Chapter13","Chapter14","Chapter15", "Chapter16", "Chapter17", "Chapter18"]; +"Chapter13","Chapter14","Chapter15", "Chapter16", "Chapter17", +"Chapter18","Chapter19"]; @@ -227,11 +228,12 @@ let files = [ "Chapter03", "Chapter04","Chapter05", "Chapter06", //genHTML("Chapter11"); //genHTML("Chapter12"); //genHTML("Chapter13"); -genHTML("Chapter14"); +//genHTML("Chapter14"); //genHTML("Chapter15"); //genHTML("Chapter16"); //genHTML("Chapter17"); //genHTML("Chapter18"); +genHTML("Chapter19"); async function countline(fileName){ @@ -263,3 +265,4 @@ let numLines= []; files.forEach(function(fileName) { countline(fileName); }); + From 9bf88ee149de5be07cfff4d67e67577302188e65 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 11:18:47 +0700 Subject: [PATCH 163/757] no message --- examples_book/Chapter19.md | 1 + 1 file changed, 1 insertion(+) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 57a387a..b2954c0 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -10,6 +10,7 @@ async function asyncFunc() { } ``` +* เสมือนเขียนดังนี้ ```js function asyncFunc() { // เสมือนเขียนฟังก์ชันปกติธรรมดา return new Promise( resolve => { // จะรีเทิร์นพรอมิส From 36bb6204ba30a28265b03a2928158db96930d147 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 11:30:34 +0700 Subject: [PATCH 164/757] no message --- examples_book/Chapter19.md | 96 +++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index b2954c0..58d15a3 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -29,7 +29,7 @@ asyncFunc() // บรรทัด a ```js async function asyncFunc() { - console.log(“aysnc function”); + console.log("aysnc function"); // บรรทัด 3 - จะเสมือนมีประโยค return undefined; } ``` @@ -37,7 +37,7 @@ async function asyncFunc() { ```js function asyncFunc() { // เสมือนเขียนฟังก์ช่ันปกติธรรมดา return new Promise( resolve => { // จะรีเทิร์นพรอมิส - console.log(“aysnc function”); // โค้ดถูกห่ออยู่ในพรอมิสที่สร้างขึ้นมา + console.log("aysnc function"); // โค้ดถูกห่ออยู่ในพรอมิสที่สร้างขึ้นมา resolve(undefined); // จะเสมือนมี resolve(undefined) ต่อท้าย }); } @@ -45,13 +45,13 @@ function asyncFunc() { // เสมือนเขี ```js async function asyncFunc() { - console.log(“aysnc function”); + console.log("aysnc function"); // บรรทัด 3 - จะเสมือนมีประโยค return undefined; } asyncFunc() // บรรทัด a -- เรียกฟังก์ชันให้ทำงาน .then(x => console.log(x)); // undefined /* แสดงผลลัพธ์ -“aysnc function” +"aysnc function" undefined */ ``` @@ -59,21 +59,21 @@ undefined */ ```js async function asyncFunc() { - throw new Error(“Problem!”); // error ที่ส่งไปให้ฟังก์ชั่นคอลแบ็คของ catch + throw new Error("Problem!"); // error ที่ส่งไปให้ฟังก์ชั่นคอลแบ็คของ catch } ``` ```js function asyncFunc() { return new Promise( (resolve,reject) => { - reject( new Error(“Problem!”) ) ; + reject( new Error("Problem!") ) ; }); } ``` ```js async function asyncFunc() { - throw new Error(“Problem!”); // error ที่ส่งไปให้ฟังก์ชั่นคอลแบ็คของ catch + throw new Error("Problem!"); // error ที่ส่งไปให้ฟังก์ชั่นคอลแบ็คของ catch } asyncFunc() .catch(err => console.log(err)); // Error: Problem! @@ -81,17 +81,17 @@ asyncFunc() ```js async function asyncFunc() { - console.log(“aysnc function()”); // บรรทัด a -- ซิงโครนัส + console.log("aysnc function()"); // บรรทัด a -- ซิงโครนัส return 123; // บรรทัด b } -console.log(“Start”); // บรรทัด c -- ซิงโครนัส +console.log("Start"); // บรรทัด c -- ซิงโครนัส asyncFunc(). // บรรทัด d then(x => console.log(`Resolved: ${x}`)); // บรรทัด e - อะซิงโครนัส -console.log(“End”); // บรรทัด f - ซิงโครนัส -“Start” -“aysnc function” -“End” -“Resolved: 123” +console.log("End"); // บรรทัด f - ซิงโครนัส +"Start" +"aysnc function" +"End" +"Resolved: 123" ``` * เมื่อฟังก์ชันแบบ async รีเทิร์นพรอมิสออกมาโดยตรง @@ -168,28 +168,28 @@ asyncFunc() ```js async function asyncFunc() { try { - let result = await new Promise((resolve, reject) => reject(“Error!”)); // บรรทัด a + let result = await new Promise((resolve, reject) => reject("Error!")); // บรรทัด a } catch (err) { console.error(err); // บรรทัด b } } -asyncFunc(); // “Error!” +asyncFunc(); // "Error!" ``` ```js async function asyncFunc() { - return new Promise((resolve, reject) => reject(“Error!”)) + return new Promise((resolve, reject) => reject("Error!")) .catch(err => console.log(err)); } -asyncFunc(); // “Error!” +asyncFunc(); // "Error!" ``` ```js async function otherAsyncFunc(ms) { return new Promise (resolve => setTimeout( () => { - console.log(“call otherAsyncFunc”); // บรรทัด a - resolve(“Time out”); // บรรทัด b + console.log("call otherAsyncFunc"); // บรรทัด a + resolve("Time out"); // บรรทัด b } , 1000) // กำหนดระยะเวลาในการ timeout ไป 1000 ms หรือ 1 วินาที ); @@ -198,37 +198,37 @@ async function otherAsyncFunc(ms) { ```js async function asyncFunc() { - console.log(“Start”); // บรรทัด a + console.log("Start"); // บรรทัด a otherAsyncFunc(); // บรรทัด b - console.log(“End”); // บรรทัด c + console.log("End"); // บรรทัด c } asyncFunc(); -“Start” -“End” -“call otherAsyncFunc” +"Start" +"End" +"call otherAsyncFunc" ``` ```js async function asyncFunc() { - console.log(“Start”); // บรรทัด a + console.log("Start"); // บรรทัด a await otherAsyncFunc(); // บรรทัด b - console.log(“End”); // บรรทัด c + console.log("End"); // บรรทัด c } asyncFunc(); -“Start” -“call otherAsyncFunc” -“End” +"Start" +"call otherAsyncFunc" +"End" ``` ```js async function asyncFunc() { - console.log(“Start”); // บรรทัด a + console.log("Start"); // บรรทัด a let result = await otherAsyncFunc(); // บรรทัด a console.log(result); // บรรทัด b } -“Start” -“call otherAsyncFunc” -“Time out” +"Start" +"call otherAsyncFunc" +"Time out" ``` * การใช้ awiat แบบเรียงต่อเนื่องกัน @@ -300,23 +300,23 @@ asyncFunc(); // เรียกให * ตัวอย่างเปลี่ยนจากการเรียกเมธอด then() ต่อเนื่อง มาเป็น await จะสะดวกกว่า ```js -fetch(“https://patanasongsivilai.com/example/json.php”) // บรรทัด a +fetch("https://patanasongsivilai.com/example/json.php") // บรรทัด a .then( res => res.text()) // บรรทัด b .then( txt => console.log(txt) ); // บรรทัด c -console.log(“Hello”); +console.log("Hello"); // แสดงผลลัพธ์ -// “Hello” -// {“name”:”Somchai”,“age”:30,“city”:“Bangkok”} +// "Hello" +// {"name":"Somchai","age":30,"city":"Bangkok"} ``` ```js -let res = await fetch(“https://patanasongsivilai.com/example/json.php”) // บรรทัด a +let res = await fetch("https://patanasongsivilai.com/example/json.php") // บรรทัด a let txt = await res.text() // บรรทัด b console.log(txt) // บรรทัด c -console.log(“Hello”); // บรรทัด d +console.log("Hello"); // บรรทัด d // แสดงผลลัพธ์ -// {“name”:”Somchai”,“age”:30,“city”:“Bangkok”} -// “Hello” +// {"name":"Somchai","age":30,"city":"Bangkok"} +// "Hello" ``` ```js @@ -327,14 +327,14 @@ function myFunc() { // ไม่มี async น ```js let result = await Promise.resolve("Success!"); -console.log(result); // “Success!” +console.log(result); // "Success!" ``` ```js try { - await Promise.reject(“Error!”); + await Promise.reject("Error!"); } catch (error) { - console.log(error); // “Error!” + console.log(error); // "Error!" } ``` @@ -463,13 +463,13 @@ for await (const x of [1, 2, 3]) { ``` ```js -let arr = [Promise.resolve(“foo”), Promise.resolve(“bar”)]; +let arr = [Promise.resolve("foo"), Promise.resolve("bar")]; for await (const item of arr) { console.log(item); } /* แสดงผลลัพธ์ -“foo” -“bar” */ +"foo" +"bar" */ ``` ## Asynchronous generators From ae3044d278233fc4ee9a0dcae29993dbc911bb64 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 11:34:49 +0700 Subject: [PATCH 165/757] no message --- examples_book/Chapter19.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 58d15a3..e9ab049 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -13,7 +13,7 @@ async function asyncFunc() { * เสมือนเขียนดังนี้ ```js function asyncFunc() { // เสมือนเขียนฟังก์ชันปกติธรรมดา - return new Promise( resolve => { // จะรีเทิร์นพรอมิส + return new Promise( resolve => { // จะรีเทิร์นพรอมิส resolve(123); // จากประโยค return 123 เสมือนเรียก resolve(123) }); } @@ -63,9 +63,11 @@ async function asyncFunc() { } ``` +* เสมือนเขียนดังนี้ + ```js function asyncFunc() { - return new Promise( (resolve,reject) => { + return new Promise( (resolve, reject) => { reject( new Error("Problem!") ) ; }); } From f81928ed577d361b0074424cc0df4f534a8f0cc4 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 11:39:54 +0700 Subject: [PATCH 166/757] no message --- examples_book/Chapter19.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index e9ab049..e8425bb 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -90,10 +90,11 @@ console.log("Start"); // บรรทัด c -- asyncFunc(). // บรรทัด d then(x => console.log(`Resolved: ${x}`)); // บรรทัด e - อะซิงโครนัส console.log("End"); // บรรทัด f - ซิงโครนัส +/* แสดงผลลัพธ์ "Start" "aysnc function" "End" -"Resolved: 123" +"Resolved: 123" */ ``` * เมื่อฟังก์ชันแบบ async รีเทิร์นพรอมิสออกมาโดยตรง From ddfc2e2cb7f6e80f7dcaffbd6a6454324b4b8769 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 11:50:04 +0700 Subject: [PATCH 167/757] no message --- examples_book/Chapter19.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index e8425bb..82502be 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -109,7 +109,7 @@ asyncFunc() // บรรทัด b ```js async function asyncFunc() { - return Promise.reject(new Error(‘Problem!’)); // บรรทัด a ส่งพรอมิสที่เป็น rejected ออกมา + return Promise.reject(new Error('Problem!')); // บรรทัด a ส่งพรอมิสที่เป็น rejected ออกมา } asyncFunc() // บรรทัด b .catch(err => console.error(err)); // Error: Problem! @@ -206,9 +206,10 @@ async function asyncFunc() { console.log("End"); // บรรทัด c } asyncFunc(); +/* แสดงผลลัพธ์ "Start" "End" -"call otherAsyncFunc" +"call otherAsyncFunc" */ ``` ```js From 1c308ae9ea21648beb8c74d6db58824ae1173734 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 11:53:58 +0700 Subject: [PATCH 168/757] no message --- examples_book/Chapter19.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 82502be..28f4128 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -219,9 +219,10 @@ async function asyncFunc() { console.log("End"); // บรรทัด c } asyncFunc(); +/* แสดงผลลัพธ์ "Start" "call otherAsyncFunc" -"End" +"End" */ ``` ```js From e412d0240e03ff61c7bc498fe41a8a6219906941 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 11:54:25 +0700 Subject: [PATCH 169/757] no message --- examples_book/Chapter19.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 28f4128..eb881a1 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -231,9 +231,10 @@ async function asyncFunc() { let result = await otherAsyncFunc(); // บรรทัด a console.log(result); // บรรทัด b } +/* แสดงผลลัพธ์ "Start" "call otherAsyncFunc" -"Time out" +"Time out" */ ``` * การใช้ awiat แบบเรียงต่อเนื่องกัน From 7885a88fbdbc079088518b4ad1b912b370563013 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 11:59:32 +0700 Subject: [PATCH 170/757] no message --- examples_book/Chapter19.md | 1 + 1 file changed, 1 insertion(+) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index eb881a1..9da9b1a 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -304,6 +304,7 @@ asyncFunc(); // เรียกให ``` * ตัวอย่างเปลี่ยนจากการเรียกเมธอด then() ต่อเนื่อง มาเป็น await จะสะดวกกว่า +* [ไฟล์ json.php](json.php) ```js fetch("https://patanasongsivilai.com/example/json.php") // บรรทัด a From 6c36acc1cc869d85cf47aac3895dd14f31d9adc7 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 12:06:52 +0700 Subject: [PATCH 171/757] no message --- examples_book/Chapter19.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 9da9b1a..aef78c0 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -327,8 +327,8 @@ console.log("Hello"); // บรรทัด d ``` ```js -function myFunc() { // ไม่มี async นำหน้า - let result1 = await otherAsyncFunc(1000); +function myFunc() { // ไม่มี async นำหน้า + let result1 = await otherAsyncFunc(1000); // "Error!" } ``` From b063f70af59352e67b44bc23f1eb8f0f9cd467f2 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 15:36:34 +0700 Subject: [PATCH 172/757] no message --- examples_book/Chapter19.md | 2 +- examples_book/Chapter20.md | 388 +++++++++++++++++++++++++++++++++++++ examples_book/md2html.js | 5 +- 3 files changed, 392 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index aef78c0..5738624 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -352,7 +352,7 @@ console.log(result) // 123 ```js async function asyncFunc() { - function innerFunc(){ + function innerFunc() { return await otherAsyncFunc(1000); // await อยู่ใต้ innerFunc() ไม่ได้ } innerFunc() diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 8b13789..fa8733f 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -1 +1,389 @@ +# โค้ดบทที่ 20 มอดูล +## มอดูลคืออะไร + +```js +// ไฟล์ main.js +// ไม่ได้โหลดอะไรเข้ามา +import “lib/mylib”; +``` + +```js +// -------------- ไฟล์ lib/mylib.js --------------- +export var a = 1; +export var b = 2; +// -------------- ไฟล์ main.js -------------------- +import { a, b } from “lib/mylib”; +console.log(a); // 1 +console.log(b); // 2 +``` + +## เอ็กซ์พอร์ตด้วยการระบุชื่อ + +```js +// ไฟล์ lib.js +export var a = 1; +export let b = 2; +export const MY_CONST = 100; +export function myFunction() { + // ซอร์สโค้ด +} +export function * myGenerator() { + // ซอร์สโค้ด +} +export class MyClass { + // ซอร์สโค้ด +} +``` + +```js +// ไฟล์ example.js +const CONST_VALUE = 100; // บรรทัด a -- จะไม่ถูกเอ็กซ์พอร์ตออกไป +export function square(x) { // บรรทัด b + return x * x; +} +export function calculate(x, y) { // บรรทัด c + return (square(x) + square(y)) * CONST_VALUE; +} +function multiply(num1, num2) { // บรรทัด d + return num1 * num2; +} +export multiply; // บรรทัด e -- เอ็กซ์พอร์ตภายหลัง +``` + +```js +// ไฟล์ example.js +const CONST_VALUE = 100; +function square(x) { + return x * x; +} +function calculate(x, y) { + return (square(x) + square(y)) * CONST_VALUE; +} +function multiply(num1, num2) { + return num1 * num2; +} +export { square, calculate, multiply}; // เขียนคำว่า export ที่บรรทัดสุดท้ายที่เดียว +``` + +```js +let condition = true; +if (condition) { + export condition; // syntax error +} +``` + +## วิธีโหลดมอดูล + +```js +// -------------- ไฟล์ example.js -------------- +const CONST_VALUE = 100; +function square(x) { + return x * x; +} +function calculate(x, y) { + return (square(x) + square(y)) * CONST_VALUE; +} +function multiply(num1, num2) { + return num1 * num2; +} +export {square, calculate, multiply}; +``` + +```js +// -------------- ไฟล์ main.js ----------------- +import {square, calculate} from “example”; +console.log(square(2)); // 4 +console.log(calculate(2, 2)); // 800 +square =1; // error +calculate= 2; // error +var square = 1; // error +var calculate = 2 ; // error +``` + +```js +// -------------- ไฟล์ msg.js ----------------- +export var message = “Hi”; +export function setMessage(msg) { + message = msg; +} +``` + +```js +// -------------- ไฟล์ main.js -------------- +import { message, setMessage } from “msg”; +console.log(message); // “Hi” +setMessage(“Bye”); // บรรทัด a +console.log(message); // “Bye” +message = “Good morning”; // บรรทัด b -- จะเกิด error +``` + +```js +// ไฟล์ main.js +import * as lib from “example”; +console.log(lib.square(2)); +console.log(lib.calculate(2, 2)); +``` + +```js +import { square } from “example”; +import { calculate} from “example”; +import { multiply} from “example”; +``` + +## เปลี่ยนชื่อสิ่งที่ต้องการโหลด และเอ็กซ์พอร์ต + +```js +// ไฟล์ main.js +import { square, calculate as calc} from “example”; +console.log(square(2)); +console.log(calc(2, 2)); +``` + +```js +// -------------- ไฟล์ example.js -------------- +const CONST_VALUE = 100; +export function square(x) { + return x * x; +} +export function calculate(x, y) { + return (square(x) + square(y)) * CONST_VALUE; +} +function multiply(num1, num2) { + return num1 * num2; +} +export { square as sqr, calculate as calc, multiply as mul}; // บรรทัด a +``` + +```js +// -------------- ไฟล์ main.js ----------------- +import {sqr, calc, mul} from “example”; +console.log(sqr(2)); // 4 +console.log(calc(2, 2)); // 800 +console.log(mul(2,2)); // 4 +``` + +## เอ็กซ์พอร์ตแบบดีฟอลต์ + +```js +// -------------- ไฟล์ MyFunc.js -------------- +export default function () { /*…*/ } +``` + +```js +// -------------- ไฟล์ MyClass.js -------------- +export default class { /*…*/ } +``` + +```js +// -------------- ไฟล์ MyValue.js -------------- +export default 123; +``` + +```js +// -------------- ไฟล์ MyArrow.js -------------- +export default param => param; +``` + +```js +// ไฟล์ main.js +import func from “MyFunc”; +impot _class from “MyClas”; +impot value from “MyValue”; +impot arrowFunc from “MyArrow”; +``` + +```js +// -------------- ไฟล์ mydefault.js -------------- +export var value = 100; +export function square(x) { + return x * x; +} +export default function(num1, num2) { // ฟังก์ชั่นไร้ชื่อ + return num1 + num2; +} +``` + +```js +// -------------- ไฟล์ main.js ------------------- +import multiply,{value, square} from “mydefault”; +console.log(value); // 100 +console.log(square(2,2)); // 4 +console.log(multiply(2,2)); // 4 +``` + +## เอ็กซ์พอร์ตซ้ำจากมอดูลอื่น + +```js +// -------------- ไฟล์ mylib.js -------------- +var foo = 1; +var bar = 2; +export { foo, bar }; +``` + +```js +// -------------- ไฟล์ example.js -------------- +export {foo, bar} from “mylib”; +``` + +```js +// ไฟล์ example.js +import {foo, bar} from “mylib”; +export {foo, bar}; +``` + +```js +// ไฟล์ example.js +export {foo as foo1, bar} from “mylib”; +``` + +```js +// ไฟล์ example.js +export * from “mylib”; +``` + +## Namespace re-exporting + +```js +export * as ns from ‘http’; +``` + +* ลองพิจารณาตัวอย่างไฟล์ 3 อัน ดังต่อไปนี้ +* 1) ไฟล์ name.js จะเป็นมอดูลง่ายๆ เก็บตัวแปร firstname กับ lastname + +```js +// -------------- ไฟล์ name.js ------------------ +const firstname = “Somchai”; +const lastname = “Jaidee”; +export {firstname, lastname}; // ส่งออก firstname กับ lastname +``` + +* 2) ไฟล์ student.js เป็นมอดูลอย่างง่าย ข้างในทำการ export ส่งออกตัวแปร age และจะนำเข้ามอดูล name.js พร้อม export ส่องออกมอดูลออกมาเป็นชื่อ person (เปลี่ยนชื่อ namespace) + +```js +// ไฟล์ student.js +const age = 25; +export {age}; // ส่งออก age +export * as person from “./name.js” // ส่งออก person +``` + +* 3) ไฟล์ myprogram.js เอาไว้รันทดสอบโปรแกรม โดยจะนำเข้ามอดูล student.js ดังตัวอย่าง + +```js +// ไฟล์ myprogram.js +import {age, person} from “./student.js” +console.log(age); // 25 +console.log(person.firstname); // “Somchai” +console.log(person.lastname); // “Jaidee” +``` + +## อ็อบเจ็กต์โกลบอล + +```js +// -------------- ไฟล์ example.js -------------- +Object.prototype.say = function(msg) { + console.log(msg); +}; +``` + +```js +// -------------- ไฟล์ main.js ------------------ +import “example”; +let a = {}; +a.say(“I love JavaScript”); // “I love JavaScript” +``` + +## ลองใช้งานมอดูลกันจริงๆ + +### วิธีใช้งานมอดูลบนเว็บเบราเซอร์ + +```html + + + + + + + +``` + +```js +// -------------- ไฟล์ mylib.js ------------------ +export const msg = “I love JavaScriptt”; +``` + +```js + +``` + +```js +// -------------- ไฟล์ mylib.mjs ------------------ +export const msg = “I love JavaScript”; +``` + +```js +// -------------- ไฟล์ myapp.mjs ------------------ +import { msg } from ‘./mylib.mjs’; +console.log(msg); +``` + +```js +// -------------- ไฟล์ mylib.js ------------------ +export const msg = “I love JavaScript”; +``` + +```js +// -------------- ไฟล์ myapp.mjs ------------------ +import { msg } from ‘./mylib.js’; +console.log(msg); +``` + +```js +{ “type”: “module” } +``` + +```js +{ + “name”: “my-awesome-package”, + “version”: “1.0.0” + ,“type”: “module” +} +``` + +```js +var http = require(“http”); +var fs = require(“fs”), +var url = require(“url”); +``` + +```js +import * as http from “http”; +import * as fs from “fs”; +import * as url from “url”; +``` + +## โอเปอเรเตอร์ import() + +```js +import(“http”) +.then((httpModule) => { + console.log(httpModule.maxHeaderSize); //16384 +}); +``` + +```js +const httpModule = await import(“http”); +console.log(httpModule.maxHeaderSize); //16384 +``` + +## import.meta + +```js +console.log(import.meta.url); // “file:///c:/javascript/mymodule.js” +``` \ No newline at end of file diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 899422a..466fc74 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -214,7 +214,7 @@ async function genHTML(fileName){ let files = [ "Chapter03", "Chapter04","Chapter05", "Chapter06", "Chapter08","Chapter09", "Chapter10", "Chapter11", "Chapter12", "Chapter13","Chapter14","Chapter15", "Chapter16", "Chapter17", -"Chapter18","Chapter19"]; +"Chapter18","Chapter19","Chapter20"]; @@ -233,7 +233,8 @@ let files = [ "Chapter03", "Chapter04","Chapter05", "Chapter06", //genHTML("Chapter16"); //genHTML("Chapter17"); //genHTML("Chapter18"); -genHTML("Chapter19"); +//genHTML("Chapter19"); +genHTML("Chapter20"); async function countline(fileName){ From a4feae1994f4d09b154682e389b83c11c96375c2 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 16:51:40 +0700 Subject: [PATCH 173/757] no message --- examples_book/Chapter20.md | 108 ++++++++++++++++++------------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index fa8733f..cc024f1 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -5,7 +5,7 @@ ```js // ไฟล์ main.js // ไม่ได้โหลดอะไรเข้ามา -import “lib/mylib”; +import "lib/mylib"; ``` ```js @@ -13,7 +13,7 @@ import “lib/mylib”; export var a = 1; export var b = 2; // -------------- ไฟล์ main.js -------------------- -import { a, b } from “lib/mylib”; +import { a, b } from "lib/mylib"; console.log(a); // 1 console.log(b); // 2 ``` @@ -92,7 +92,7 @@ export {square, calculate, multiply}; ```js // -------------- ไฟล์ main.js ----------------- -import {square, calculate} from “example”; +import {square, calculate} from "example"; console.log(square(2)); // 4 console.log(calculate(2, 2)); // 800 square =1; // error @@ -103,7 +103,7 @@ var calculate = 2 ; // error ```js // -------------- ไฟล์ msg.js ----------------- -export var message = “Hi”; +export var message = "Hi"; export function setMessage(msg) { message = msg; } @@ -111,31 +111,31 @@ export function setMessage(msg) { ```js // -------------- ไฟล์ main.js -------------- -import { message, setMessage } from “msg”; -console.log(message); // “Hi” -setMessage(“Bye”); // บรรทัด a -console.log(message); // “Bye” -message = “Good morning”; // บรรทัด b -- จะเกิด error +import { message, setMessage } from "msg"; +console.log(message); // "Hi" +setMessage("Bye"); // บรรทัด a +console.log(message); // "Bye" +message = "Good morning"; // บรรทัด b -- จะเกิด error ``` ```js // ไฟล์ main.js -import * as lib from “example”; +import * as lib from "example"; console.log(lib.square(2)); console.log(lib.calculate(2, 2)); ``` ```js -import { square } from “example”; -import { calculate} from “example”; -import { multiply} from “example”; +import { square } from "example"; +import { calculate} from "example"; +import { multiply} from "example"; ``` ## เปลี่ยนชื่อสิ่งที่ต้องการโหลด และเอ็กซ์พอร์ต ```js // ไฟล์ main.js -import { square, calculate as calc} from “example”; +import { square, calculate as calc} from "example"; console.log(square(2)); console.log(calc(2, 2)); ``` @@ -157,7 +157,7 @@ export { square as sqr, calculate as calc, multiply as mul}; // บรรทั ```js // -------------- ไฟล์ main.js ----------------- -import {sqr, calc, mul} from “example”; +import {sqr, calc, mul} from "example"; console.log(sqr(2)); // 4 console.log(calc(2, 2)); // 800 console.log(mul(2,2)); // 4 @@ -187,10 +187,10 @@ export default param => param; ```js // ไฟล์ main.js -import func from “MyFunc”; -impot _class from “MyClas”; -impot value from “MyValue”; -impot arrowFunc from “MyArrow”; +import func from "MyFunc"; +impot _class from "MyClas"; +impot value from "MyValue"; +impot arrowFunc from "MyArrow"; ``` ```js @@ -206,7 +206,7 @@ export default function(num1, num2) { // ฟังก์ชั่นไร้ ```js // -------------- ไฟล์ main.js ------------------- -import multiply,{value, square} from “mydefault”; +import multiply,{value, square} from "mydefault"; console.log(value); // 100 console.log(square(2,2)); // 4 console.log(multiply(2,2)); // 4 @@ -223,29 +223,29 @@ export { foo, bar }; ```js // -------------- ไฟล์ example.js -------------- -export {foo, bar} from “mylib”; +export {foo, bar} from "mylib"; ``` ```js // ไฟล์ example.js -import {foo, bar} from “mylib”; +import {foo, bar} from "mylib"; export {foo, bar}; ``` ```js // ไฟล์ example.js -export {foo as foo1, bar} from “mylib”; +export {foo as foo1, bar} from "mylib"; ``` ```js // ไฟล์ example.js -export * from “mylib”; +export * from "mylib"; ``` ## Namespace re-exporting ```js -export * as ns from ‘http’; +export * as ns from 'http'; ``` * ลองพิจารณาตัวอย่างไฟล์ 3 อัน ดังต่อไปนี้ @@ -253,8 +253,8 @@ export * as ns from ‘http’; ```js // -------------- ไฟล์ name.js ------------------ -const firstname = “Somchai”; -const lastname = “Jaidee”; +const firstname = "Somchai"; +const lastname = "Jaidee"; export {firstname, lastname}; // ส่งออก firstname กับ lastname ``` @@ -264,17 +264,17 @@ export {firstname, lastname}; // ส่งออก firstname // ไฟล์ student.js const age = 25; export {age}; // ส่งออก age -export * as person from “./name.js” // ส่งออก person +export * as person from "./name.js" // ส่งออก person ``` * 3) ไฟล์ myprogram.js เอาไว้รันทดสอบโปรแกรม โดยจะนำเข้ามอดูล student.js ดังตัวอย่าง ```js // ไฟล์ myprogram.js -import {age, person} from “./student.js” +import {age, person} from "./student.js" console.log(age); // 25 -console.log(person.firstname); // “Somchai” -console.log(person.lastname); // “Jaidee” +console.log(person.firstname); // "Somchai" +console.log(person.lastname); // "Jaidee" ``` ## อ็อบเจ็กต์โกลบอล @@ -288,9 +288,9 @@ Object.prototype.say = function(msg) { ```js // -------------- ไฟล์ main.js ------------------ -import “example”; +import "example"; let a = {}; -a.say(“I love JavaScript”); // “I love JavaScript” +a.say("I love JavaScript"); // "I love JavaScript" ``` ## ลองใช้งานมอดูลกันจริงๆ @@ -302,8 +302,8 @@ a.say(“I love JavaScript”); // “I love JavaScript” - @@ -312,78 +312,78 @@ a.say(“I love JavaScript”); // “I love JavaScript” ```js // -------------- ไฟล์ mylib.js ------------------ -export const msg = “I love JavaScriptt”; +export const msg = "I love JavaScriptt"; ``` ```js ``` ```js // -------------- ไฟล์ mylib.mjs ------------------ -export const msg = “I love JavaScript”; +export const msg = "I love JavaScript"; ``` ```js // -------------- ไฟล์ myapp.mjs ------------------ -import { msg } from ‘./mylib.mjs’; +import { msg } from './mylib.mjs'; console.log(msg); ``` ```js // -------------- ไฟล์ mylib.js ------------------ -export const msg = “I love JavaScript”; +export const msg = "I love JavaScript"; ``` ```js // -------------- ไฟล์ myapp.mjs ------------------ -import { msg } from ‘./mylib.js’; +import { msg } from './mylib.js'; console.log(msg); ``` ```js -{ “type”: “module” } +{ "type": "module" } ``` ```js { - “name”: “my-awesome-package”, - “version”: “1.0.0” - ,“type”: “module” + "name": "my-awesome-package", + "version": "1.0.0" + ,"type": "module" } ``` ```js -var http = require(“http”); -var fs = require(“fs”), -var url = require(“url”); +var http = require("http"); +var fs = require("fs"), +var url = require("url"); ``` ```js -import * as http from “http”; -import * as fs from “fs”; -import * as url from “url”; +import * as http from "http"; +import * as fs from "fs"; +import * as url from "url"; ``` ## โอเปอเรเตอร์ import() ```js -import(“http”) +import("http") .then((httpModule) => { console.log(httpModule.maxHeaderSize); //16384 }); ``` ```js -const httpModule = await import(“http”); +const httpModule = await import("http"); console.log(httpModule.maxHeaderSize); //16384 ``` ## import.meta ```js -console.log(import.meta.url); // “file:///c:/javascript/mymodule.js” +console.log(import.meta.url); // "file:///c:/javascript/mymodule.js" ``` \ No newline at end of file From 08f42b474ad06ed6758ca019f962641114d7f2f4 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 17:09:58 +0700 Subject: [PATCH 174/757] no message --- examples_book/Chapter20.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index cc024f1..1f4a417 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -127,15 +127,15 @@ console.log(lib.calculate(2, 2)); ```js import { square } from "example"; -import { calculate} from "example"; -import { multiply} from "example"; +import { calculate } from "example"; +import { multiply } from "example"; ``` ## เปลี่ยนชื่อสิ่งที่ต้องการโหลด และเอ็กซ์พอร์ต ```js // ไฟล์ main.js -import { square, calculate as calc} from "example"; +import { square, calculate as calc } from "example"; console.log(square(2)); console.log(calc(2, 2)); ``` @@ -188,9 +188,9 @@ export default param => param; ```js // ไฟล์ main.js import func from "MyFunc"; -impot _class from "MyClas"; -impot value from "MyValue"; -impot arrowFunc from "MyArrow"; +import _class from "MyClas"; +import value from "MyValue"; +import arrowFunc from "MyArrow"; ``` ```js From 61ae95320ed1df73d46b3471aa6da74d50149cc6 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 17:13:32 +0700 Subject: [PATCH 175/757] no message --- examples_book/Chapter20.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 1f4a417..65017b6 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -206,7 +206,7 @@ export default function(num1, num2) { // ฟังก์ชั่นไร้ ```js // -------------- ไฟล์ main.js ------------------- -import multiply,{value, square} from "mydefault"; +import multiply, {value, square} from "mydefault"; console.log(value); // 100 console.log(square(2,2)); // 4 console.log(multiply(2,2)); // 4 @@ -218,7 +218,7 @@ console.log(multiply(2,2)); // 4 // -------------- ไฟล์ mylib.js -------------- var foo = 1; var bar = 2; -export { foo, bar }; +export {foo, bar}; ``` ```js @@ -227,18 +227,18 @@ export {foo, bar} from "mylib"; ``` ```js -// ไฟล์ example.js +// -------------- ไฟล์ example.js -------------- import {foo, bar} from "mylib"; export {foo, bar}; ``` ```js -// ไฟล์ example.js +// -------------- ไฟล์ example.js -------------- export {foo as foo1, bar} from "mylib"; ``` ```js -// ไฟล์ example.js +// -------------- ไฟล์ example.js -------------- export * from "mylib"; ``` From 0942672025acc375e7cbb007641b0589eb04cf64 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 17:17:44 +0700 Subject: [PATCH 176/757] no message --- examples_book/Chapter20.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 65017b6..40d166f 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -245,7 +245,7 @@ export * from "mylib"; ## Namespace re-exporting ```js -export * as ns from 'http'; +export * as ns from "http"; ``` * ลองพิจารณาตัวอย่างไฟล์ 3 อัน ดังต่อไปนี้ @@ -261,7 +261,7 @@ export {firstname, lastname}; // ส่งออก firstname * 2) ไฟล์ student.js เป็นมอดูลอย่างง่าย ข้างในทำการ export ส่งออกตัวแปร age และจะนำเข้ามอดูล name.js พร้อม export ส่องออกมอดูลออกมาเป็นชื่อ person (เปลี่ยนชื่อ namespace) ```js -// ไฟล์ student.js +// -------------- ไฟล์ student.js ------------------ const age = 25; export {age}; // ส่งออก age export * as person from "./name.js" // ส่งออก person @@ -270,7 +270,7 @@ export * as person from "./name.js" // ส่งออก person * 3) ไฟล์ myprogram.js เอาไว้รันทดสอบโปรแกรม โดยจะนำเข้ามอดูล student.js ดังตัวอย่าง ```js -// ไฟล์ myprogram.js +// -------------- ไฟล์ myprogram.js ----------------- import {age, person} from "./student.js" console.log(age); // 25 console.log(person.firstname); // "Somchai" From e89e8b267a2cff538f3db9f1588ad3b586d74f44 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 17:23:49 +0700 Subject: [PATCH 177/757] no message --- examples_book/Chapter20.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 40d166f..e0eb6ce 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -289,7 +289,7 @@ Object.prototype.say = function(msg) { ```js // -------------- ไฟล์ main.js ------------------ import "example"; -let a = {}; +let a = { }; a.say("I love JavaScript"); // "I love JavaScript" ``` @@ -303,7 +303,7 @@ a.say("I love JavaScript"); // "I love JavaScript" From 7ab5ba178d497e190efa81b86cb9dd4c4a2012e6 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 17:26:14 +0700 Subject: [PATCH 178/757] no message --- examples_book/Chapter20.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index e0eb6ce..56910fb 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -302,7 +302,7 @@ a.say("I love JavaScript"); // "I love JavaScript" - From 671bf6d7889342708c9830306afa33702f4ae7d2 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 17:31:35 +0700 Subject: [PATCH 179/757] no message --- examples_book/Chapter20.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 56910fb..8f5807d 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -312,7 +312,7 @@ a.say("I love JavaScript"); // "I love JavaScript" ```js // -------------- ไฟล์ mylib.js ------------------ -export const msg = "I love JavaScriptt"; +export const msg = "I love JavaScript"; ``` ```js @@ -322,6 +322,8 @@ export const msg = "I love JavaScriptt"; ``` +### วิธีใช้งานมอดูลบน Node.js + ```js // -------------- ไฟล์ mylib.mjs ------------------ export const msg = "I love JavaScript"; From 250e1c669f6e7683f5f1f806f2ff477b40966bfd Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 17:39:07 +0700 Subject: [PATCH 180/757] no message --- examples_book/Chapter20.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 8f5807d..a3061fa 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -317,7 +317,7 @@ export const msg = "I love JavaScript"; ```js ``` @@ -341,7 +341,7 @@ export const msg = "I love JavaScript"; ``` ```js -// -------------- ไฟล์ myapp.mjs ------------------ +// -------------- ไฟล์ myapp.js ------------------ import { msg } from './mylib.js'; console.log(msg); ``` From ce39c3934bdcf16e79e4c4ba22bad7bb132814e6 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 10 Aug 2023 17:52:30 +0700 Subject: [PATCH 181/757] no message --- examples_book/Chapter20.md | 2 ++ examples_book/README.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index a3061fa..d7657e9 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -358,6 +358,8 @@ console.log(msg); } ``` +### เสริมเพิ่มเติม + ```js var http = require("http"); var fs = require("fs"), diff --git a/examples_book/README.md b/examples_book/README.md index c13bd81..dba2519 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -23,7 +23,7 @@ * [บทที่ 17 เมต้าโปรแกรมมิ่ง --มีแผนปรับปรุงโค้ด](Chapter17.md) * [บทที่ 18 พรอมิส](Chapter18.md) * [บทที่ 19 การใช้งาน async กับ await](Chapter19.md) -* [บทที่ 20 มอดูล --กำลังอัปเดต...](Chapter20.md) +* [บทที่ 20 มอดูล](Chapter20.md) * [ภาคผนวก ข](Appendix_B) * [ปูพื้นฐาน Node.js ฉบับย่อ เข้าใจ MongoDB]( From c04b83c2539dcdca5d9117b1e559eba539529057 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 11 Aug 2023 06:21:43 +0700 Subject: [PATCH 182/757] no message --- examples_book/Chapter07.md | 279 ++++++++++++++++++++++++++++++++++++- examples_book/README.md | 2 +- examples_book/md2html.js | 5 +- 3 files changed, 282 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 622cb3a..f805370 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -1,3 +1,280 @@ -# โค้ดบทที่ 7 +# โค้ดบทที่ 7 ทบทวน Regex +## Regular Expression +* 1. สร้างโดยใช้ฟังก์ชั่นคอนสตรัคเตอร์ RegExp ตามตัวอย่าง + +```js +var myRegex = new RegExp("Hello+"); +console.log(myRegex.toString()); // /Hello+/ +``` + +* 2. สร้างโดยใช้เครื่องหมาย /…/ มาครอบข้อความ regex ตามตัวอย่าง +```js +var myRegex = /Hello+/; +// ข้อความ regex ก็คืออ็อบเจ็กต์ตัวหนึ่ง +// จึงสามารถแชร์ใช้งานเมธอด RegExp.prototype.toString() +console.log(/Hello+/.toString()); // /Hello+/ +``` + +### เมธอด test() กับ exec() + +```js +console.log( /Hello+/.test("Hellooooo") ); // true +console.log( (new RegExp("Hello+")).test("Hellooooo") ); // true +``` + +```js +var myRegex = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; +console.log(myRegex.test("xxxxxx.yyyyyy_zzzzz@abc.com")); // true +``` + +```js +var myRegex = /^(\-?|\+?)\d*$/; +console.log(myRegex.test("-987")); // true +``` + +```js +var result = /(foo).(bar)/.exec("0123foo_bar"); +console.log(result.index); // 4 +console.log(result[0]); // "foo_bar" +console.log(result[1]); // "foo" +console.log(result[2]); // "bar" +console.log(result.input); // "0123foo_bar" +``` + +## รูปแบบการใช้งาน regex ต่างๆ + +### การระบุคำที่ต้องการค้นหา + +```js +var re = /like/; +console.log(re.exec("I like u")); // [ 'like', index: 2, input: 'I like u', groups: undefined ] +``` + +```js +var re = /html|div|br/; +console.log(re.exec("
    ")); //[ 'div', index: 1, input: '
    ', groups: undefined ] +``` + +### การระบุช่วงตัวอักษรที่จับคู่ + +```js +var re = /[abc]/; +console.log(re.exec("feb")); // [ 'b', index: 2, input: 'feb', groups: undefined ] +``` + +```js +var re = /[^cat]/; +console.log(re.exec("cats")); // [ 's', index: 3, input: 'cats', groups: undefined ] +``` + +```js +var re = /[7-9]/; +console.log(re.exec("2+8")); // [ '8', index: 2, input: '2+8', groups: undefined ] +``` + +```js +var re = /[a-c]/; +console.log(re.exec("rat")); // [ 'a', index: 1, input: 'rat', groups: undefined ] +``` + +```js +var re = /[A-C]/; +console.log(re.exec("COM")); // [ 'C', index: 0, input: 'COM', groups: undefined ] +``` + +```js +var re = /[a-cA-C]/; +console.log(re.exec("AND")); // [ 'A', index: 0, input: 'ANT', groups: undefined ] +``` + +```js +var re = /[a-zB-Mxyz157]/; +console.log(re.exec("3-5")); // [ '5', index: 2, input: '3-5', groups: undefined ] +``` + +### การระบุความถี่ของลำดับตัวอักษรที่จับคู่ + + +```js +var re = /3+/; +console.log(re.exec("123")); // [ '3', index: 2, input: '123', groups: undefined ] +``` + +```js +var re = /p+/; +console.log(re.exec("app")); // [ 'pp', index: 1, input: 'app', groups: undefined ] +``` + +```js +var re = /3*/; +console.log(re.exec("12")); // [ '', index: 0, input: '12', groups: undefined ] +``` + +```js +var re = /b*/; +console.log(re.exec("bbc")); // [ 'bb', index: 0, input: 'bbc', groups: undefined ] +``` + +```js +var re = /p*/; +console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] +``` + +```js +var re = /b?/; +console.log(re.exec("bed")); // [ 'b', index: 0, input: 'bed', groups: undefined ] +``` + +```js +var re = /b?/; +console.log(re.exec("bbc")); // [ 'b', index: 0, input: 'bbc', groups: undefined ] +``` + +```js +var re = /p?/; +console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] +``` + +```js +var re = /g{2}/; +console.log(re.exec("egg")); // [ 'gg', index: 1, input: 'egg', groups: undefined ] +``` + +```js +var re = /5{2}/; +console.log(re.exec("555")); // [ '55', index: 0, input: '555', groups: undefined ] +``` + +```js +var re = /e{1, 3}/; +console.log(re.exec("deep")); // [ 'ee', index: 1, input: 'deep', groups: undefined ] +``` + +```js +var re = /a{2, }/; +console.log(re.exec("zaaa")); // [ 'aaa', index: 1, input: 'zaaa', groups: undefined ] +``` + +```js +var re = /^x/; +console.log(re.exec("x-ray")); // [ 'x', index: 0, input: 'x-ray', groups: undefined ] +``` + +```js +var re = /r$/; +console.log(re.exec("car")); // [ 'r', index: 2, input: 'car', groups: undefined ] +``` + +### การระบุตัวอักษรพิเศษที่จับคู่ + +```js +var re = /./; +console.log(re.exec("dog")); // [ 'd', index: 0, input: 'dog', groups: undefined ] +``` + +```js +var re = /.ox/; +console.log(re.exec("boxs")); // [ 'box', index: 0, input: 'boxs', groups: undefined ] +``` + +```js +var re = /\s/; +console.log(re.exec("^ ^")); // [ ' ', index: 1, input: '^ ^', groups: undefined ] +``` + +```js +var re = /\d/; +console.log(re.exec("x86")); // [ '8', index: 1, input: 'x86', groups: undefined ] +``` + +```js +var re = /..\d/; +console.log(re.exec("item1")); // [ 'em1', index: 2, input: 'item1', groups: undefined ] +``` + +### สตริงกับ regex + +```js +console.log("012Hellooooo".search(/Hello+/)); // 3 +var result = "Hellooooo Hello".match(/Hello+/g); +console.log(result); // ["Hellooooo", "Hello"] +console.log(result.length); // 2 +var str = "Hellooooo".replace(/Hello+/,"Bye"); +console.log(str); // "Bye" +var split = "1,2,3".split(/,/); +console.log(split); // ["1", "2", "3"] +``` + +```js +console.log("012Hellooooo".search(/Hello+/)); // 3 +var result = "Hellooooo Hello".match(/Hello+/g); +console.log(result); // ["Hellooooo", "Hello"] +console.log(result.length); // 2 +var str = "Hellooooo".replace(/Hello+/,"Bye"); +console.log(str); // "Bye" +var split = "1,2,3".split(/,/); +console.log(split); // ["1", "2", "3"] +``` + +### ค่าแฟล็ก + +```js +var re = /thai/i; +console.log("I' am THAI".search(re)); // 6 +``` + +```js +var regex = /Hello+/gi; +console.log(regex.lastIndex); // 0 +console.log(regex.source); // "Hello+" +console.log(regex.flags); // "gi" +console.log(regex.global); // true +console.log(regex.ignoreCase); // true +console.log(regex.multiline); // false +console.log(regex.unicode); // false +console.log(regex.sticky); // false +console.log(regex.dotAll); // false +console.log(regex.hasIndices); // false +``` + +```js +var re = /ok/; +console.log(re.exec("ok ok ok")); +// [ 'ok', index: 0, input: 'ok ok ok', groups: undefined ] +``` + +```js +var myRegex = /Hello+/g; +var str = "01Hello Hellooo89"; +var result = myRegex.exec(str); // ค้นหาครั้งแรก +console.log(result[0]); // "Hello" +console.log(result.index); // 2 +console.log(myRegex.lastIndex); // 7 +myRegex.exec(str); // ค้นหาครั้งที่ 2 +console.log(result[0]); // "Hello" +console.log(result.index); // 2 +console.log(myRegex.lastIndex); // 15 +myRegex.exec(str); // ค้นหาครั้งที่ 3 +console.log(result[0]); // "Hello" +console.log(result.index); // 2 +console.log(myRegex.lastIndex); // 0 +myRegex.exec(str); // ค้นหาครั้งที่ 4 +console.log(result[0]); // "Hello" +console.log(result.index); // 2 +console.log(myRegex.lastIndex); // 7 +``` + +```js +console.log( /Hello+/g === /Hello+/g); // false +/Hello+/g.exec("Hello Hello Hello"); // บรรทัด 2 +console.log(/Hello+/g.lastIndex); // 0 +``` + +```js +var myRegex = /Hello+/g; +var result = "01Hello Hellooo89".match(myRegex); +console.log(result); // [ 'Hello', 'Hellooo' ] +console.log(myRegex.lastIndex) // 0 +``` diff --git a/examples_book/README.md b/examples_book/README.md index dba2519..bdf8d3b 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -10,7 +10,7 @@ * [บทที่ 4 ทบทวนมาตรฐานเก่า](Chapter04.md) * [บทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น](Chapter05.md) * [บทที่ 6 ทบทวนอ็อบเจ็กต์](Chapter06.md) -* [บทที่ 7 ทบทวน Regex --กำลังอัปเดต...](Chapter07.md) +* [บทที่ 7 ทบทวน Regex](Chapter07.md) * [บทที่ 8 ฟีเจอร์ใหม่ของตัวเลข สตริง และ regex](Chapter8.md) * [บทที่ 9 การประกาศตัวแปร และการกำหนดค่า](Chapter9.md) * [บทที่ 10 ฟังก์ชั่น](Chapter10.md) diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 466fc74..a18f072 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -212,7 +212,7 @@ async function genHTML(fileName){ let files = [ "Chapter03", "Chapter04","Chapter05", "Chapter06", -"Chapter08","Chapter09", "Chapter10", "Chapter11", "Chapter12", +"Chapter07","Chapter08","Chapter09", "Chapter10", "Chapter11", "Chapter12", "Chapter13","Chapter14","Chapter15", "Chapter16", "Chapter17", "Chapter18","Chapter19","Chapter20"]; @@ -222,6 +222,7 @@ let files = [ "Chapter03", "Chapter04","Chapter05", "Chapter06", //genHTML("Chapter04"); //genHTML("Chapter05"); //genHTML("Chapter06"); +genHTML("Chapter07"); //genHTML("Chapter08"); //genHTML("Chapter09"); //genHTML("Chapter10"); @@ -234,7 +235,7 @@ let files = [ "Chapter03", "Chapter04","Chapter05", "Chapter06", //genHTML("Chapter17"); //genHTML("Chapter18"); //genHTML("Chapter19"); -genHTML("Chapter20"); +//genHTML("Chapter20"); async function countline(fileName){ From 7e257790e6db833aa7b3788bc47c27054976f9d8 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 11 Aug 2023 06:23:47 +0700 Subject: [PATCH 183/757] no message --- examples_book/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/README.md b/examples_book/README.md index bdf8d3b..68032eb 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -11,8 +11,8 @@ * [บทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น](Chapter05.md) * [บทที่ 6 ทบทวนอ็อบเจ็กต์](Chapter06.md) * [บทที่ 7 ทบทวน Regex](Chapter07.md) -* [บทที่ 8 ฟีเจอร์ใหม่ของตัวเลข สตริง และ regex](Chapter8.md) -* [บทที่ 9 การประกาศตัวแปร และการกำหนดค่า](Chapter9.md) +* [บทที่ 8 ฟีเจอร์ใหม่ของตัวเลข สตริง และ regex](Chapter08.md) +* [บทที่ 9 การประกาศตัวแปร และการกำหนดค่า](Chapter09.md) * [บทที่ 10 ฟังก์ชั่น](Chapter10.md) * [บทที่ 11 เทมเพลตสตริง](Chapter11.md) * [บทที่ 12 ซิมโบล --มีแผนปรับปรุงโค้ด](Chapter12.md) From 96b8345b79952d7c568328394c26f1363326e20c Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 11 Aug 2023 06:25:08 +0700 Subject: [PATCH 184/757] no message --- examples_book/README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/examples_book/README.md b/examples_book/README.md index 68032eb..7d0a9a0 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -4,8 +4,6 @@ [สามารถสั่งซ์้อได้ที่เว็บ MEB (ขายเป็นอีบุ๊กเท่านั้น)](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjE1Njg1NCI7fQ) -(กำลังอัปเดตโค้ดอยู่นะครับ ยังไม่เรียบร้อยดี) - * [บทที่ 3 รันจาวาสคริปต์อย่างง่าย](Chapter03.md) * [บทที่ 4 ทบทวนมาตรฐานเก่า](Chapter04.md) * [บทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น](Chapter05.md) @@ -15,12 +13,12 @@ * [บทที่ 9 การประกาศตัวแปร และการกำหนดค่า](Chapter09.md) * [บทที่ 10 ฟังก์ชั่น](Chapter10.md) * [บทที่ 11 เทมเพลตสตริง](Chapter11.md) -* [บทที่ 12 ซิมโบล --มีแผนปรับปรุงโค้ด](Chapter12.md) +* [บทที่ 12 ซิมโบล](Chapter12.md) * [บทที่ 13 ฟีเจอร์ใหม่ของอ็อบเจ็กต์](Chapter13.md) * [บทที่ 14 คลาส](Chapter14.md) * [บทที่ 15 คอลเลคชั่น](Chapter15.md) * [บทที่ 16 อิเทอเรเตอร์ และเจนเนอเรเตอร์](Chapter16.md) -* [บทที่ 17 เมต้าโปรแกรมมิ่ง --มีแผนปรับปรุงโค้ด](Chapter17.md) +* [บทที่ 17 เมต้าโปรแกรมมิ่ง](Chapter17.md) * [บทที่ 18 พรอมิส](Chapter18.md) * [บทที่ 19 การใช้งาน async กับ await](Chapter19.md) * [บทที่ 20 มอดูล](Chapter20.md) From 175b2b9109a13fc87e115f5bd57a18e57ae7176b Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 11 Aug 2023 10:29:03 +0700 Subject: [PATCH 185/757] no message --- examples_book/Chapter07.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index f805370..40ef353 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -207,17 +207,6 @@ var split = "1,2,3".split(/,/); console.log(split); // ["1", "2", "3"] ``` -```js -console.log("012Hellooooo".search(/Hello+/)); // 3 -var result = "Hellooooo Hello".match(/Hello+/g); -console.log(result); // ["Hellooooo", "Hello"] -console.log(result.length); // 2 -var str = "Hellooooo".replace(/Hello+/,"Bye"); -console.log(str); // "Bye" -var split = "1,2,3".split(/,/); -console.log(split); // ["1", "2", "3"] -``` - ### ค่าแฟล็ก ```js From b83099795b0617b3f9c2fcc81ad1b4df021f3c90 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 11 Aug 2023 12:51:10 +0700 Subject: [PATCH 186/757] no message --- examples_book/md.css | 13 +++++++++++++ examples_book/md2html.js | 16 ++++++++++++---- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/examples_book/md.css b/examples_book/md.css index 458e5e6..720a370 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -56,6 +56,7 @@ textarea { left: 0; top:30; width: 100px; + display: block; } .footer { @@ -70,4 +71,16 @@ textarea { margin-left: 135px; padding-left: 5px; border: 2px solid #023020; +} + +@media all and (max-width: 768px){ +.left_menu { + display: none; +} +.main { + margin-left: 10px; +} +.footer { + margin-left: 10px; +} } \ No newline at end of file diff --git a/examples_book/md2html.js b/examples_book/md2html.js index a18f072..9a3d386 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -14,9 +14,11 @@ function writeToHTML(allLines, fileName){ let html = ` + ${fileName} + `; @@ -184,8 +184,8 @@ async function genHTML(fileName){ allLines += `
    -
    - +
    +
    `; lineCodes = ""; From 37d6f89661b6bea6b989ff5c9075ab3822a4249f Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 2 Sep 2023 00:17:39 +0700 Subject: [PATCH 201/757] no message --- examples_book/Chapter17.md | 3 +-- examples_book/md.css | 5 +++++ examples_book/md2html.js | 3 +++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index d649831..4cb39cd 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -51,8 +51,7 @@ console.log(obj.a); // 100 ```js let obj = { }; Reflect.set(obj,"a", 100); // เหมือนเขียนประโยค obj.a = 100; -console.log( Reflect.get(obj,"a") ); // เหมือนเขียนประโยค console.log(obj.a); -//แสดงคำว่า "to do something" +console.log( Reflect.get(obj,"a") ); // 100 -- เหมือนเขียนประโยค console.log(obj.a); ``` ## พร็อกซี่ diff --git a/examples_book/md.css b/examples_book/md.css index 70e79f8..9850835 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -15,6 +15,11 @@ margin-left: 160px; } +.sale { + margin-top: 10px; + margin-left: 160px; +} + /*input[type=button], input[type=submit], input[type=reset] {*/ .run-btn { background-color: #04AA6D; diff --git a/examples_book/md2html.js b/examples_book/md2html.js index ef32b15..c3206b1 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -110,6 +110,9 @@ function writeToHTML(headline, allLines, fileName){
    ${allLines}
    +
    +
    + + + \ No newline at end of file diff --git a/examples_book/md.css b/examples_book/md.css index 8bef02f..9a7a3af 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -13,6 +13,7 @@ .main { margin-top: 60px; margin-left: 160px; + margin-bottom: 50px; } .sale { @@ -87,19 +88,34 @@ textarea { top:0; width: 100%; margin-left: 160px; + z-index: 100; } -@media all and (max-width: 768px){ -.left-menu { - display: none; -} -.main { - margin-left: 10px; -} -.header { - margin-left: 10px; -} -.sale { - margin-left: 10px; +.footer { + background-color: #3CB371; + position: fixed; + left: 0; + bottom:0; + width: 100%; + color: white; + text-align:center; + display:none; } + +@media all and (max-width: 768px){ + .left-menu { + display: none; + } + .main { + margin-left: 10px; + } + .header { + margin-left: 10px; + } + .sale { + margin-left: 10px; + } + .footer { + display: block; + } } \ No newline at end of file diff --git a/examples_book/md2html.js b/examples_book/md2html.js index c3206b1..e27f0a0 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -112,7 +112,7 @@ function writeToHTML(headline, allLines, fileName){
    - + - - - - -

    ${headline}

    - -
    - -
    ${allLines}
    - -
    -
    - - - `; - + let html = templateHTML.replace("${headline}", headline) + .replace("${allLines}", allLines) + .replace("${fileName}", fileName); return fs.writeFile(`${fileName}.html`, html, function (err) { if (err) throw err; console.log(`${fileName}.html is Saved!`); - }); - + }); } - async function genHTML(fileName){ let headline = ""; let allLines = ""; @@ -188,7 +49,7 @@ async function genHTML(fileName){ allLines += `
    - +
    `; lineCodes = ""; @@ -206,7 +67,6 @@ async function genHTML(fileName){ } if(isCode && !line.startsWith("```js") && !line.startsWith("```html")){ - //lineCodes += `${line}
    `; lineCodes += `${line}\n`; } @@ -245,6 +105,9 @@ let files = [ "chapter03", "chapter04","chapter05", "chapter06", //genHTML("chapter19"); //genHTML("chapter20"); + + + genHTML("chapter03") .then(() => genHTML("chapter04")) .then(() => genHTML("chapter05")) From 9b5e038dbc4a334dcac88ce1ba16d23d65d29fe8 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 08:39:06 +0700 Subject: [PATCH 210/757] no message --- examples_book/Chapter04.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 3258eb0..e1b919c 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -290,7 +290,7 @@ console.log("1234567890".length); // 10 var TRUE_value = true; var FALSE_value = false console.log(TRUE_value); // true -console.log(FALSe_value); // false +console.log(FALSE_value); // false ``` ```js From e5c4b2a7052e8498820fdd718fb103cb5b8528f6 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 08:39:27 +0700 Subject: [PATCH 211/757] no message --- examples_book/md.css | 2 +- examples_book/md2html.js | 2 +- examples_book/mylib.js | 105 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+), 2 deletions(-) create mode 100644 examples_book/mylib.js diff --git a/examples_book/md.css b/examples_book/md.css index 1f33121..700474e 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -75,7 +75,7 @@ textarea { background-color: #606060; color: white; text-align: left; - margin-top: 0px; + margin-top: 0.6px; margin-bottom: 3px; border: 0.5px #023020; } diff --git a/examples_book/md2html.js b/examples_book/md2html.js index becba0d..2f3f664 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -49,7 +49,7 @@ async function genHTML(fileName){ allLines += `
    - +
    `; lineCodes = ""; diff --git a/examples_book/mylib.js b/examples_book/mylib.js new file mode 100644 index 0000000..0ee7a8a --- /dev/null +++ b/examples_book/mylib.js @@ -0,0 +1,105 @@ + let displayAreaId = ""; + + function toString(data) { + if(data == null || data == undefined ) { + return ""+ data; + } else if( typeof data === 'object'){ + + if( data instanceof Array){ + let str = "["; + for(const value of data) { + str += ""+ toString(value) + ", "; + } + if("index" in data) str = str + "index: " + toString(data.index) + ", ";; + if("input" in data) str = str + "input: " + toString(data.input) + ", ";; + if("groups" in data) str = str + "groups: " + toString(data.groups) + ", ";; + return (str.length >1) ? str.slice(0, -2) + ']': '[]'; + + } else { + let str = "{"; + for(const [key, value] of Object.entries(data)){ + str += ""+key+":"+ toString(value) + ", "; + } + return (str.length >1) ? str.slice(0, -2) + '}': '{}'; + } + + } else if( typeof data === 'string'){ + return '"' +data + '"'; + + } else { + return String(data); // recursive + } + } + + function escapeHtml(unsafe) { + return unsafe + .replaceAll(/&/g, "&") + .replaceAll(/</g, "<") + .replaceAll(/>/g, ">") + .replaceAll(/"/g, '"') + .replaceAll(/'/g, "'"); + } + + function decodeHtml(str) { + return str + .replaceAll(/&/g, "&") + .replaceAll(//g, ">") + .replaceAll(/"/g, '"') + .replaceAll(/'/g, "'"); + } + + console.log = function(...data){ + let display = document.querySelector(displayAreaId); + for( let d of data){ + if( typeof d !== 'string'){ + d = toString(d); + } + + if(d == '@negzero'){ + d = "-0"; + } + + if(d.startsWith('#')){ + d = d.substring(1); + } else { + d = decodeHtml(d); + } + + display.innerHTML += d + " "; + } + display.innerHTML += "
    "; + } + + function clearDisplay() { + let display = document.querySelector(displayAreaId); + display.innerHTML = ""; + } + + function evalCode(btn, count) { + displayAreaId = `#display${count}`; + clearDisplay(); + let textArea = document.querySelector(`#code${count}`); + let codeTxt = textArea.value; + + if( codeTxt.includes("")>0 ) { + const link = document.createElement("a"); + const content = codeTxt; + const file = new Blob([content], { type: 'text/plain' }); + link.href = URL.createObjectURL(file); + link.download = "sample.html"; + link.click(); + URL.revokeObjectURL(link.href); + } else { + try { + console.log("#ผลการรัน:"); + codeTxt = codeTxt.replaceAll(/-0/g, "'@negzero'"); + eval(codeTxt); + } catch (e){ + console.log("#++++Error++++"); + console.log("#" + e.stack + ""); + } + } + textArea.classList.add("run-already"); + btn.value = "รันอีกครั้ง"; + } \ No newline at end of file From 553536a1358590afab140bde2288653e18a8e875 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 11:30:44 +0700 Subject: [PATCH 212/757] no message --- examples_book/Chapter04.md | 18 +++++++-------- examples_book/md.css | 8 ++----- examples_book/md2html.js | 9 ++++---- examples_book/mylib.js | 45 +++++++++++++++++++++++--------------- 4 files changed, 43 insertions(+), 37 deletions(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index e1b919c..8f873e1 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -31,9 +31,9 @@ console.log("Hello world", 122, 333.333); // "Hello world 122 333.333" ### debugger ```js -console.log("line 1"); -debugger; // บรรทัดนี้เป็นตำแหน่งของ breakpoint เพื่อหยุดการทำงานของโปรแกรมชั่วขณะ ตอนดีบั๊กโปรแกรม -console.log("line 2"); +console.log("line 1"); // "line 1" +debugger; // บรรทัดนี้เป็นตำแหน่งของ breakpoint เพื่อหยุดการทำงานของโปรแกรมชั่วขณะ ตอนดีบั๊กโปรแกรม +console.log("line 2"); // "line 2" ``` ## การใช้เซมิโคลอน (;) @@ -164,7 +164,7 @@ var x = 100; ``` ```js -var x = 1, y = 2, z = 3; // ประกาศตัวแปร x, y และ z ให้อยู่ในบรรทัดเดียวกัน +var x = 1, y = 2, z = 3; // ประกาศตัวแปร x, y และ z ให้อยู่ในบรรทัดเดียวกัน ``` ```js @@ -186,6 +186,7 @@ var x; console.log(x); // undefined ``` +* หมายเหตุ แสดงผลลัพธ์เหมือนรันใน Node.js ```js var undefined = 55555; console.log(undefined); // บนเว็บเบราเซอร์จะแสดงเป็น undefined แต่บน Node.js จะแสดงเป็น 55555 @@ -198,6 +199,7 @@ console.log(x); // undefined x = 1; ``` +* หมายเหตุ ควรรันคำส่ง delete x; ก่อน เพื่อลบตัวแปร x = 1; ที่รันก่อนหน้านี้ ```js console.log(x); // ReferenceError ``` @@ -257,7 +259,7 @@ console.log(Number.MAX_VALUE * -10); // -Infinity (บรรทัด 4) ``` ```js -console.log(Number.MIN_VALUE); //5e-324 (เป็นค่าโดยประมาณ) +console.log(Number.MIN_VALUE); // 5e-324 (เป็นค่าโดยประมาณ) ``` ### สตริง @@ -419,7 +421,7 @@ console.log(a); // NaN ```js 20 / "10" + "76"; // 276 -// เสมือนเขียน ( 20 / "10") + "276" +// เสมือนเขียน ( 20 / "10") + "76" ``` ### โอเปเรอเตอร์แบบตรรกะ @@ -605,9 +607,7 @@ console.log(array.length); // 10 function calculate(param1, param2) { return param1 * param2; } -``` -```js var result = calculate(10, 2); console.log(result); // 20 ``` @@ -662,7 +662,7 @@ function calculate() { ### ฟังก์ชั่นไร้ชื่อ ```js -function (param1, param2) { +function (param1, param2) { // ถ้ารันจะเกิด error return param1 * param2; } ``` diff --git a/examples_book/md.css b/examples_book/md.css index 700474e..dd34eca 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -1,4 +1,4 @@ -.norun { +.notrun { background-color: #F0F0F0; margin-top: 20px; border: 1px solid #4CAF50; @@ -41,10 +41,6 @@ cursor: pointer; }*/ -.showcode { - margin-top:3px; -} - textarea { font-size: 13pt; background-color: #F5F5F5; @@ -75,7 +71,7 @@ textarea { background-color: #606060; color: white; text-align: left; - margin-top: 0.6px; + margin-top: 1px; margin-bottom: 3px; border: 0.5px #023020; } diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 2f3f664..134b57b 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -46,10 +46,11 @@ async function genHTML(fileName){ isCode = false const rows = lineCodes.split('\n').length-1; - allLines += `
    - -
    - + allLines += `
    + +
    + +
    `; lineCodes = ""; diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 0ee7a8a..6b4f80d 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -1,10 +1,11 @@ - let displayAreaId = ""; + let resultAreaId = ""; function toString(data) { if(data == null || data == undefined ) { - return ""+ data; - } else if( typeof data === 'object'){ + return ""+ data; + } else if( typeof data === 'object'){ + if( data instanceof Array){ let str = "["; for(const value of data) { @@ -26,8 +27,9 @@ } else if( typeof data === 'string'){ return '"' +data + '"'; - } else { + } else { return String(data); // recursive + } } @@ -50,20 +52,20 @@ } console.log = function(...data){ - let display = document.querySelector(displayAreaId); + let display = document.querySelector(resultAreaId); for( let d of data){ if( typeof d !== 'string'){ d = toString(d); } - if(d == '@negzero'){ + if(d == '@negzero'){ // figbugs d = "-0"; } if(d.startsWith('#')){ - d = d.substring(1); + d = d.substring(1); // เมื่อเจอ # นำหน้า ต้องการให้สตริง html มันทำงานในเว็บเบราเซอร์ } else { - d = decodeHtml(d); + d = decodeHtml(d); // ไม่ต้องการให้สตริง html ทำงานในเว็บเบราเซอร์ } display.innerHTML += d + " "; @@ -71,16 +73,23 @@ display.innerHTML += "
    "; } - function clearDisplay() { + function clearDisplay(displayAreaId, textAreaId=undefined) { let display = document.querySelector(displayAreaId); - display.innerHTML = ""; + display.innerHTML = ""; + + if(textAreaId){ + let textCodeArea = document.querySelector(textAreaId); + textCodeArea.classList.remove("run-already"); + textCodeArea.classList.add("notrun"); + } } - function evalCode(btn, count) { - displayAreaId = `#display${count}`; - clearDisplay(); - let textArea = document.querySelector(`#code${count}`); - let codeTxt = textArea.value; + function evalCode(count) { + resultAreaId = `#displayResult${count}`; + + let textCodeArea = document.querySelector(`#codeArea${count}`); + let codeTxt = textCodeArea.value; + clearDisplay(resultAreaId); if( codeTxt.includes("")>0 ) { const link = document.createElement("a"); @@ -93,13 +102,13 @@ } else { try { console.log("#ผลการรัน:"); - codeTxt = codeTxt.replaceAll(/-0/g, "'@negzero'"); + codeTxt = codeTxt.replaceAll(/-false/g, "'@negzero'"); // fix bugs ถ้าเป็นเลข -false ต้องแสดง -0 เลยต้องแทนด้วย '@negzero' + //codeTxt = codeTxt.replaceAll(/-0.(?++++Error++++"); console.log("#" + e.stack + ""); } } - textArea.classList.add("run-already"); - btn.value = "รันอีกครั้ง"; + textCodeArea.classList.add("run-already"); } \ No newline at end of file From 270488c71411e530e4f78e1fe8f958feff070851 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 11:58:29 +0700 Subject: [PATCH 213/757] no message --- examples_book/Chapter04.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 8f873e1..2f23143 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -901,7 +901,7 @@ var x = 1 ```js x = undefined // เสมือนลอยขึ้นไปข้างบน -console.log(x) +console.log(x) // undefined x = 1 ``` @@ -990,6 +990,7 @@ function myFunction() { * 1) +* หมายเหตุ ถ้าไม่เกิด error ให้รันคำส่ง delete x; ก่อน เพื่อลบตัวแปร var x = 1; ที่รันก่อนหน้านี้ จะได้เกิด error ตามตัวอย่าง ```js "use strict"; x = 1; // เกิด error เพราะไม่ได้ประกาศตัวแปรแบบ var ถ้าอยู่ดี ๆ จะมากำหนดค่าให้ทันทีแบบนี้จะทำไม่ได้ @@ -1064,7 +1065,6 @@ console.log(f()); // undefined ```js "use strict"; var eval = 1; // เกิด error ไม่สามารถใช้ชื่อ eval เป็นตัวแปร - ``` * 11) From ba13b3c6c67195d44239a0d37dd524c485b942ad Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 16:49:20 +0700 Subject: [PATCH 214/757] no message --- examples_book/md.css | 4 ++-- examples_book/md2html.js | 2 +- examples_book/mylib.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/md.css b/examples_book/md.css index dd34eca..b7b91f3 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -1,12 +1,12 @@ .notrun { background-color: #F0F0F0; - margin-top: 20px; + margin-top: 3px; border: 1px solid #4CAF50; } .run-already { background-color: #DAF7A6 ; - margin-top: 20px; + margin-top: 3px; border: 1px solid #4CAF50; } diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 134b57b..d1fe896 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -46,7 +46,7 @@ async function genHTML(fileName){ isCode = false const rows = lineCodes.split('\n').length-1; - allLines += `
    + allLines += `
    diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 6b4f80d..3c7a859 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -58,7 +58,7 @@ d = toString(d); } - if(d == '@negzero'){ // figbugs + if(d == '@negzero'){ // fix bugs d = "-0"; } From 818ee0ffec2d6c94ee8ec2e29b250ec98afcc8f3 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 17:01:50 +0700 Subject: [PATCH 215/757] no message --- examples_book/Chapter05.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter05.md b/examples_book/Chapter05.md index 43f1338..de08c9d 100644 --- a/examples_book/Chapter05.md +++ b/examples_book/Chapter05.md @@ -88,11 +88,11 @@ for(var i=0; i<3; i++) { ### ประโยคคำสั่ง label ```js -outer: for(var i=0; i < 2; i++) { // บรรทัด a +outer: for(var i=0; i < 2; i++) { // บรรทัด a console.log("i: ", i); for (var j=i; j < 2; j++ ) { if ( j == 1) { - continue outer; // บรรทัด b + continue outer; // บรรทัด b } console.log("j: ", j); } // สิ้นสุดประโยคคำสั่ง for @@ -100,8 +100,7 @@ outer: for(var i=0; i < 2; i++) { // บรรทัด a /* แสดงผลลัพธ์ "i: 0" "j: 0" -"i: 1" - */ +"i: 1" */ ``` ```js From ab7a3b232540281c808522f25eb84955e4a20974 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 17:04:30 +0700 Subject: [PATCH 216/757] no message --- examples_book/Chapter05.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter05.md b/examples_book/Chapter05.md index de08c9d..9f593a7 100644 --- a/examples_book/Chapter05.md +++ b/examples_book/Chapter05.md @@ -4,16 +4,16 @@ ```js { - var a = 2; // ประโยคคำสั่ง 1 - a++; // ประโยคคำสั่ง 2 + var a = 2; // ประโยคคำสั่ง 1 + a++; // ประโยคคำสั่ง 2 console.log(a); // ประโยคคำสั่ง 3 } ``` ```js if (true) { - var a = 2; // ประโยคคำสั่ง 1 - a++; // ประโยคคำสั่ง 2 + var a = 2; // ประโยคคำสั่ง 1 + a++; // ประโยคคำสั่ง 2 console.log(a); // ประโยคคำสั่ง 3 } ``` From 5004e66c3b4f812da9f3c9971d581b82eb66fb83 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 17:12:52 +0700 Subject: [PATCH 217/757] no message --- examples_book/md.css | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/examples_book/md.css b/examples_book/md.css index b7b91f3..a1b8a7c 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -23,24 +23,15 @@ /*input[type=button], input[type=submit], input[type=reset] {*/ .run-btn { background-color: #04AA6D; + font-weight: bold; border: none; color: white; - padding: 8px 16px; + padding: 4px 16px; text-decoration: none; margin: 0px 2px 20px 0px; cursor: pointer; } -/*.clear_btn { - background-color: #04AA6D; - border: none; - color: white; - padding: 5px 20px; - text-decoration: none; - margin: 10px 2px 5px 0px; - cursor: pointer; -}*/ - textarea { font-size: 13pt; background-color: #F5F5F5; From 017c2126d605e800e763fd34d93d2af9e3d9ab25 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 17:15:39 +0700 Subject: [PATCH 218/757] no message --- examples_book/Chapter05.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter05.md b/examples_book/Chapter05.md index 9f593a7..df227fe 100644 --- a/examples_book/Chapter05.md +++ b/examples_book/Chapter05.md @@ -98,9 +98,9 @@ outer: for(var i=0; i < 2; i++) { // บรรทัด a } // สิ้นสุดประโยคคำสั่ง for } // สิ้นสุดประโยคคำสตั่ง for ที่ได้ติดฉลาก outer: /* แสดงผลลัพธ์ -"i: 0" -"j: 0" -"i: 1" */ +"i: 0" +"j: 0" +"i: 1" */ ``` ```js From ce0135e88bd091b9df00bd4fcb29c72d5ff8711e Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 18:05:00 +0700 Subject: [PATCH 219/757] no message --- examples_book/Chapter05.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter05.md b/examples_book/Chapter05.md index df227fe..d77a416 100644 --- a/examples_book/Chapter05.md +++ b/examples_book/Chapter05.md @@ -113,7 +113,7 @@ outer: while(true) { // บรรทัด a } // สิ้นสุดประโยคคำสั่ง for } // สิ้นสุดประโยคคำสั่ง while // แสดงผลลัพธ์ -// "i: 0" +// "i: 0" ``` ## ประโยคเลือกเส้นทางการทำงาน From 8c93c63ff3b95d5d7175e44f76551a2b80589cc5 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 18:56:27 +0700 Subject: [PATCH 220/757] no message --- examples_book/Chapter05.md | 2 +- examples_book/mylib.js | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter05.md b/examples_book/Chapter05.md index d77a416..4814498 100644 --- a/examples_book/Chapter05.md +++ b/examples_book/Chapter05.md @@ -317,7 +317,7 @@ console.log(foo()); // บรรทัด c ไม่ /* แสดงผลลัพธ์ "finally" จากนั้นจะจบการทำงานพร้อมแจ้ง error ว่า -"error: Uncaught ReferenceError: x is not defined" +"Uncaught ReferenceError: x is not defined" */ ``` diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 3c7a859..15e5e68 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -106,8 +106,11 @@ //codeTxt = codeTxt.replaceAll(/-0.(?++++Error++++"); - console.log("#" + e.stack + ""); + console.log("#++++Error++++"); + console.log("#Uncaught " + e + ""); + if(e.stack) { + console.log("#" + e.stack + ""); + } } } textCodeArea.classList.add("run-already"); From fe36488048f4b57463b82f6749ef53b619e0887e Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 19:14:51 +0700 Subject: [PATCH 221/757] no message --- examples_book/Chapter05.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter05.md b/examples_book/Chapter05.md index 4814498..058f641 100644 --- a/examples_book/Chapter05.md +++ b/examples_book/Chapter05.md @@ -327,7 +327,7 @@ console.log(foo()); // บรรทัด c ไม่ try { console.log(x); // บรรทัด a เกิด error } catch { // มาตรฐานใหม่ ด้านหลัง catch ไม่จำเป็นต้องมีวงเล็บ ไม่ต้องระบุชื่อตัวแปร - console.error("Error"); + console.log("Error"); } /* แสดงผลลัพธ์ "Error" */ @@ -337,7 +337,7 @@ try { try { console.log(x); // บรรทัด a เกิด error } catch(e) { // มาตรฐานเก่า ด้านหลัง catch ต้องมีวงเล็บแล้วให้ระบุชื่อตัวแปร - console.error("Error"); + console.log("Error"); } /* แสดงผลลัพธ์ "Error" */ From 29b0a103f903378f813fea4ab1f3d113b05c1f7b Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 19:24:57 +0700 Subject: [PATCH 222/757] no message --- examples_book/Chapter06.md | 1 - 1 file changed, 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 76167d6..e960114 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -123,7 +123,6 @@ console.log(value1); // 1 ```js console.log( {a:1} == {a:1} ); // false console.log( {a:1} === {a:1} ); // false - ``` ```js From 522e2fd55ba288da0785fed6aea7a74f14a6ccd3 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 19:28:33 +0700 Subject: [PATCH 223/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index e960114..75cc860 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -178,7 +178,7 @@ var obj2 = { } // สิ้นสุดการประกาศฟังก์ชั่น foo() } // สิ้นสุดการประกาศฟังก์ชั่น bar() }; -obj2.bar(); // "this.a = 1" +obj2.bar(); // "this.a = 1" obj1.foo(); // "this.a = undefined" ``` From 816af6e3e055a41dd2cc432cf7aefb6465baa58c Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 19:35:58 +0700 Subject: [PATCH 224/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 75cc860..169c966 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -240,7 +240,7 @@ var font = { } }; console.log(font.color); // "red" -font.color = "blue"; // ไม่มีผลอะไรเกิดขึ้น หรือจะเกิด TypeError ในโหมดสตริคท์ +font.color = "blue"; // ไม่มีผลอะไรเกิดขึ้น หรือเกิด TypeError ในโหมดสตริคท์ console.log(font.color); // "red" ``` From 3e0ef8cf0910311373b8cf9ab8a78fdc66306c64 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 19:46:35 +0700 Subject: [PATCH 225/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 169c966..5f22e82 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -260,7 +260,7 @@ console.log(font.color); // "blue" ``` ## โอเปอเรเตอร์ delete - +* หมายเหตุ โค้ดนี้ควรรันผ่านเว็บเบราเซอร์ หรือ Node.js จะดีกว่า เพราะถ้ากดปุ่มรัน ตัวแปร a จะไม่ใช่ตัวแปรของอ็อบเจ็กตโกลบอล จึงทำให้ประโยคคำสั่ง delete a ได้คำตอบเป็น false ```js var obj = {x:1 ,y:2}; console.log(delete obj.x); // true From ca762d1fe443cb6aa8d81a86f01b769d395734d6 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 19:47:28 +0700 Subject: [PATCH 226/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 5f22e82..31651ad 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -260,7 +260,7 @@ console.log(font.color); // "blue" ``` ## โอเปอเรเตอร์ delete -* หมายเหตุ โค้ดนี้ควรรันผ่านเว็บเบราเซอร์ หรือ Node.js จะดีกว่า เพราะถ้ากดปุ่มรัน ตัวแปร a จะไม่ใช่ตัวแปรของอ็อบเจ็กตโกลบอล จึงทำให้ประโยคคำสั่ง delete a ได้คำตอบเป็น false +* หมายเหตุ โค้ดนี้ควรรันผ่านเว็บเบราเซอร์ หรือ Node.js จะดีกว่า เพราะถ้ากดปุ่มรัน ตัวแปร a จะไม่ใช่ตัวแปรของอ็อบเจ็กต์โกลบอล จึงทำให้ประโยคคำสั่ง delete a ได้คำตอบเป็น true ```js var obj = {x:1 ,y:2}; console.log(delete obj.x); // true From 776b7b31b39157bd87c9174f602fabf58fd27c96 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 20:51:39 +0700 Subject: [PATCH 227/757] no message --- examples_book/Chapter06.md | 2 +- examples_book/mylib.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 31651ad..c2aa145 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -330,7 +330,7 @@ console.log(blueCar.color); // "blue" ```js function Car(color) { - this.color = color; // ถ้าเป็นโหมดสตริคท์จะเกิด error ขึ้นได้ + this.color = color; // ถ้าเป็นโหมดสตริคท์จะเกิด SyntaxError ขึ้นได้ return true; } var blueCar = Car("blue"); // เป็นการเรียกฟังก์ชั่นธรรดา diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 15e5e68..6d339be 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -17,11 +17,11 @@ return (str.length >1) ? str.slice(0, -2) + ']': '[]'; } else { - let str = "{"; + let str = "{ "; for(const [key, value] of Object.entries(data)){ - str += ""+key+":"+ toString(value) + ", "; + str += ""+key+": "+ toString(value) + ", "; } - return (str.length >1) ? str.slice(0, -2) + '}': '{}'; + return (str.length >1) ? str.slice(0, -2) + ' }': '{}'; } } else if( typeof data === 'string'){ From c166e1246b72e27b1e4e285d93437d07c1f9c804 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 21:00:57 +0700 Subject: [PATCH 228/757] no message --- examples_book/Chapter06.md | 2 +- examples_book/mylib.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index c2aa145..207b3e6 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -67,7 +67,7 @@ console.log(obj[undefined]); // 4 ```js var obj = { - { }: 1 // เกิด error ไม่สามารถใช้อ็อบเจ็กต์เป็นคีย์ได้โดยตรง + { }: 1 // เกิด SyntaxError ไม่สามารถใช้อ็อบเจ็กต์เป็นคีย์ได้โดยตรง }; ``` diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 6d339be..8cc116c 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -21,7 +21,7 @@ for(const [key, value] of Object.entries(data)){ str += ""+key+": "+ toString(value) + ", "; } - return (str.length >1) ? str.slice(0, -2) + ' }': '{}'; + return (str.length >2) ? str.slice(0, -2) + ' }': '{}'; } } else if( typeof data === 'string'){ From ee9a3fe23ac5821c203232d1bdd325c3e7ec8500 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 21:03:29 +0700 Subject: [PATCH 229/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 207b3e6..f27ca1a 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -67,7 +67,7 @@ console.log(obj[undefined]); // 4 ```js var obj = { - { }: 1 // เกิด SyntaxError ไม่สามารถใช้อ็อบเจ็กต์เป็นคีย์ได้โดยตรง + { }: 1 // เกิด SyntaxError ไม่สามารถใช้อ็อบเจ็กต์เป็นคีย์โดยตรง }; ``` From 178e0e3f467664abfa7e389896c57c8aada94681 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 21:10:57 +0700 Subject: [PATCH 230/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index f27ca1a..e73a5f1 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -330,7 +330,7 @@ console.log(blueCar.color); // "blue" ```js function Car(color) { - this.color = color; // ถ้าเป็นโหมดสตริคท์จะเกิด SyntaxError ขึ้นได้ + this.color = color; // ถ้าเป็นโหมดสตริคท์จะเกิด TypeError ขึ้นได้ return true; } var blueCar = Car("blue"); // เป็นการเรียกฟังก์ชั่นธรรดา From 1fca37cd705f13d7e10c2aa967745626f57b7988 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 21:15:47 +0700 Subject: [PATCH 231/757] no message --- examples_book/Chapter06.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index e73a5f1..6c7f253 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -417,9 +417,9 @@ Car.prototype.drive = function() { console.log("Drive a", this.color, "car"); // this จะชี้ไปยังอ็อบเจ็กต์ที่ถูกสร้างขึ้นมา }; var redCar = new Car("red"); -redCar.drive(); // " Drive a red car" +redCar.drive(); // "Drive a red car" var blueCar = new Car("blue"); -blueCar.drive(); // " Drive a blue car" +blueCar.drive(); // "Drive a blue car" console.log( Object.getPrototypeOf(redCar) === Car.prototype); // true console.log( Object.getPrototypeOf(blueCar) === Car.prototype); // true ``` From 213e228b617f5ac06ef5e2e71106656e43f59b29 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 21:20:24 +0700 Subject: [PATCH 232/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 6c7f253..f4aa76a 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -519,7 +519,7 @@ Function.prototype.sayMsg = function(msg) { console.log("Function say:", msg); }; function myFunction() { } -myFunction.sayMsg("Hello"); // " Function say: Hello" +myFunction.sayMsg("Hello"); // "Function say: Hello" // อาร์เรย์ Array.prototype.sayMsg = function(msg) { console.log("Array say:", msg); From d9c513b1dc62b3c07255a32f7e9b6c98d3d7d031 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 21:42:14 +0700 Subject: [PATCH 233/757] no message --- examples_book/mylib.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 8cc116c..fc47640 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -14,7 +14,10 @@ if("index" in data) str = str + "index: " + toString(data.index) + ", ";; if("input" in data) str = str + "input: " + toString(data.input) + ", ";; if("groups" in data) str = str + "groups: " + toString(data.groups) + ", ";; - return (str.length >1) ? str.slice(0, -2) + ']': '[]'; + return (str.length >1) ? str.slice(0, -2) + ']': '[]'; + + } else if( data instanceof Date){ + return data.toString(); } else { let str = "{ "; From a9ddc2a993bdbf1ca447cf6580d8fdb9ca5cdcef Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 21:49:19 +0700 Subject: [PATCH 234/757] no message --- examples_book/Chapter06.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index f4aa76a..061259c 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -720,12 +720,13 @@ console.log(array2); // [ <3 empty slots> ] ### Date ```js -console.log(Date()); // "Mon Feb 06 2023 09:28:22 GMT+0700 (Indochina Time)" -console.log(new Date()); // "2023-02-06T02:25:29.853" +console.log(Date()); // "Fri Sep 08 2023 21:33:45 GMT+0700 (Indochina Time)" +console.log(new Date()); // "Fri Sep 08 2023 21:33:45 GMT+0700 (Indochina Time)" ``` ```js -console.log( new Date("October 20, 2023 11:13:00") ); // 2023-10-20T04:13:00.000Z +console.log( new Date("October 20, 2023 11:13:00") ); +// "Fri Oct 20 2023 11:13:00 GMT+0700 (Indochina Time)" ``` ## เมธอดของสตริง @@ -789,10 +790,10 @@ array.forEach(function (value, index, arrayObj) { console.log("a[", index, "] = ", value); }); /* แสดงผลลัพธ์ -"a[ 0 ] = a" -"a[ 1 ] = b" -"a[ 2 ] = c" -"a[ 3 ] = d" */ +"a[ 0 ] = a" +"a[ 1 ] = b" +"a[ 2 ] = c" +"a[ 3 ] = d" */ ``` ## ฟังก์ชั่นก็เป็นอ็อบเจ็กต์ From 14c2874352d88edd4c98962fca2e30dcd6035c82 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 21:51:20 +0700 Subject: [PATCH 235/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 061259c..32788fa 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -807,7 +807,7 @@ foo(); // undefined foo.x = 100; // เพิ่มเข้าไป เพื่อให้ a.x หาเจอ console.log(foo.x) // 100 -foo(); // เรียกใช้ได้ แสดง 100 ออกมา +foo(); // เรียกใช้ได้ โดยจะแสดง 100 ออกมา foo["x"] = true // ใช้วงเล็บเหลี่ยมในการเข้าถึง x foo["name"] = "My function"; // ใช้วงเล็บเหลี่ยมเพิ่มพร๊อพเพอร์ตี้ name เข้าไป ``` From 3db3d1e56bf80449e2e3bfff7a9ccdbd385dc822 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 22:00:44 +0700 Subject: [PATCH 236/757] no message --- examples_book/Chapter06.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 32788fa..bc9e1a9 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -815,17 +815,16 @@ foo["name"] = "My function"; // ใช้วงเล็บเหลี่ ## เกร็ดความรู้ ```js +function showData(person) { + console.log("Person is", person.name, ", age is", person.age ); +} let person = { // บรรทัด a name: "Somchai", age: 23 } -function showData(person) { - console.log("Person is", person.name, ", age is", person.age ); -} showData(person) // บรรทัด b /* แสดงผลลัพธ์ -Person is Somchai , age is 23 -*/ +Person is Somchai , age is 23 */ ``` ```js From 14debdc7e0045a70a4747040964f3e75dec49c2d Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 22:05:27 +0700 Subject: [PATCH 237/757] no message --- examples_book/Chapter06.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index bc9e1a9..d15a75c 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -836,8 +836,7 @@ showData({ // บรรทัด a age: 23 }) /* แสดงผลลัพธ์ -Person is Somchai , age is 23 -*/ +Person is Somchai , age is 23 */ ``` ```js From cf1cfb6525174504db368039c3c09fcee1789f24 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 22:25:03 +0700 Subject: [PATCH 238/757] no message --- examples_book/Chapter06.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index d15a75c..2e84281 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -914,16 +914,16 @@ console.log(JSON.stringify(obj)); ```js var obj = { people: [ - { firstName: "Somchai", lastName: "Jaidee" }, - { firstName: "Mana", lastName: "Dekdee" }, - { firstName: "Surat", lastName: "Khonthai" } + { firstName: “Somchai”, lastName: “Jaidee” }, + { firstName: “Mana”, lastName: “Dekdee” }, + { firstName: “Surat”, lastName: “Khonthai” } ] , - age: Symbol("1") + age: Symbol(“1”) }; console.log(JSON.stringify(obj)); -// แสดงผลลัพธ์เป็น -// {"people":[{"firstName":"Somchai","lastName":"Jaidee"},{"firstName":"Mana", -// "lastName":"Dekdee"},{"firstName":"Surat","lastName":"Khonthai"}]} +/* แสดงผลลัพธ์เป็น +{“people”:[{“firstName”:“Somchai”,“lastName”:“Jaidee”},{“firstName”:“Mana”, + “lastName”:”Dekdee”},{“firstName”:“Surat”,“lastName”:“Khonthai”}]} */ ``` ```js From 1699c3eed8100e6c7f79c1e3568f5c1778d4802b Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 22:27:33 +0700 Subject: [PATCH 239/757] no message --- examples_book/Chapter06.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 2e84281..02326db 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -914,16 +914,16 @@ console.log(JSON.stringify(obj)); ```js var obj = { people: [ - { firstName: “Somchai”, lastName: “Jaidee” }, - { firstName: “Mana”, lastName: “Dekdee” }, - { firstName: “Surat”, lastName: “Khonthai” } + { firstName: "Somchai", lastName: "Jaidee" }, + { firstName: "Mana", lastName: "Dekdee" }, + { firstName: "Surat", lastName: "Khonthai" } ] , - age: Symbol(“1”) + age: Symbol("1") }; console.log(JSON.stringify(obj)); /* แสดงผลลัพธ์เป็น -{“people”:[{“firstName”:“Somchai”,“lastName”:“Jaidee”},{“firstName”:“Mana”, - “lastName”:”Dekdee”},{“firstName”:“Surat”,“lastName”:“Khonthai”}]} */ +{"people":[{"firstName":"Somchai","lastName":"Jaidee"},{"firstName":"Mana", + "lastName":"Dekdee"},{"firstName":"Surat","lastName":"Khonthai"}]} */ ``` ```js From 1a870f49b62402338b88be34e929198c76dc5f39 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 8 Sep 2023 23:03:25 +0700 Subject: [PATCH 240/757] no message --- examples_book/Chapter06.md | 1 - examples_book/mylib.js | 14 +++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 02326db..23b9b86 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -593,7 +593,6 @@ for(var prop in font) { "x" "y " "z " */ - ``` ```js diff --git a/examples_book/mylib.js b/examples_book/mylib.js index fc47640..6599403 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -4,31 +4,31 @@ if(data == null || data == undefined ) { return ""+ data; - } else if( typeof data === 'object'){ + //} else if( typeof data === 'object'){ - if( data instanceof Array){ - let str = "["; + } else if( data instanceof Array){ + let str = "[ "; for(const value of data) { str += ""+ toString(value) + ", "; } if("index" in data) str = str + "index: " + toString(data.index) + ", ";; if("input" in data) str = str + "input: " + toString(data.input) + ", ";; if("groups" in data) str = str + "groups: " + toString(data.groups) + ", ";; - return (str.length >1) ? str.slice(0, -2) + ']': '[]'; + return (str.length >2) ? str.slice(0, -2) + ' ]': '[]'; } else if( data instanceof Date){ return data.toString(); - } else { + } else if( typeof data === 'object'){ let str = "{ "; for(const [key, value] of Object.entries(data)){ str += ""+key+": "+ toString(value) + ", "; } return (str.length >2) ? str.slice(0, -2) + ' }': '{}'; - } + //} } else if( typeof data === 'string'){ - return '"' +data + '"'; + return `"${data}"`; } else { return String(data); // recursive From c5b987082d9f591efddc712ec2910cc82f39267c Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 05:48:21 +0700 Subject: [PATCH 241/757] no message --- examples_book/mylib.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 6599403..4307eac 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -7,14 +7,15 @@ //} else if( typeof data === 'object'){ } else if( data instanceof Array){ - let str = "[ "; + let str = "["; for(const value of data) { str += ""+ toString(value) + ", "; } - if("index" in data) str = str + "index: " + toString(data.index) + ", ";; - if("input" in data) str = str + "input: " + toString(data.input) + ", ";; - if("groups" in data) str = str + "groups: " + toString(data.groups) + ", ";; - return (str.length >2) ? str.slice(0, -2) + ' ]': '[]'; + // .replaceAll(/"/g, "'") + if("index" in data) str = str + `index: ${toString(data.index)}, `; + if("input" in data) str = str + `input: ${toString(data.input)}, `; + if("groups" in data) str = str + `groups: ${toString(data.groups)}, `; + return (str.length >1) ? str.slice(0, -2) + ']': '[]'; } else if( data instanceof Date){ return data.toString(); @@ -28,7 +29,7 @@ //} } else if( typeof data === 'string'){ - return `"${data}"`; + return `'${data}'`; } else { return String(data); // recursive From 161af06237c683b50cb6e1229189a4f45ccfa64a Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 07:14:22 +0700 Subject: [PATCH 242/757] no message --- examples_book/Chapter06.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 23b9b86..ab7bf8d 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -551,6 +551,16 @@ num.sayMsg("Hello"); // "Number say: Hello" (123).sayMsg("Hello"); // "Number say: Hello" ``` +* หมายเหตุ เพื่อป้องกันความผิดจากการรันโคดด้านล่าง ก็ควรจะลบ sayMsg ออกไปก่อน ด้วยโค้ดต่อไปนี้(ในหนังสือไม่มีโค้ดชุดนี้) +```js +delete Function.prototype.sayMsg; +delete Array.prototype.sayMsg; +delete Object.prototype.sayMsg +delete String.prototype.sayMsg +delete Boolean.prototype.sayMsg +delete Number.prototype.sayMsg +``` + ## โอเปอเรเตอร์ in ```js From 5e3d1532d8b6aa116741c329acbc5e0c24d78dd3 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 07:15:51 +0700 Subject: [PATCH 243/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index ab7bf8d..658d0dc 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -551,7 +551,7 @@ num.sayMsg("Hello"); // "Number say: Hello" (123).sayMsg("Hello"); // "Number say: Hello" ``` -* หมายเหตุ เพื่อป้องกันความผิดจากการรันโคดด้านล่าง ก็ควรจะลบ sayMsg ออกไปก่อน ด้วยโค้ดต่อไปนี้(ในหนังสือไม่มีโค้ดชุดนี้) +* หมายเหตุ เพื่อป้องกันความผิดจากการรันโคดด้านล่าง ก็ควรจะลบ sayMsg ก่อนหน้านี้ออกไปก่อน ด้วยโค้ดต่อไปนี้(ในหนังสือไม่มีโค้ดชุดนี้) ```js delete Function.prototype.sayMsg; delete Array.prototype.sayMsg; From 468bf5bcc9117de4cdf1a83c3af6250bffa803f0 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 07:17:08 +0700 Subject: [PATCH 244/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 658d0dc..1047919 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -551,7 +551,7 @@ num.sayMsg("Hello"); // "Number say: Hello" (123).sayMsg("Hello"); // "Number say: Hello" ``` -* หมายเหตุ เพื่อป้องกันความผิดจากการรันโคดด้านล่าง ก็ควรจะลบ sayMsg ก่อนหน้านี้ออกไปก่อน ด้วยโค้ดต่อไปนี้(ในหนังสือไม่มีโค้ดชุดนี้) +* หมายเหตุ เพื่อป้องกันความผิดจากการรันโคดด้านล่าง ก็ควรจะลบ sayMsg ก่อนหน้านี้ออกไปก่อน ด้วยโค้ดต่อไปนี้ (ในหนังสือไม่มีโค้ดชุดนี้) ```js delete Function.prototype.sayMsg; delete Array.prototype.sayMsg; From 3389e92dda66fa065e9e7fb6c3db23ffe8dfd291 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 07:19:41 +0700 Subject: [PATCH 245/757] no message --- examples_book/md2html.js | 2 +- examples_book/mylib.js | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/examples_book/md2html.js b/examples_book/md2html.js index d1fe896..3392db4 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -49,7 +49,7 @@ async function genHTML(fileName){ allLines += `
    - +
    `; diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 4307eac..e926d66 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -88,13 +88,13 @@ } } - function evalCode(count) { - resultAreaId = `#displayResult${count}`; + function evalCodeBtn(btn, count) { + resultAreaId = `#displayResult${count}`; + clearDisplay(resultAreaId); let textCodeArea = document.querySelector(`#codeArea${count}`); let codeTxt = textCodeArea.value; - clearDisplay(resultAreaId); - + if( codeTxt.includes("")>0 ) { const link = document.createElement("a"); const content = codeTxt; @@ -118,4 +118,5 @@ } } textCodeArea.classList.add("run-already"); + btn.vate = "Run again"; } \ No newline at end of file From a1484a42e30d881901b970fe02b2b56a0d08933b Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 07:28:22 +0700 Subject: [PATCH 246/757] no message --- examples_book/Chapter06.md | 4 ++-- examples_book/md2html.js | 2 +- examples_book/mylib.js | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 1047919..eacfba4 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -768,9 +768,9 @@ console.log(str); // "a->b->c->d" ```js var array = [ ]; array.push("a", "b", "c", "d"); // เพิ่มสมาชิกกี่ตัวก็ได้ -console.log(array); // ["a", "b", "c", "d"] +console.log(array); // ['a', 'b', 'c', 'd'] console.log(array.pop()); // "d" -console.log(array); // ["a", "b", "c"] +console.log(array); // ['a', 'b', 'c'] ``` ```js diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 3392db4..9486c48 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -49,7 +49,7 @@ async function genHTML(fileName){ allLines += `
    - +
    `; diff --git a/examples_book/mylib.js b/examples_book/mylib.js index e926d66..266b885 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -88,7 +88,7 @@ } } - function evalCodeBtn(btn, count) { + function evalCodeBtn(count) { resultAreaId = `#displayResult${count}`; clearDisplay(resultAreaId); @@ -118,5 +118,5 @@ } } textCodeArea.classList.add("run-already"); - btn.vate = "Run again"; + //btn.value = "Run again"; } \ No newline at end of file From 9cd407e4d4bb0cc15326e13a7de6d5d799fe9033 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 09:30:25 +0700 Subject: [PATCH 247/757] no message --- examples_book/Chapter06.md | 5 +++-- examples_book/mylib.js | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index eacfba4..801ca9e 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -768,9 +768,10 @@ console.log(str); // "a->b->c->d" ```js var array = [ ]; array.push("a", "b", "c", "d"); // เพิ่มสมาชิกกี่ตัวก็ได้ -console.log(array); // ['a', 'b', 'c', 'd'] +console.log(array); // [ 'a', 'b', 'c', 'd' ] console.log(array.pop()); // "d" -console.log(array); // ['a', 'b', 'c'] +console.log(array); // [ 'a', 'b', 'c' ] + ``` ```js diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 266b885..730f876 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -7,7 +7,7 @@ //} else if( typeof data === 'object'){ } else if( data instanceof Array){ - let str = "["; + let str = "[ "; for(const value of data) { str += ""+ toString(value) + ", "; } @@ -15,7 +15,7 @@ if("index" in data) str = str + `index: ${toString(data.index)}, `; if("input" in data) str = str + `input: ${toString(data.input)}, `; if("groups" in data) str = str + `groups: ${toString(data.groups)}, `; - return (str.length >1) ? str.slice(0, -2) + ']': '[]'; + return (str.length >2) ? str.slice(0, -2) + ' ]': '[]'; } else if( data instanceof Date){ return data.toString(); From 9d3d56aea647a966551a70b725c4bcc255cc8d49 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 09:31:11 +0700 Subject: [PATCH 248/757] no message --- examples_book/Chapter06.md | 1 - 1 file changed, 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 801ca9e..4ac6c95 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -771,7 +771,6 @@ array.push("a", "b", "c", "d"); // เพิ่มสมาชิกกี console.log(array); // [ 'a', 'b', 'c', 'd' ] console.log(array.pop()); // "d" console.log(array); // [ 'a', 'b', 'c' ] - ``` ```js From 2b4ff57655fb6eec18a9aec0a3055915b91b3505 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 09:41:40 +0700 Subject: [PATCH 249/757] no message --- examples_book/Chapter07.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 5ea60c3..64a3a11 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -54,7 +54,7 @@ console.log(re.exec("I like u")); // [ 'like', index: 2, input: 'I like u', gr ```js var re = /html|div|br/; -console.log(re.exec("
    ")); //[ 'div', index: 1, input: '
    ', groups: undefined ] +console.log(re.exec("
    ")); // [ 'div', index: 1, input: '
    ', groups: undefined ] ``` ### การระบุช่วงตัวอักษรที่จับคู่ From 1798b8ef3627c2441bcb0c67da261140c97bef58 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 10:15:14 +0700 Subject: [PATCH 250/757] no message --- examples_book/Chapter07.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 64a3a11..67425d1 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -86,7 +86,7 @@ console.log(re.exec("COM")); // [ 'C', index: 0, input: 'COM', groups: undefi ```js var re = /[a-cA-C]/; -console.log(re.exec("AND")); // [ 'A', index: 0, input: 'ANT', groups: undefined ] +console.log(re.exec("AND")); // [ 'A', index: 0, input: 'AND', groups: undefined ] ``` ```js From 6b2e0707f0d8f0d965590926400245fccd7bf042 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 10:47:25 +0700 Subject: [PATCH 251/757] no message --- examples_book/Chapter07.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 67425d1..015242d 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -148,7 +148,7 @@ console.log(re.exec("555")); // [ '55', index: 0, input: '555', groups: undef ``` ```js -var re = /e{1, 3}/; +var re = /e{1,3}/; console.log(re.exec("deep")); // [ 'ee', index: 1, input: 'deep', groups: undefined ] ``` From 51f585a87e9ba7a8dfe28e995334c59e3a928bed Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 10:49:26 +0700 Subject: [PATCH 252/757] no message --- examples_book/Chapter07.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 015242d..7eafe29 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -153,7 +153,7 @@ console.log(re.exec("deep")); // [ 'ee', index: 1, input: 'deep', groups: unde ``` ```js -var re = /a{2, }/; +var re = /a{2,}/; console.log(re.exec("zaaa")); // [ 'aaa', index: 1, input: 'zaaa', groups: undefined ] ``` From ffbd27c7a7b989466477bdce242ec12c2fc10fdc Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 11:05:03 +0700 Subject: [PATCH 253/757] no message --- examples_book/Chapter07.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 7eafe29..c615f80 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -199,12 +199,12 @@ console.log(re.exec("item1")); // [ 'em1', index: 2, input: 'item1', groups: ```js console.log("012Hellooooo".search(/Hello+/)); // 3 var result = "Hellooooo Hello".match(/Hello+/g); -console.log(result); // ["Hellooooo", "Hello"] +console.log(result); // ['Hellooooo', 'Hello'] console.log(result.length); // 2 var str = "Hellooooo".replace(/Hello+/,"Bye"); console.log(str); // "Bye" -var split = "1,2,3".split(/,/); -console.log(split); // ["1", "2", "3"] +var split = "1,2,3".split(/,/); +console.log(split); // ['1', '2', '3'] ``` ### ค่าแฟล็ก From 07b0a04516c8e3b27a8023b5e136dc809c453d26 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 9 Sep 2023 11:08:54 +0700 Subject: [PATCH 254/757] no message --- examples_book/Chapter07.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index c615f80..58d0768 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -199,12 +199,12 @@ console.log(re.exec("item1")); // [ 'em1', index: 2, input: 'item1', groups: ```js console.log("012Hellooooo".search(/Hello+/)); // 3 var result = "Hellooooo Hello".match(/Hello+/g); -console.log(result); // ['Hellooooo', 'Hello'] +console.log(result); // [ 'Hellooooo’, 'Hello’ ] console.log(result.length); // 2 var str = "Hellooooo".replace(/Hello+/,"Bye"); console.log(str); // "Bye" var split = "1,2,3".split(/,/); -console.log(split); // ['1', '2', '3'] +console.log(split); // [ '1’, '2’, '3’ ] ``` ### ค่าแฟล็ก From cf62dd29065d12391cf42a834036f5535bbedc98 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 10:24:32 +0700 Subject: [PATCH 255/757] no message --- examples_book/Chapter02.md | 281 ++++++++ examples_book/Chapter04.md | 1240 +++++++----------------------------- examples_book/Chapter05.md | 1108 +++++++++++++++++++++++++------- examples_book/Chapter06.md | 986 ++++------------------------ examples_book/Chapter07.md | 268 +------- examples_book/README.md | 12 +- examples_book/md2html.js | 26 +- 7 files changed, 1550 insertions(+), 2371 deletions(-) create mode 100644 examples_book/Chapter02.md diff --git a/examples_book/Chapter02.md b/examples_book/Chapter02.md new file mode 100644 index 0000000..b2d64bf --- /dev/null +++ b/examples_book/Chapter02.md @@ -0,0 +1,281 @@ +# โค้ดบทที่ 2 รันจาวาสคริปต์อย่างง่าย + +## จาวาสคริปต์บนเว็บเบราเซอร์ + +### วิธีแทรกจาวาสคริปต์ลงในไฟล์ HTML + +```html + + + + + + +

    +
    +

    + + + +``` + +### ตัวอย่างการวางจาวาสคริต์ใน <body> ...</body> + +```html + + + + + +

    Hello, world!

    + + +``` + +```html + + + + + +

    + + + +``` + +### ตัวอย่างการวางจาวาสคริต์ใน <head< ...</head> + +```html + + + + + + + +

    Hello, World!

    + + +``` + +```html + + + + + + + +

    + + +``` + +```html + + + + + + + +

    + + + +``` + +### ตัวอย่างการใช้งาน ES6 ในฝั่งเว็บเบราเซอร์ + +```html + + + + + +

    + + + +``` + +### แยกไฟล์จาวาสคริปต์ ออกจาก HTML + + +* [ไฟล์ myScript_1.js](Chapter03/myScript_1.js) + +* [ไฟล์ myScript_2.js](Chapter03/myScript_2.js) + +```html + + + + + + + + + +``` + +## จาวาสคริปต์ ES บนเว็บเบราเซอร์รุ่นเก่า + +### ตัวอย่างการใช้งาน Traceur + +```html + + + + + + + + + + +

    + + + +``` + +### ตัวอย่างการใช้งาน Babel + +```html + + + + + + + +

    + + + +``` + +## จาวาสคริปต์นอกเว็บเบราเซอร์ด้วย Node.js + +### รันจาวาสคริปต์นอกเว็บเบราเซอร์ จากไฟล์นามสกุล .js ตามลำพัง + +```js +class Chat { + constructor(message) { + this.message = message; + } + say() { + console.log(this.message); + } +}; +let chat = new Chat("Hello, world!"); +chat.say(); +``` + +### ตัวอย่างการรันจาวาสคริปต์ให้กลายเป็นเซิร์ฟเวอร์ + +```js +var http = require('http'); +http.createServer(function (request, response) { + response.writeHead(200, {'Content-Type': 'text/plain'}); + response.end("Hello, world!"); +}).listen(8001, '127.0.0.1'); +console.log('Server running at http://127.0.0.1:8001/'); +``` + +## จาวาสคริปต์นอกเว็บเบราเซอร์ด้วย Deno + +```js +import { serve } from "https://deno.land/std@0.97.0/http/server.ts"; +const s = serve({ port: 8000 }); +console.log("http://localhost:8000/"); +for await (const req of s) { + req.respond({ body: "Hello, world!" }); +} +``` + +## เครื่องมือในการดีบั๊ก + +```html + + + + + +

    + + + +``` diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 2f23143..22cd4ff 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -1,1119 +1,365 @@ -# โค้ดบทที่ 4 ทบทวนมาตรฐานเก่า +# โค้ดบทที่ 4 ทบทวนประโยคคำสั่งเบื้องต้น -## คอมเมนต์ -```js -var x = 10; //This is an example. -``` - -```js -/* This is an example -ECMAScript 6 is very easy*/ -var x = 10; -``` - -## console.log() -```html - - - - -

    Hello, world!

    - - - -``` - -```js -console.log("Hello world", 122, 333.333); // "Hello world 122 333.333" -``` - -### debugger -```js -console.log("line 1"); // "line 1" -debugger; // บรรทัดนี้เป็นตำแหน่งของ breakpoint เพื่อหยุดการทำงานของโปรแกรมชั่วขณะ ตอนดีบั๊กโปรแกรม -console.log("line 2"); // "line 2" -``` - -## การใช้เซมิโคลอน (;) -```js -console.log("Hello world"); -``` - -```js -console -.log -( -"Hello world" -); -``` - -```js -; -; -; -``` - -```js -;;;;; -``` - -```js -console.log("Hello world") -console -.log -( -"Hello world" -) -``` - -```js -var a = 1 -var b = 5 -var c = a + b -(a * b) -``` - -```js -var a = 1; -var b = 5; -var c = a + b(a * b); -``` - -```js -var a = 1 + 2 --3 + 10 -console.log(a) // 10 -``` - -```js -var a = 1 + 2 -3 + 10; -console.log(a); // 10 -``` +## บล็อก ```js -function todo() { - return { - "foo" : 1 - }; +{ + var a = 2; // ประโยคคำสั่ง 1 + a++; // ประโยคคำสั่ง 2 + console.log(a); // ประโยคคำสั่ง 3 } ``` ```js -function todo() { - return - { - "foo" : 1 - }; +if (true) { + var a = 2; // ประโยคคำสั่ง 1 + a++; // ประโยคคำสั่ง 2 + console.log(a); // ประโยคคำสั่ง 3 } ``` +## ประโยควนลูป -## เส้นทางการทำงานโปรแกรม - -```js -console.log(1); -console.log(2); -console.log(3); -console.log(4); -``` - -```js -console.log(1); console.log(2); console.log(3); console.log(4); -``` - -```js -console.log(1) console.log(2) console.log(3) console.log(4) -``` - -## การตั้งชื่อ -```js -var _ = 100; // ตั้งชื่อแบบนี้ได้ -var $ = 100; // ตั้งชื่อแบบนี้ได้ -var _a =100; // ตั้งชื่อแบบนี้ได้ -var $a =100; // ตั้งชื่อแบบนี้ได้ -var Abc = 100; // ตั้งชื่อแบบนี้ได้ -var abc = 100; // ตั้งชื่อแบบนี้ได้ แต่ทว่าตัวแปร Abc กับ abc จะถือว่าคนละชื่อกัน -var a0123 = 100; // ตั้งชื่อแบบนี้ได้ -var 9b = 100; // ทำไม่ได้ มันจะเกิด SyntaxError เพราะมีเลข 9 นำหน้าชื่อตัวแปร -var สวัสดีครับ = 100; // ตั้งชื่อภาษาไทยแบบนี้ได้ แต่ส่วนใหญ่นิยมตั้งชื่อเป็นภาษาอังกฤษ) -``` - -## คำสงวน - -```js -var let = -1; // ทำไม่ได้ มันจะเกิด SyntaxError เพราะ let เป็นคำสงวน -var this= -10; // ทำไม่ได้ มันจะเกิด SyntaxError เพราะ this เป็นคำสงวน -``` - -```js -var Date = 100; -console.log(Date); // แสดงผลลัพธ์ 100 -``` - -```js -var Date = 100; -console.log(Date); // แสดงผลลัพธ์ 100 -var d = new Date(); -console.log(d); -``` - -## การประกาศตัวแปร -```js -var x = 100; -``` - -```js -var x = 1, y = 2, z = 3; // ประกาศตัวแปร x, y และ z ให้อยู่ในบรรทัดเดียวกัน -``` - -```js -var x = 1; -var y = 2; -var z = 3; -``` - -```js -var x= 1, y = x; -/* จะเสมือนเขียนซอร์สโค้ดแบบนี้ -var x = 1; -var y = x; -*/ -``` - -```js -var x; -console.log(x); // undefined -``` - -* หมายเหตุ แสดงผลลัพธ์เหมือนรันใน Node.js -```js -var undefined = 55555; -console.log(undefined); // บนเว็บเบราเซอร์จะแสดงเป็น undefined แต่บน Node.js จะแสดงเป็น 55555 -var x; -console.log(x); // undefined -``` - -### การประกาศตัวแปรโดยไม่มี var -```js -x = 1; -``` - -* หมายเหตุ ควรรันคำส่ง delete x; ก่อน เพื่อลบตัวแปร x = 1; ที่รันก่อนหน้านี้ -```js -console.log(x); // ReferenceError -``` - -```js -var x; // ประกาศตัวแปร แต่ยังไมีการกำหนดค่าให้ x จึงมีค่าเป็น undefined -console.log(x); // undefined -``` - +### ประโยคคำสั่ง while -## ไดนามิกไทป์ ```js -var foo = 42; // เริ่มต้นตัวแปร foo จะมีชนิดข้อมูลเป็นตัวเลข -foo = "bar"; // ภายหลัง foo เปลี่ยนมาเก็บข้อมูลเป็นสตริง -foo = true; // ภายหลัง foo เปลี่ยนมาเก็บข้อมูลเป็นบูลีน -``` - -## ข้อมูล - -### null กับ undefined - -```js -console.log(null === undefined) // false -console.log(null == undefined) // true -console.log(typeof null) // "object" -console.log(typeof undefined) // "undefined" -``` - -### ตัวเลข -```js -console.log(100, 0, -0, -300, 3.14, -78.222); // 100 0 -0 -300 3.14 -78.222 -``` - -```js -console.log(200e5); // 200 x 105 = 20000000 -console.log(2E-5); // 2 x 10-5 = 0.00002 -``` - -```js -console.log(Math.sqrt(-1)); // NaN (ไม่สามารถถอดรากที่สองของ -1) -console.log(0/0); // NaN ( 0 หาร 0 ไม่มีนิยาม) -console.log(parseInt("Hi")); // NaN (ไม่สามารถแปลง "Hi" เป็นตัวเลขได้) -``` - -```js -console.log(Infinity * Infinity); // Infinity -console.log(Infinity / Infinity); // NaN -console.log(-344 * Infinity); // -Infinity -console.log(3 / Infinity); // 0 -``` - -```js -console.log(Number.MAX_VALUE); // 1.7976931348623157e+308 โดยประมาณ -console.log(Number.MAX_VALUE + 100); // 1.7976931348623157e+308 โดยประมาณ (บรรทัด 2) -console.log(Number.MAX_VALUE * 10); // Infinity (บรรทัด 3) -console.log(Number.MAX_VALUE * -10); // -Infinity (บรรทัด 4) -``` - -```js -console.log(Number.MIN_VALUE); // 5e-324 (เป็นค่าโดยประมาณ) -``` - -### สตริง -```js -"Learning JavaScript" -'Learning JavaScript' -``` - -```js -// ใช้ \" อยู่ภายในสตริง ส่วนเครื่องหมาย ' สามารถเขียนอยู่ในสตริงได้เลย -console.log("...\"Learning\" 'JavaScript'..."); // ..."Learning" 'JavaScript'... -// ใช้ \' อยู่ภายในสตริง ส่วนเครื่องหมาย " สามารถเขียนอยู่ในสตริงได้เลย -console.log('..."Learning" \'JavaScript\'...'); // ..."Learning" 'JavaScript'... -``` - -```js -var str= "line1\ -line2\ -line3"; -console.log(str); // line1line2line3 -``` - -```js -console.log("1234567890".length); // 10 -``` - -### บูลีน - -```js -var TRUE_value = true; -var FALSE_value = false -console.log(TRUE_value); // true -console.log(FALSE_value); // false -``` - -```js --5; --10.71; -"Learning JavaScript"; -true; -var a = -5; -var b = -10.71; -var c = "Learning JavaScript"; -var d = true; -``` - -## โอเปอเรเตอร์ - -### โอเปอเรเตอร์ทางคณิตศาสตร์ -```js -console.log(true + 0); // ได้ผลลัพธ์เป็น 1 เพราะ true จะถือว่ามีค่าเป็น 1 -console.log(false + false); // ได้ผลลัพธ์เป็น 0 เพราะ false จะถือว่ามีค่าเป็น 0 -console.log(100 - true); // 99 -console.log(true * 30); // 30 -console.log(true / 2); // 0.5 -console.log(true % 10); // 1 -console.log(+true); // 1 -console.log(-false); // -0 -var a = false, b=true; -console.log(++a); // 1 -console.log(--b); // 0 -``` - -```js -console.log(NaN + 30); // NaN -console.log(NaN - 30); // NaN -console.log(NaN * 30); // NaN -console.log(NaN / 30); // NaN -console.log(NaN % 30); // NaN -console.log(+NaN); // NaN -console.log(-NaN); // NaN -var x = NaN; -console.log(++x); // NaN -console.log(--x); // NaN -``` - -```js -console.log(Infinity * 0); // NaN -console.log(Infinity * 1); // Infinity -console.log(Infinity * Infinity); // Infinity -console.log(Infinity * -Infinity); // -Infinity -console.log(Infinity / 0); // Infinity -``` - -* การใช้งานโอเปอเรเตอร์ยกกำลัง (Exponentiation Operator) - -```js -var ans = 10 ** 2; // นำเลข 10 มายกกำลัง 2 ( 102 ) -console.log(ans); // 100 -// เสมือนใช้เมธอด Math.pow() ดังนี้ -console.log(ans === Math.pow(10, 2)); // true -``` - -* ลำดับของโอเปอเรเตอร์ ** - -```js -var ans = 3 * 10 ** 2; -console.log(ans); // 300 -``` - -```js -var ans = 3 * (10 ** 2); -console.log(ans); // 300 -``` -* ข้อเข้มงวดของโอเปอเรเตอร์ ** - -```js -var ans1 = -10 ** 2; // syntax error -var ans2 = +10 ** 2; // syntax error -``` - -```js -ans1 = -(10 ** 2); // -100 -ans1 = (-10) ** 2; // 100 -ans2 = +(10 ** 2); // 100 -ans2 = (+10) ** 2; // 100 -``` - -```js -var value1 = 9, value2 = 10; -// ใช้งานโอเปอเรเตอร์ ++ แบบ prefix -// ค่าของ value1 ถูกบวกด้วยหนึ่ง ก่อนที่จะยกกำลัง 2 -console.log(++value1 ** 2); // 100 -console.log(value1); // 10 -// ใช้งานโอเปอเรเตอร์ ++ แบบ postfix -// หลังจากยกกำลัง 2 ไปแล้ว ค่าของ value2 จึงถูกบวกด้วยหนึ่งทีหลัง -console.log(value2++ ** 2); // 100 -console.log(value2); // 11 -``` - -```js -var value1 = 11, value2 = 10; -// ใช้งานโอเปอเรเตอร์ -- แบบ prefix -// ค่า value1 ถูกลบด้วยหนึ่ง ก่อนที่จะยกกำลัง 2 -console.log(--value1 ** 2); // 100 -console.log(value1); // 10 -// ใช้งานโอเปอเรเตอร์ -- แบบ postfix -// หลังจากยกกำลัง 2 ไปแล้ว ค่าของ value2 จึงถูกลบด้วยหนึ่งทีหลัง -console.log(value2-- ** 2); // 100 -console.log(value2); // 9 -``` - -### โอเปอเรเตอร์ที่ใช้กำหนดค่าให้กับตัวแปร - -```js -var a = 20; -a +=true; // true มีค่าเป็น 1 -console.log(a); // 21 -a *=NaN; -console.log(a); // NaN -``` - -### โอเปอเรเตอร์ที่ใช้กับสตริง - -```js -100 + true + "50"; // "10150" -// เสมือนเขียน (100 + true) + "50" -``` - -```js -20 / "10" + "76"; // 276 -// เสมือนเขียน ( 20 / "10") + "76" -``` - -### โอเปเรอเตอร์แบบตรรกะ -```js -console.log(true || true); // true (เงื่อนไข short circuit) -console.log(true || false); // true (เงื่อนไข short circuit) -console.log(false || true); // true -console.log(false || false); // false -console.log(true && true); // true -console.log(true && false); // false -console.log(false && true); // false (เงื่อนไข short circuit) -console.log(false && false); // false (เงื่อนไข short circuit) -console.log(!true); // false -console.log(!false); // true -``` - -### โอเปอเรเตอร์ระหว่างบิต - -* ตัวอย่าง Bitwise AND -```js -var a = 12; // 1100 (เลขฐานสอง) -var b = 5; // 0101 (เลขฐานสอง) -var c = a & b; // 0100 (เลขฐานสอง) -console.log(c.toString(2)); // 100 (เลขฐานสอง) -console.log(c); // 4 -console.log(12 & 5); // 4 -``` - -* ตัวอย่าง Bitwise OR - -```js -var a = 12; // 1100 -var b = 5; // 0101 -var c = a | b; // 1101 -console.log(c.toString(2)); // 1101 -console.log(c); // 13 -console.log(12 | 5); // 13 -``` - -* ตัวอย่าง Bitwise XOR - -```js -var a =12; // 1100 -var b= 5; // 0101 -var c = a ^ b; // 1001 -console.log(c.toString(2)); // 1001 -console.log(c); // 9 -console.log(12 ^ 5); // 9 -``` - -* ตัวอย่าง Bitwise NOT - -```js -var a= 9; // 00000000000000000000000000001001 -var b = ~a; // 11111111111111111111111111110110 (1's Complement) -console.log(b); // -10 -console.log(~9); // -10 -``` - -* ตัวอย่าง การเลื่อนบิตไปทางซ้ายมือ - -```js -var a = 9; // 00000000000000000000000000001001 -var c = a << 2; // เลื่อนบิตจากขวามือไปทางซ้ายมือ 2 ตำแหน่ง - // 00000000000000000000000000100100 -console.log(c); // 36 -console.log(9 << 2); // 36 -``` - -* ตัวอย่าง การเลื่อนบิตไปทางขวามือ - -```js -var a = 9; // 00000000000000000000000000001001 -var c = a >> 2; // เลื่อนบิตจากซ้ายมือไปทางขวามือ 2 ตำแหน่ง - // 00000000000000000000000000000010 -console.log(c); // 2 -console.log(9 >> 2); // 2 -``` - -```js --9; // 11111111111111111111111111110111 (เลขฐานสอง) --9 >> 2; // 11111111111111111111111111111101 (เลขฐานสอง) = -3 (เลขฐานสิบ) -``` - -```js -var a = 9; // 00000000000000000000000000001001 -var c = a >>> 2; // เลื่อนบิตจากซ้ายมือไปทางขวามือ 2 ตำแหน่ง พร้อมเติมเลข 0 ที่บิตด้านหน้าสุด - // 00000000000000000000000000000010 -console.log(c); // 2 -console.log(9 >>> 2); // 2 -``` - -### โอเปอเรเตอร์ typeof - -```js -console.log(typeof true); // "boolean" -console.log(typeof false); // "boolean" -console.log(typeof -0.13); // "number" -console.log(typeof NaN); // "number" -console.log(typeof Infinity); // "number" -console.log(typeof undefined); // "undefined" -console.log(typeof ''); // "string" -console.log(typeof "Hi"); // "string" -console.log(typeof (typeof 100) ); // "string" -console.log(typeof null ); // "object" -console.log(typeof {x: 1, y: 2}); // "object" -console.log(typeof [1, 2]); // "object" -console.log(typeof function(){ }); // "function" -console.log(typeof Math.sqrt); // "function" -console.log(typeof class C { }); // "function" -console.log(typeof Symbol()); // "symbol" -``` - -### โอเปอเรเตอร์วงเล็บ - -```js -var a = 1 + 2 * 3 + 5; -// จะเสมือนเขียนเป็น var a = 1 + (2 * 3) + 5; -console.log(a); // 12 -``` - -```js -var a = (1 + 2) * (3 + 5); -console.log(a); // 24 -``` - -### โอเปอเรเตอร์คอมม่า - -```js -var a = 1, b = 2; -var x = (1+34, a+=2, b*=10, b+1); -console.log(x); // 21 -``` - -### โอเปอเรเตอร์ void - -```js -var a = void 12; -console.log(a); // undefined -console.log(Math.ceil(4.4)); // 5 -console.log(void Math.ceil(4.4)); // undefined -var b = 1; -console.log(void (++b)); // undefined -console.log(b); // แสดงค่าออกมาเป็น 2 เพราะตัวแปร b ถูกบวกเพิ่มไป 1 ค่า -``` - -## อาร์เรย์ -```js -[1, 1, 1, true, "Array"]; // อาร์เรย์ -``` - -```js -var a = ["a", "b", "c", "d", "e"]; -console.log(typeof a); // "object" -console.log(a[0], a[1], a[2], a[3], a [4]); // "a b c d e" -``` - -```js -var array = [ ]; // ประกาศเป็นอาร์เรย์ว่าง -array[0] = 1; -array[1] = 2; -``` - -```js -var array = [1, 2, 3, 4, 5]; -console.log(array.length); // 5 -``` - -```js -var array = [1, 2, 3, 4, 5]; -console.log(array.length); // 5 -array.length = 7; // เพิ่มขนาดอาร์เรย์จาก 5 เป็น 7 -console.log(array); // [ 1, 2, 3, 4, 5, <2 empty slots> ] -console.log(array.length); // 7 -array[9] = 100; -console.log(array); // [ 1, 2, 3, 4, 5, <4 empty slots>, 100 ] -console.log(array.length); // 10 -``` - -## การประกาศฟังก์ชั่น - -```js -function calculate(param1, param2) { - return param1 * param2; +var i = 0; +while (i < 3) { + console.log(i); + i++; } - -var result = calculate(10, 2); -console.log(result); // 20 +/* แสดงผลลัพธ์ +0 +1 +2 */ ``` -```js -function calculate() { - return 20; -} -var result = calculate(); -console.log(result); // 20 - -calculate(); // คืนค่า 20 -calculate(); // คืนค่า 20 -calculate(); // คืนค่า 20 -``` -## ประโยค return +### ประโยคคำสั่ง do …while ```js -function myFunction() { - return 1; - console.log("myFunction"); // บรรทัดนี้เส้นทางการทำงานของโปรแกรมจะมาไม่ถึง -} -var result = myFunction(); -console.log(result); // 1 +var i = 0; +do { + console.log(i); + i++; +} while (i < 3); +/* แสดงผลลัพธ์ +0 +1 +2 */ ``` -```js -function myFunction() { - return; -} -var result = myFunction(); -console.log(result); // undefined -``` +### ประโยคคำสั่ง for ```js -function myFunction() { - console.log("myFunction"); - // จะเสมือนมีประโยค return undefined; วางไว้ตำแหน่งสุดท้าย ก่อนฟังก์ชั่นจบการทำงาน +for(var i=0; i<3; i++) { + console.log(i); } -var result = myFunction(); // "myFunction" -console.log(result); // undefined +/* แสดงผลลัพธ์ +0 +1 +2 */ ``` +### ประโยคคำสั่ง continue ```js -var result = calculate(); -console.log(result); // 20 -function calculate() { - return 20; +for(var i=0; i<3; i++) { + if(i<=1) { + continue; // ข้ามประโยคคำสั่งที่เหลือ ไปทำงานรอบถัดไปแทน + } + console.log(i); } +// แสดงผลลัพธ์ +// 2 ``` -### ฟังก์ชั่นไร้ชื่อ +### ประโยคคำสั่ง break ```js -function (param1, param2) { // ถ้ารันจะเกิด error - return param1 * param2; +for(var i=0; i<3; i++) { + if(i==2) { + break; // ยุติการทำงานของ for + } + console.log(i); } +/* แสดงผลลัพธ์ +0 +1 */ ``` -### นิพจน์ฟังก์ชั่น - -```js -var calculate = function (param1, param2) { - return param1 * param2; -} -console.log(calculate(10, 2)); // 20 -calculate = 100; // ตัวแปร calculation สามารถแก้ไขให้เป็นค่าอื่นได้ -console.log(calculate); // 100 -``` +### ประโยคคำสั่ง label ```js -var calculate = function calc2(param1, param2) { - return param1 * param2; -} -console.log(calculate(10, 2)); // 20 +outer: for(var i=0; i < 2; i++) { // บรรทัด a + console.log("i: ", i); + for (var j=i; j < 2; j++ ) { + if ( j == 1) { + continue outer; // บรรทัด b + } + console.log("j: ", j); + } // สิ้นสุดประโยคคำสั่ง for +} // สิ้นสุดประโยคคำสตั่ง for ที่ได้ติดฉลาก outer: +/* แสดงผลลัพธ์ +"i: 0" +"j: 0" +"i: 1" */ ``` ```js -function cal(a, b) { - console.log(a * b); -} +outer: while(true) { // บรรทัด a + for (var i=0; i < 3; i++ ) { + if ( i == 1) { + break outer; // บรรทัด b + } + console.log("i: ", i); + } // สิ้นสุดประโยคคำสั่ง for +} // สิ้นสุดประโยคคำสั่ง while +// แสดงผลลัพธ์ +// "i: 0" ``` -```js -cal = function(a, b) { - console.log(a*b); -} - -var myFunction = cal; - -myFunction(5,4); // 20 -cal(5,4); // 20 -``` - -### ฟังก์ชั่นคอลแบ็ค - -```js -function sayHi() { - console.log("Hi"); -} -function sayBye() { - console.log("Bye"); -} -function say(func) { - func(); // เรียกฟังก์ชั่นให้ทำงาน -} -say(sayHi); // "Hi" -say(sayBye); // "Bye" -``` - -### รีเทิร์นออกมาเป็นฟังก์ชั่น - -```js -function say(func) { - console.log("Say..."); - function sayHi() { - console.log("Hi"); - } - return sayHi; // รีเทิร์นฟังก์ชั่น -} // สิ้นสุดการประกาศฟังก์ชั่น -var hi = say(); // "Say..." -hi(); // "Hi" -``` +## ประโยคเลือกเส้นทางการทำงาน +### ประโยคคำสั่ง if ```js -function say(func) { - console.log("Say..."); - return function() { // รีเทิร์นฟังก์ชั่นไร้ชื่อ - console.log("Hi"); - } -} // สิ้นสุดการประกาศฟังก์ชั่น -var hi = say(); // "Say..." -hi(); // "Hi" +// var i = 1; +// var i = 2; +// var i = 3; +if(i == 1) + console.log("if statement"); +else if(i == 2) + console.log("else if statement"); +else + console.log("else statement"); ``` -### อ็อบเจ็กต์ arguments - -```js -function myFunction(param1, param2) { - console.log(param1, param2); -} -myFunction(); // undefined undefined -myFunction(100); // 100 undefined -myFunction(100,200); // 100 200 -myFunction(100,200,300,400); // 100 200 -``` +### ประโยคคำสั่ง switch ```js -function myFunction (param1, param2) { - console.log(arguments); +// var i = 1; +// var i = 2; +// var i = 3; +switch (i) { + case 1: + console.log("case1"); // ถ้า i มีค่าเป็น 1 ก็จะมาทำประโยคนี้ + break; // ออกจากประโยค switch + case 2: + console.log("case2"); // ถ้า i มีค่าเป็น 2 ก็จะมาทำประโยคนี้ + break; // ออกจากประโยค switch + default: + console.log("case_default"); // ถ้า i ไม่ใช่ 1 กับ 2 ก็จะมาทำประโยคนี้ } -myFunction(100,200,300,400); // [100, 200, 300, 400] ``` ```js -function myFunction(param1,param2) { // ฟังก์ชั่นนี้ไม่เคยถูกเรียกใช้ - console.log("function1 value:", param1, param2); +switch (1) { + case 1: + console.log("case1"); + case 2: + console.log("case2"); + default: + console.log("case_default"); } -myFunction(100, 200); // เรียกใช้ฟังก์ชั่นที่ประกาศอยู่ด้านล่าง -function myFunction(param) { // จะโอเวอร์ไรด์ทับฟังก์ชั่นที่ประกาศไว้ก่อนหน้านี้ - console.log("function2 value:", param); -} -myFunction(100); -myFunction(100, 200); /* แสดงผลลัพธ์เป็น -"function2 value: 100" -"function2 value: 100" -"function2 value: 100" */ -``` - -### ระวังไป overriding ทับชื่อที่มีอยู่แล้ว - -```js -alert = function(data) { - console.log(data); // แสดงข้อความออกทางหน้าคอนโซล -} -alert("Hello, World"); // แสดงข้อความ "Hello, World" ออกทางหน้าคอนโซล +"case1" +"case2" +"case_default" */ ``` -### ขอบเขตการมองเห็นของตัวแปร - ```js -if(true) { - var a = 1; // a มีขอบเขตการมองเห็นแบบโกลบอล -} -{ - var b = 2; // b มีขอบเขตการมองเห็นแบบโกลบอล -} -console.log(a, b); // 1 2 -``` - -```html - - - - - - - +// แสดงผลลัพธ์เป็น +// "case_default" ``` -```js -console.log(NaN, undefined, Infinity); // NaN undefined Infinity -console.log(window.NaN, window.undefined, window.Infinity); // NaN undefined Infinity -// ถ้ารันอยู่ใน Node.js -// console.log(global.NaN, global.undefined, global.Infinity); -// NaN undefined Infinity -``` - -### ฟังก์ชั่นซ้อนฟังก์ชั่น +### โอเปอเรเตอร์แบบเงื่อนไข ```js -function outerFunc() { - var value = 0; - function innerFunc() { - console.log(++value); - } - return innerFunc; -} -var func1 = outerFunc(); // บรรทัด a -func1(); // 1 -func1(); // 2 -var func2 = outerFunc(); // บรรทัด b -func2(); // 1 -func2(); // 2 +// var condition = true; +// var condition = false; +var value = condition ? "foo" : "bar"; +console.log(value); // "foo" หรือ "bar" ``` ```js -function cumulative(num) { - n = num - return function(a) { - n += a - console.log("answer = ", n) - } +// var condition = true; +// var condition = false; +var value; +if(condition) { + value = "foo"; +} else { + value = "bar"; } -cumA= cumulative(100) -cumA(1) // "answer = 101" -cumA(1) // "answer = 102" -cumA(1) // "answer = 103" -cumB = cumulative(20) -cumB(-1) // "answer = 19" -cumB(-1); // "answer = 18" -cumB(-1); // "answer = 17" +console.log(value); // "foo" หรือ "bar" ``` +## ประโยคคำสั่งว่าง ```js -function part_cal(x) { - return function(y) { - return function(z) { - console.log(x+y+z); // บรรทัด a - } - } -} -part_cal(10)(20)(30) // 60 +; ``` ```js -function cal(x, y, z) { - console.log(x + y + z) -} -cal(10, 20 , 30) // 60 +while(true); // วนลูปไม่รู้จบ +// หรือจะใช้ในประโยค for +for(;;); // วนลูปไม่รู้จบ ``` +## การจัดการความผิดพลาด -## Hoist ```js -var value = 100; +throw "Error"; // โยน exception เป็นชนิดข้อมูลสตริง +throw 100; // โยน exception เป็นชนิดข้อมูลตัวเลข +throw true; // โยน exception เป็นชนิดข้อมูลบูลีน +throw new Object(); // โยน exception เป็นชนิดข้อมูลอ็อบเจ็กต์ +throw new Error("Error") // โยน exception เป็นชนิดข้อมูลอ็อบเจ็กต์ ``` ```js -console.log(x) // เกิด error -x = 1 -/* แบบนี้ไม่เกิด error - x = 1 - console.log(x) */ +console.log(x); // ReferenceError ``` ```js -console.log(x) // undefined -var x = 1 +new Error(["ข้อความ error"]) ``` ```js -x = undefined // เสมือนลอยขึ้นไปข้างบน -console.log(x) // undefined -x = 1 +throw new SyntaxError ("Syntax error"); ``` +### ประโยคคำสั่งจัดการความผิดพลาด ```js -function myFunction(num) { - // สามารถมองเห็นตัวแปร value - console.log(value); // undefined - if(num > 10) { - var value = num*10; // ประกาศตัวแปร value ที่ตรงนี้ แต่มองเห็นได้ทั่วฟังก์ชั่น - /* ซอร์สโค้ด */ - } else { - // ถ้าเงื่อนไขประโยค if เป็นเท็จ ก็จะเข้ามาทำงานที่ else - // ซึ่งจะเห็นตัวแปร value มีค่าเป็น undefined - console.log(value); // undefined - } - // สามารถมองเห็นตัวแปร value ได้ หลังจากประโยค if …else ทำงานเสร็จสิ้น - console.log(value); +try { + console.log(x); // บรรทัด a เกิด error + x++; // บรรทัด b +} catch (e) { + console.log(typeof e); // "object" + console.log(e.message); // "x is not defined" + console.log(e.name); // "ReferenceError" } +console.log("Last statement"); // บรรทัด c +/* แสดงผลลัพธ์เป็น +"object" +"x is not defined" +"ReferenceError" +"Last statement" */ ``` ```js -function myFunction(num) { - var value; // ประกาศตัวแปร value โดยไม่มีค่าเริ่มต้น จึงทำให้มีค่าเป็น undefined - console.log(value); // undefined - if(num > 10) { - value = num*10; // บรรทัดนี้เป็นเพียงการกำหนดค่าให้กับตัวแปร value - /* ซอร์สโค้ด */ - } else { - console.log(value); // undefined - } - console.log(value); +try { + throw 42; // โยน exception ออกมาเอง + console.log(42); // เส้นทางการทำงานของโปรแกรมจะมาไม่ถึง +} catch (e) { + console.log(e); // 42 } +console.log("Last statment"); +/* แสดงผลลัพธ์ +42 +"Last statment" */ ``` ```js -// สามารถมองเห็นตัวแปร value -console.log(value); // undefined -if(true) { - var value = 100; // ประกาศตัวแปรแบบ var +try { + console.log(x); // บรรทัด a เกิด error +} catch (e) { + console.log(e.message); // "x is not defined" +} finally { + console.log("finally"); } -console.log(value); // 100 +console.log("Last statement"); +/* แสดงผลลัพธ์ +"x is not defined" +"finally"; +"Last statement" */ ``` ```js -var value; // ประกาศตัวแปร value โดยไม่มีค่าเริ่มต้น จึงทำให้มีค่าเป็น undefined -console.log(value); // undefined -if(true) { - value = 100; // บรรทัดนี้เป็นเพียงการกำหนดค่าให้กับตัวแปร value +try { + console.log("no error"); // บรรทัด a ทำงานปกติ +} catch (e) { + console.error(e.message); +} finally { + console.log("finally"); } -console.log(value); // 100 +console.log("Last statement "); +/* แสดงผลลัพธ์ +"no error" +"finally"; +"Last statement" */ ``` ```js -// มองเห็นฟังก์ชั่นก่อนการประกาศใช้งาน -myFunction(); // "Hoisted" -function myFunction() { - console.log("Hoisted"); -} -myFunction(); // "Hoisted" +function foo() { + try { + return "foo"; + } finally { + console.log("finally"); + } +} +console.log(foo()); +/* แสดงผลลัพธ์ +"finally"; +"foo"; */ ``` ```js -function outerFunc() { - innerFunc(); // มองเห็นฟังก์ชั่นก่อนการประกาศใช้งาน - function innerFunc() { - console.log("inner function"); - } -} -outerFunc(); // "inner function" -console.log(typeof innerFunc); // undefined +function foo() { + try { + console.log(x); // บรรทัด a เกิด error + return "foo"; + } finally{ + console.log("finally"); // บรรทัด b ทำงาน + } +} +console.log(foo()); // บรรทัด c ไม่เข้ามาทำงาน +/* แสดงผลลัพธ์ +"finally" +จากนั้นจะจบการทำงานพร้อมแจ้ง error ว่า +"Uncaught ReferenceError: x is not defined" +*/ ``` -## สตริคท์โหมด +### Optional Catch Binding ```js -"use strict"; // ประกาศโหมดสตริคท์ ด้วยการเขียนไว้ที่ตอนต้นของไฟล์ -var x = 1; -``` - -```js -function myFunction() { - "use strict"; // เฉพาะฟังก์ชั่นนี้จะอยู่ในโหมดสตริคท์ - var x = 1; +try { + console.log(x); // บรรทัด a เกิด error +} catch { // มาตรฐานใหม่ ด้านหลัง catch ไม่จำเป็นต้องมีวงเล็บ ไม่ต้องระบุชื่อตัวแปร + console.log("Error"); } +/* แสดงผลลัพธ์ +"Error" */ ``` -* 1) - -* หมายเหตุ ถ้าไม่เกิด error ให้รันคำส่ง delete x; ก่อน เพื่อลบตัวแปร var x = 1; ที่รันก่อนหน้านี้ จะได้เกิด error ตามตัวอย่าง -```js -"use strict"; -x = 1; // เกิด error เพราะไม่ได้ประกาศตัวแปรแบบ var ถ้าอยู่ดี ๆ จะมากำหนดค่าให้ทันทีแบบนี้จะทำไม่ได้ -``` - -* 2) - -```js -"use strict"; -function x(a, a) { }; // เกิด error เพราะประกาศพารามิเตอร์ ที่มีชื่อ a ซ้ำกัน -``` - -* 3) - -```js -"use strict"; -var x = 1; -delete x; // เกิด error ไม่สามารถลบตัวแปรได้ -``` - -* 4) - -```js -"use strict"; -delete Object.prototype; //เกิด error เพราะพร็อพเพอร์ตี้ตัวนี้ห้ามลบ -``` - -* 5) - -```js -"use strict"; -var x = 010; // เกิด error ไม่สามารถประกาศแบบนี้ได้ -var y = \010; // เกิด error ไม่สามารถประกาศแบบนี้ได้ -``` - -* 6) - -```js -"use strict"; -var obj = { }; -Object.defineProperty(obj, "x", {value:0, writable:false}); -obj.x = 1; // เกิด error เนื่องจากมันเป็นพร็อพเพอร์ตี้ที่อ่านค่าได้อย่างเดียว -``` - -* 7) - -```js -"use strict"; -var obj = {get x() {return 0} }; -obj.x = 1; // เกิด error ไม่สามารถกำหนดค่าให้กับ x ได้ -``` - -* 8) - -```js -"use strict"; -var obj = { }; -Object.preventExtensions(obj); -obj.a= 1; // เกิด error ไม่สามารถเพิ่มพร็อพเพอร์ตี้เข้าไปในอ็อบเจ็กต์ได้ -``` - -* 9) - ```js -"use strict"; -function f() { return this; } -console.log(f()); // undefined -``` - -* 10) - -```js -"use strict"; -var eval = 1; // เกิด error ไม่สามารถใช้ชื่อ eval เป็นตัวแปร -``` - -* 11) - -```js -"use strict"; -var arguments = 1; // เกิด error ไม่สามา รถใช้ชื่อ arguments เป็นตัวแปร -``` - -* 12) - -```js -"use strict"; -with (Math) { a = cos(1) }; // เกิด error ไม่สามารถใช้ประโยคคำสั่ง with ได้ -``` - -* 13) - -```js -"use strict"; -eval("var x = 1;"); // ประกาศตัวแปร x ด้วย eval() -x = 2; // เกิด error -// แบบนี้จะไม่เกิด error -// eval("var x = 1; x = 2;"); // ไม่เกิด error +try { + console.log(x); // บรรทัด a เกิด error +} catch(e) { // มาตรฐานเก่า ด้านหลัง catch ต้องมีวงเล็บแล้วให้ระบุชื่อตัวแปร + console.log("Error"); +} +/* แสดงผลลัพธ์ +"Error" */ ``` -* 14) +### cause ใน error ```js -"use strict"; -var implements =1; // เกิด error เพราะ implements คือคำสงวนในโหมดสตริคท์ +new Error( + "My error", // ค่าอากิวเมนต์ตัวแรก + {cause: "otherError"} // ค่าอากิวเมนต์ตัวที่สอง + ); ``` -* 15) - ```js -"use strict"; -if(true) { - function myFunction1(){ } // ขอบเขตแบบโลคอล +try { + console.log(x); // บรรทัด a + } catch (error) { + throw new Error( + "My Error", + {cause: error} + ); } -{ - function myFunction2(){ } // ขอบเขตแบบโลคอล -} -console.log(typeof myFunction1); // undefined (ถ้าไม่ใช่โหมดสตริคท์จะแสดงค่าเป็น "function") -console.log(typeof myFunction2); // undefined (ถ้าไม่ใช่โหมดสตริคท์จะแสดงค่าเป็น "function") -``` - -```js -"use strict"; -var isStrict = (function() { return !this; })( ); -console.log(isStrict); // true +/* โปรแกรมจะตาย และแจ้ง error ออกมา */ ``` \ No newline at end of file diff --git a/examples_book/Chapter05.md b/examples_book/Chapter05.md index 058f641..2e1e5db 100644 --- a/examples_book/Chapter05.md +++ b/examples_book/Chapter05.md @@ -1,365 +1,985 @@ -# โค้ดบทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น +# โค้ดบทที่ 5 ทบทวนอ็อบเจ็กต์ -## บล็อก +## วิธีสร้างอ็อบเจ็กต์อย่างง่าย ```js -{ - var a = 2; // ประโยคคำสั่ง 1 - a++; // ประโยคคำสั่ง 2 - console.log(a); // ประโยคคำสั่ง 3 -} +var font = { }; ``` ```js -if (true) { - var a = 2; // ประโยคคำสั่ง 1 - a++; // ประโยคคำสั่ง 2 - console.log(a); // ประโยคคำสั่ง 3 -} +var font = { + color: "red", // คีย์ชื่อ color : ข้อมูลเป็นสตริง "red" + myFunction: function (param) { // คีย์ชื่อ myFunction : ข้อมูลเป็นเมธอด (ฟังก์ชั่น) + /* ซอร์สโค้ดของเมธอดอยู่นี้ */ + }, + option: { // คีย์ชื่อ option : ข้อมูลเป็นอ็อบเจ็กต์ (อ๊อบเจ็กต์ซ้อนอ๊อบเจ็กต์) + value: 1 + } +}; ``` -## ประโยควนลูป -### ประโยคคำสั่ง while +## การเข้าถึงพร็อพเพอร์ตี้ ```js -var i = 0; -while (i < 3) { - console.log(i); - i++; -} -/* แสดงผลลัพธ์ -0 -1 -2 */ +var obj = { + a: 1, // กำหนดให้ a มีค่าตั้งต้นเป็น 1 + myFunction : function() { + console.log("call myFunction"); + } +}; +obj.a = 100; // กำหนดให้ obj.a มีค่าเป็น 100 +console.log(obj.a); // 100 +console.log(typeof obj.myFunction); // "function" +obj.myFunction(); // "call myFunction" ``` -### ประโยคคำสั่ง do …while +## การใช้วงเล็บเหลี่ยม ```js -var i = 0; -do { - console.log(i); - i++; -} while (i < 3); -/* แสดงผลลัพธ์ -0 -1 -2 */ +var student = { + "First name": "Somchai", + "Last name": "Jaidee", + "Who are you": function() { + console.log("I'm a student"); + }, + nickname: "Tom" +}; +console.log(student["First name"]); // "Somchai" +var lastName = "Last name"; +console.log(student[lastName]); // "Jaidee" +student["Who are you"](); // "I'm a student" +console.log(student.nickname); // "Tom" +console.log(student["nickname"]); // "Tom" +``` + +```js +var obj = { + 1: 1, + true: 2, + null : 3, + undefined: 4 +}; +console.log(obj[1 + 0]); // 1 +console.log(obj[true && true]); // 2 +console.log(obj[null]); // 3 +console.log(obj[undefined]); // 4 +``` + +```js +var obj = { + { }: 1 // เกิด SyntaxError ไม่สามารถใช้อ็อบเจ็กต์เป็นคีย์โดยตรง +}; +``` + +## เพิ่มพร็อพเพอร์ตี้เข้าไปทีหลัง + +```js +var obj = { }; +obj.a = 1; // เพิ่มพร็อพเพอร์ตี้ที่เป็นตัวแปร a +obj[1]=100; // เพิ่มพร็อพเพอร์ตี้ที่มีคีย์เป็นตัวเลข 1 +obj["property name"]= 200; // เพิ่มพร็อพเพอร์ตี้ที่มีคีย์เป็นสตริง "property name" +obj.myFunction = function() { // เพิ่มพร็อพเพอร์ตี้ที่เป็นเมธอด + console.log("to do something"); +}; +console.log(obj.a); // 1 +console.log(obj[1]); // 100 +console.log(obj["property name"]); // 200 +obj.myFunction(); // "to do something" ``` -### ประโยคคำสั่ง for +```js +var obj = { }; +var key = { }; +obj[key] = 100; // มีคีย์เป็นอ็อบเจ็กต์ว่าง +console.log(obj[key]); // 100 +``` + +## การส่งค่าให้ตัวแปร ```js -for(var i=0; i<3; i++) { - console.log(i); +function myFunction(param1, param2) { + param1.a = 3; // pass by reference + param2 = 200; // pass by value } -/* แสดงผลลัพธ์ -0 -1 -2 */ +var obj = {a:1, b:2}, value = 100; +myFunction(obj, value); +console.log(obj.a); // 3 +console.log(value); // 100 +``` + +```js +var obj1 = {a:1, b:2}; +var obj2 = obj1; // บรรทัด a -- pass by reference +obj2.a = 3; // บรรทัด b +console.log(obj1.a); // 3 +var value1 = 1; +var value2 = value1; // บรรทัด d -- pass by value +value2 = 3; // บรรทัด e +console.log(value1); // 1 ``` -### ประโยคคำสั่ง continue +## การเปรียบเทียบความเท่ากัน + ```js -for(var i=0; i<3; i++) { - if(i<=1) { - continue; // ข้ามประโยคคำสั่งที่เหลือ ไปทำงานรอบถัดไปแทน - } - console.log(i); +console.log( {a:1} == {a:1} ); // false +console.log( {a:1} === {a:1} ); // false +``` + +```js +var a = 1, b = 1; +console.log(a == b); // true +console.log(a === b); // true +``` + +## this + +```js +var obj = { + a: 1, + foo: function() { + return 2; + }, + bar: function() { + console.log(this.a); + }, + zoo: function() { + console.log(this.foo()); + } +}; +obj.bar(); // 1 +obj.zoo(); // 2 +``` + +```js +var obj = { + foo: function () { + this.a = 1; // เพิ่มตัวแปร a เข้าไปในอ็อบเจ็กต์ + console.log(this.a); + }, + bar: function() { + console.log(this.a); + } +}; +obj.foo(); // 1 +obj.bar(); // 1 +console.log(obj.a); // 1 +``` + +### การผูก this ไว้กับอ็อบเจ็กต์ + +```js +var obj1 = { }; +var obj2 = { + a: 1, + bar : function() { + console.log("this.a =", this.a); + obj1.foo = function() { // บรรทัด a + console.log("this.a =", this.a); + } // สิ้นสุดการประกาศฟังก์ชั่น foo() + } // สิ้นสุดการประกาศฟังก์ชั่น bar() +}; +obj2.bar(); // "this.a = 1" +obj1.foo(); // "this.a = undefined" +``` + +### this ในฟังก์ชั่น + +```js +//"use strict"; +function myFunction() { + return this; +} +var obj = myFunction(); +console.log(typeof obj); +// แสดงผลลัพธ์เป็น +// undefined (ถ้าเป็นโหมดสตริคท์) +// "object" (ถ้าไม่ใช่โหมดสตริคท์) +``` + +### เมธอด call() apply() และ bind() + +```js +var obj1 = { + value: 20 +}; +var obj2 = { + myFunction: function(param1, param2) { + var value = this.value; // this จะชี้ไปยัง obj1 + console.log(param1, param2, value); + } } -// แสดงผลลัพธ์ -// 2 +obj2.myFunction(1, 10); // 1 10 undefined +obj2.myFunction.call(obj1, 1, 10); // 1 10 20 +obj2.myFunction.apply(obj1, [1, 10]); // 1 10 20 +var f = obj2.myFunction.bind(obj1, 1, 10); +f(); // 1 10 20 +``` + +## พร็อพเพอร์ตี้แอคเซสเซอร์ + +```js +var font = { color: "red" } ; +font.color = "blue"; +``` + +```js +var font = { + set color(param) { // ประกาศเมธอด setter โดยมีพารามิเตอร์ ได้เพียงตัวเดียว + this.col = param; // กำหนดค่าให้กับข้อมูลภายในอ็อบเจ็กต์ + } +}; +font.color = "blue"; // แก้ไขค่าได้ +console.log(font.color) // undefined +``` + +```js +var font = { + col: "red", + get color() { // ประกาศเมธอด getter โดยไม่ต้องมีพารามิเตอร์ + return this.col; // รีเทิร์นข้อมูลภายในอ็อบเจ็กต์ออกไป + } +}; +console.log(font.color); // "red" +font.color = "blue"; // ไม่มีผลอะไรเกิดขึ้น หรือเกิด TypeError ในโหมดสตริคท์ +console.log(font.color); // "red" +``` + +```js +var font = { + col: "red", + set color(param) { + this.col = param; + }, + get color() { + return this.col; + } +}; +console.log(font.color); // "red" +font.color = "blue"; +console.log(font.color); // "blue" +``` + +## โอเปอเรเตอร์ delete +* หมายเหตุ โค้ดนี้ควรรันผ่านเว็บเบราเซอร์ หรือ Node.js จะดีกว่า เพราะถ้ากดปุ่มรัน ตัวแปร a จะไม่ใช่ตัวแปรของอ็อบเจ็กต์โกลบอล จึงทำให้ประโยคคำสั่ง delete a ได้คำตอบเป็น true +```js +var obj = {x:1 ,y:2}; +console.log(delete obj.x); // true +console.log(delete obj["y"]); // true +console.log(obj); // {} +var a = 1; +console.log(delete a); // false หรือเกิด SyntaxError ในโหมดสตริคท์ +``` + +```js +console.log(delete Number.MAX_VALUE); // false หรือเกิด TypeError โหมดสตริคต์ ``` -### ประโยคคำสั่ง break +```js +var a = [1, "Hi"]; +console.log(a.length); // 2 +console.log(delete a[0]); // true +console.log(delete a[1]); // true +console.log(a[0]); // undefined +console.log(a[1]); // undefined +console.log(a.length); // 2 +``` + +## Descriptor + +```js +var obj1 = { }; +Object.defineProperty(obj1, "foo", { // อ็อบเจ็กต์ descriptor + value: 100, + writable: true +}); +console.log(obj1.foo); // 100 +console.log(Object.getOwnPropertyDescriptor(obj1,"foo")); // รีเทิร์น descriptor +// { value: 100, writable: true, enumerable: false, configurable: false } +var obj2 = { }; +Object.defineProperties(obj2, { + "foo": { // อ็อบเจ็กต์ descriptor + value: "fooValue", + writable: true + }, + "bar": { // อ็อบเจ็กต์ descriptor + value: "barValue", + writable: false + } + // พร็อพเพอร์ตี้อื่น ๆ +}); +console.log(obj2.foo, obj2.bar); // "fooValue barValue" +console.log(Object.getOwnPropertyDescriptor(obj2,"foo")); // รีเทิร์น descriptor +// { value: "fooValue", writable: true, enumerable: false, configurable: false } +console.log(Object.getOwnPropertyDescriptor(obj2,"bar")); // รีเทิร์น descriptor +// { value: "barValue", writable: false, enumerable: false, configurable: false } +``` + +## ฟังก์ชั่นคอนสตรัคเตอร์ ```js -for(var i=0; i<3; i++) { - if(i==2) { - break; // ยุติการทำงานของ for - } - console.log(i); +function Car(color) { + this.color = color; + return true; // เขียนเกินมา ไม่มีผลอะไรต่อการทำงาน } -/* แสดงผลลัพธ์ -0 -1 */ +var redCar = new Car("red"); +var blueCar = new Car("blue"); +//… สร้างอ็อบเจ็กต์ใหม่ได้เรื่อยด้วยโอเปอเรเตอร์ new +console.log(redCar.color); // "red" +console.log(blueCar.color); // "blue" ``` -### ประโยคคำสั่ง label +```js +function Car(color) { + this.color = color; // ถ้าเป็นโหมดสตริคท์จะเกิด TypeError ขึ้นได้ + return true; +} +var blueCar = Car("blue"); // เป็นการเรียกฟังก์ชั่นธรรดา +console.log(blueCar); // true +``` ```js -outer: for(var i=0; i < 2; i++) { // บรรทัด a - console.log("i: ", i); - for (var j=i; j < 2; j++ ) { - if ( j == 1) { - continue outer; // บรรทัด b - } - console.log("j: ", j); - } // สิ้นสุดประโยคคำสั่ง for -} // สิ้นสุดประโยคคำสตั่ง for ที่ได้ติดฉลาก outer: -/* แสดงผลลัพธ์ -"i: 0" -"j: 0" -"i: 1" */ +function Car(color) { + console.log("constructor"); +} +var redCar = new Car(); // "constructor" +var blueCar = new Car; // "constructor" ``` +## เมธอด Object.create() + ```js -outer: while(true) { // บรรทัด a - for (var i=0; i < 3; i++ ) { - if ( i == 1) { - break outer; // บรรทัด b - } - console.log("i: ", i); - } // สิ้นสุดประโยคคำสั่ง for -} // สิ้นสุดประโยคคำสั่ง while -// แสดงผลลัพธ์ -// "i: 0" +var car = { + drive: function() { console.log("driving a car") ; } +} +var redCar = Object.create(car); +var blueCar = Object.create(car, +{ // เพิ่มพร็อพเพอร์ตี้เข้าไป ด้วยการระบุ descriptor + foo: { writable: true, configurable: true, value: "fooValue" }, // descriptor + bar:{ writable: true, configurable: true, value: "barValue" } // descriptor +} +); +// สร้างอ็อบเจ็กต์ใหม่ได้เรื่อย ๆ ด้วย Object.create() +// … +redCar.drive(); // "driving a car" +blueCar.drive(); // "driving a car" +console.log(blueCar.foo); // "fooValue" +console.log(blueCar.bar); // "barValue" ``` -## ประโยคเลือกเส้นทางการทำงาน +```js +var car = { } +var redCar = Object.create(car); +var blueCar = Object.create(car); +car.drive = function() { + console.log("driving a car"); +} +redCar.drive(); // "driving a car" +blueCar.drive(); // "driving a car" + +console.log( Object.getPrototypeOf(redCar) === car ); // true (เพราะโปรโตไทป์คือ car) +console.log( Object.getPrototypeOf(blueCar) === car ); // true (เพราะโปรโตไทป์คือ car) +``` -### ประโยคคำสั่ง if ```js -// var i = 1; -// var i = 2; -// var i = 3; -if(i == 1) - console.log("if statement"); -else if(i == 2) - console.log("else if statement"); -else - console.log("else statement"); +var obj1 = Object.create(null); // ไม่มีโปรโตไทป์ +console.log(obj1); // {} +console.log(Object.getPrototypeOf(obj1)); // null +var obj2 = Object.create(Object.prototype); // จะเหมือนสร้างอ็อบเจ็กต์ด้วยวิธีนี้ var obj = {} +console.log(obj2); // {} +console.log(Object.getPrototypeOf(obj2) === Object.prototype); // true ``` -### ประโยคคำสั่ง switch +## prototype ```js -// var i = 1; -// var i = 2; -// var i = 3; -switch (i) { - case 1: - console.log("case1"); // ถ้า i มีค่าเป็น 1 ก็จะมาทำประโยคนี้ - break; // ออกจากประโยค switch - case 2: - console.log("case2"); // ถ้า i มีค่าเป็น 2 ก็จะมาทำประโยคนี้ - break; // ออกจากประโยค switch - default: - console.log("case_default"); // ถ้า i ไม่ใช่ 1 กับ 2 ก็จะมาทำประโยคนี้ +function Car(color) { + this.color = color; } +var redCar = new Car("red"); +console.log( Object.getPrototypeOf(redCar) === Car.prototype); // true ``` ```js -switch (1) { - case 1: - console.log("case1"); - case 2: - console.log("case2"); - default: - console.log("case_default"); +function Car(color) { + this.color = color; } -/* แสดงผลลัพธ์เป็น -"case1" -"case2" -"case_default" */ +Car.prototype.drive = function() { + console.log("Drive a", this.color, "car"); // this จะชี้ไปยังอ็อบเจ็กต์ที่ถูกสร้างขึ้นมา +}; +var redCar = new Car("red"); ``` ```js -switch (1) { - case 1: - case 2: - default: - console.log("case_default"); +function Car(color) { + this.color = color; } -// แสดงผลลัพธ์เป็น -// "case_default" +Car.prototype.drive = function() { + console.log("Drive a", this.color, "car"); // this จะชี้ไปยังอ็อบเจ็กต์ที่ถูกสร้างขึ้นมา +}; +var redCar = new Car("red"); +redCar.drive(); // "Drive a red car" +var blueCar = new Car("blue"); +blueCar.drive(); // "Drive a blue car" +console.log( Object.getPrototypeOf(redCar) === Car.prototype); // true +console.log( Object.getPrototypeOf(blueCar) === Car.prototype); // true ``` -### โอเปอเรเตอร์แบบเงื่อนไข +```js +function Car(color) { + this.color = color; +} +Car.drive = function() { + console.log("driving a car"); +}; +Car.drive(); // "driving a car" +var redCar = new Car("red"); +console.log(typeof redCar.drive); // undefined +``` + +## การสืบทอดสมาชิกหลายระดับชั้น ```js -// var condition = true; -// var condition = false; -var value = condition ? "foo" : "bar"; -console.log(value); // "foo" หรือ "bar" +var extend = { + drive: function() { + console.log("Drive a", this.color, "car"); + } +} +function Car(color) { + this.color = color; +} +Car.prototype = extend; // บรรทัด a +Car.prototype.stop = function() { // บรรทัด b + console.log("Stop a", this.color, "car"); +}; +var redCar = new Car("red"); +console.log( Object.getPrototypeOf(redCar) === extend ); // true +redCar.drive(); // "Drive a red car" +redCar.stop(); // "Stop a red car" ``` ```js -// var condition = true; -// var condition = false; -var value; -if(condition) { - value = "foo"; -} else { - value = "bar"; +function Car(color) { } +Car.prototype.drive = function() { + console.log("Drive a", this.color, "car"); // this ชี้ไปยังอ็อบเจ็กต์ที่ถูกสร้างขึ้นมา +}; +function RedCar(color) { + this.color = color; } -console.log(value); // "foo" หรือ "bar" +RedCar.prototype = Object.create(Car.prototype); // บรรทัด a +console.log( Object.getPrototypeOf(RedCar.prototype) === Car.prototype ); // true +RedCar.prototype.stop = function() { + console.log("Stop a", this.color, "car"); // this ชี้ไปยังอ็อบเจ็กต์ที่ถูกสร้างขึ้นมา +} +var redCar = new RedCar("red"); +console.log( Object.getPrototypeOf(redCar) === RedCar.prototype ); // true +redCar.drive(); // "Drive a red car" +redCar.stop(); // "Stop a red car" ``` -## ประโยคคำสั่งว่าง +## โอเปอรเตอร์ instanceof + ```js -; +function Foo() { } +var obj = new Foo(); +console.log(obj instanceof Foo); // true +console.log(Object.getPrototypeOf(obj) === Foo.prototype); // true ``` ```js -while(true); // วนลูปไม่รู้จบ -// หรือจะใช้ในประโยค for -for(;;); // วนลูปไม่รู้จบ +function Foo() { } +var obj = new Foo(); +console.log(obj instanceof Foo); // true +console.log(Object.getPrototypeOf(obj) === Foo.prototype); // true +console.log(obj instanceof Object); // true +console.log(Foo.prototype instanceof Object); // true +console.log(Object.getPrototypeOf(Foo.prototype) === Object.prototype); // true +console.log(Object.getPrototypeOf(obj) === Object.prototype); // false ``` -## การจัดการความผิดพลาด +## prototype ที่มีอยู่ในภาษา ```js -throw "Error"; // โยน exception เป็นชนิดข้อมูลสตริง -throw 100; // โยน exception เป็นชนิดข้อมูลตัวเลข -throw true; // โยน exception เป็นชนิดข้อมูลบูลีน -throw new Object(); // โยน exception เป็นชนิดข้อมูลอ็อบเจ็กต์ -throw new Error("Error") // โยน exception เป็นชนิดข้อมูลอ็อบเจ็กต์ +console.log( Object.getPrototypeOf(function(){ }) === Function.prototype); // true +console.log( Object.getPrototypeOf([ ]) === Array.prototype); // true +console.log( Object.getPrototypeOf({ }) === Object.prototype); // true +console.log( Object.getPrototypeOf('') === String.prototype); // true +console.log( Object.getPrototypeOf(true) === Boolean.prototype); // true +console.log( Object.getPrototypeOf(1) === Number.prototype); // true +console.log(function(){ } instanceof Function); // true +console.log([ ] instanceof Array); // true +console.log({ } instanceof Object); // true +console.log('' instanceof String); // false +console.log(true instanceof Boolean); // false +console.log(1 instanceof Number); // false ``` ```js -console.log(x); // ReferenceError +// ฟังก์ชั่น +Function.prototype.sayMsg = function(msg) { + console.log("Function say:", msg); +}; +function myFunction() { } +myFunction.sayMsg("Hello"); // "Function say: Hello" +// อาร์เรย์ +Array.prototype.sayMsg = function(msg) { + console.log("Array say:", msg); +}; +[ ].sayMsg("Hello"); // "Array say: Hello" +// อ็อบเจ็กต์ +Object.prototype.sayMsg = function(msg) { + console.log("Object say:", msg); +}; +var obj = { }; +obj.sayMsg("Hello"); // "Object say: Hello" +({ }).sayMsg("Hello"); // "Object say: Hello" +// สตริง +String.prototype.sayMsg = function(msg) { + console.log("String say:", msg); +}; +"123".sayMsg("Hello"); // "String say: Hello" +// บูลีน +Boolean.prototype.sayMsg = function(msg) { + console.log("Boolean say:", msg); +} +true.sayMsg("Hello"); // "Boolean say: Hello" +// ตัวเลข +Number.prototype.sayMsg = function(msg) { + console.log("Number say:", msg); +} +var num = 123; +num.sayMsg("Hello"); // "Number say: Hello" +(123).sayMsg("Hello"); // "Number say: Hello" ``` +* หมายเหตุ เพื่อป้องกันความผิดจากการรันโคดด้านล่าง ก็ควรจะลบ sayMsg ก่อนหน้านี้ออกไปก่อน ด้วยโค้ดต่อไปนี้ (ในหนังสือไม่มีโค้ดชุดนี้) ```js -new Error(["ข้อความ error"]) +delete Function.prototype.sayMsg; +delete Array.prototype.sayMsg; +delete Object.prototype.sayMsg +delete String.prototype.sayMsg +delete Boolean.prototype.sayMsg +delete Number.prototype.sayMsg ``` +## โอเปอเรเตอร์ in + ```js -throw new SyntaxError ("Syntax error"); +var obj = {x: 1, y: 2}; +console.log("x" in obj); // true +console.log("xyz" in obj); // false (อ็อบเจ็กต์ไม่มีพร็อพเพอร์ตี้ xyz) +var a = ["a", "b", "c"]; +console.log(0 in a); // true (อาร์เรย์นี้มีอินเด็กซ์ 0) +console.log(5 in a); // false (อาร์เรย์ไม่มีอินเด็กซ์ 5) +console.log("1" in a); // true (อาร์เรย์นี้มีอินเด็กซ์ 1) +console.log("length" in a); // true (อาร์เรย์จะมี length เป็นพร็อพเพอร์ตี้) ``` -### ประโยคคำสั่งจัดการความผิดพลาด ```js -try { - console.log(x); // บรรทัด a เกิด error - x++; // บรรทัด b -} catch (e) { - console.log(typeof e); // "object" - console.log(e.message); // "x is not defined" - console.log(e.name); // "ReferenceError" +var parent = {x:1}; +var obj = Object.create(parent); +console.log("x" in obj); // true +``` + +## ประโยคคำสั่ง for …in + +```js +function Font() { + this.color = "red"; + this.size = 200; +} +var coordinate = {x: 1, y: 1, z: 1} +Font.prototype = Object.create(coordinate); +Font.prototype.myFunction = function(){ }; +var font = new Font(); +font[1] = "fontValue"; +for(var prop in font) { + console.log(prop); } -console.log("Last statement"); // บรรทัด c /* แสดงผลลัพธ์เป็น -"object" -"x is not defined" -"ReferenceError" -"Last statement" */ +"1" +"color" +"size" +"myFunction" +"x" +"y " +"z " */ ``` ```js -try { - throw 42; // โยน exception ออกมาเอง - console.log(42); // เส้นทางการทำงานของโปรแกรมจะมาไม่ถึง -} catch (e) { - console.log(e); // 42 +function Font() { + this.color = "red"; + this.size = 200; } -console.log("Last statment"); -/* แสดงผลลัพธ์ -42 -"Last statment" */ +var coordinate = {x: 1, y: 1, z: 1} +Font.prototype = Object.create(coordinate); +Font.prototype.myFunction = function(){ }; +var font = new Font(); +font[1] = "fontValue"; +for(var prop in font) { + if(font.hasOwnProperty( prop ) ) { // เข้าถึงคีย์ที่อยู่ในอ็อบเจ็กต์เท่านั้น + console.log("font." + prop, "=", font[prop]); + } +} +/* แสดงผลลัพธ์เป็น +"font.1 = fontValue" +"font.color = red" +"font.size = 200" */ ``` +## Object.preventExtensions() กับ Object.isExtensions() + ```js -try { - console.log(x); // บรรทัด a เกิด error -} catch (e) { - console.log(e.message); // "x is not defined" -} finally { - console.log("finally"); -} -console.log("Last statement"); -/* แสดงผลลัพธ์ -"x is not defined" -"finally"; -"Last statement" */ +var obj1 = {}; +var obj2 = Object.preventExtensions(obj1); +console.log(obj1 === obj2); // true +obj1.a = 1; // จะเพิกเฉย แต่ถ้าอยู่ในโหมดสตริคท์จะเกิด TypeError +var obj3 = Object.create(obj1); +console.log(obj3); // {} +obj3.a = 1; // เพิ่มพร็อพเพอร์ตี้เข้าไปได้ +console.log(Object.getPrototypeOf(obj3) === obj1); // true ``` ```js -try { - console.log("no error"); // บรรทัด a ทำงานปกติ -} catch (e) { - console.error(e.message); -} finally { - console.log("finally"); -} -console.log("Last statement "); -/* แสดงผลลัพธ์ -"no error" -"finally"; -"Last statement" */ +var obj = {}; +console.log(Object.isExtensible(obj)); // true +Object.preventExtensions(obj); +console.log(Object.isExtensible(obj)); // false ``` +## ฟังก์ชั่นคอนสตรัคเตอร์ที่มีในภาษา + +### Object + ```js -function foo() { - try { - return "foo"; - } finally { - console.log("finally"); - } -} -console.log(foo()); +var obj1 = new Object(1234); +var obj2 = new Object(); // อ็อบเจ็กต์ว่าง +var obj3 = new Object(undefined); // อ็อบเจ็กต์ว่าง +var obj4 = new Object(null); // อ็อบเจ็กต์ว่าง +var obj5 = Object(1); // เรียกแบบฟังก์ชั่น (ค่าอากิวเมนต์เป็นอะไรก็ได้) +console.log(typeof obj5); // "object" +``` + +### Boolean + +```js +var obj = new Boolean(true); +console.log(typeof obj); // "object" +var b = Boolean(true); +console.log(typeof b); // "boolean" +console.log(b); // true +console.log(obj == b); // true +console.log(obj === b); // false +``` + +```js +var false1 = Boolean(); // false +var false2 = Boolean(false); // false +var false3 = Boolean(0); // false +var false4 = Boolean(-0); // false +var false5 = Boolean(null); // false +var false6 = Boolean(''); // false +var false7 = Boolean(NaN); // false +var false8 = Boolean(undefined); // false +var true1 = Boolean(true); // true +var true2 = Boolean("Hi"); // true +var true3 = Boolean("true"); // true +var true4 = Boolean("false"); // true +var true5 = Boolean([]); // true +var true6 = Boolean({}); // true +var true7 = Boolean(true4); // true +``` + +### Number + +```js +var obj = new Number(1); +console.log(typeof obj); // "object" +var n1 = Number("1"); // รับค่าเป็นสตริงก็ได้เช่นกัน +var n2 = Number("a"); // "a" ไม่ใช่ตัวเลข จึงทำให้ตัวแปร n2 มีค่าเป็น NaN +console.log(typeof n1, typeof n2); // "number number" +console.log(n1, n2); // 1 NaN +console.log(obj == n1); // true +console.log(obj === n1); // false +``` + +### String + +```js +var str1 = new String("MyString"); +console.log(typeof str1); // "object" +console.log(str1 === "MyString"); // false +var str2 = String("MyString"); +console.log(typeof str2); // "string" +console.log(str2 === "MyString"); // true +console.log(str1 == str2); // true +console.log(str1 === str2); // false +``` + +### Array + +```js +var array1 = Array( 3 ); // เรียกแบบฟังก์ชั่น +console.log(array1.length); // 3 +console.log(array1); // [ <3 empty slots> ] +var array2 = new Array(3); +console.log(array2.length); // 3 +console.log(array2); // [ <3 empty slots> ] +``` + +### Date + +```js +console.log(Date()); // "Fri Sep 08 2023 21:33:45 GMT+0700 (Indochina Time)" +console.log(new Date()); // "Fri Sep 08 2023 21:33:45 GMT+0700 (Indochina Time)" +``` + +```js +console.log( new Date("October 20, 2023 11:13:00") ); +// "Fri Oct 20 2023 11:13:00 GMT+0700 (Indochina Time)" +``` + +## เมธอดของสตริง + +```js +console.log( " Learning JavaScript ".trim() ); // แสดงผลเป็น "Learning JavaScript" +``` + +```js +console.log( "foo_foo_foo_".indexOf("foo") ); // 0 +console.log("foo_foo_foo_".lastIndexOf("foo") ); // 8 +``` + +```js +"use strict"; +var str = "MyString"; +console.log(str.length) // 8 +str.length = 0; // TypeError (ถ้าไม่ใช่โหมดสตริคท์จะไม่เกิด error แต่จะเพิกเฉย) +str.func = function(){ }; // TypeError (ถ้าไม่ใช่โหมดสตริคท์จะไม่เกิด error แต่จะเพิกเฉย) +``` + +## เมธอดของอาร์เรย์ + +```js +var array = ["a","b","c","d"]; +var str = array.join("->"); +console.log(str); // "a->b->c->d" +``` + +```js +var array = [ ]; +array.push("a", "b", "c", "d"); // เพิ่มสมาชิกกี่ตัวก็ได้ +console.log(array); // [ 'a', 'b', 'c', 'd' ] +console.log(array.pop()); // "d" +console.log(array); // [ 'a', 'b', 'c' ] +``` + +```js +var array = ["a","b","c","d"]; +console.log(array.indexOf("c" )); // 2 +console.log(array.indexOf("e" )); // -1 +``` + +```js +var array = ["a","b","c","d"]; +var result = array.some( function (value, index, arrayObj) { + // value คือค่าสมาชิกของอาร์เรย์ + // index คืออินเด็กซ์ของอาร์เรย์ + // arrayObj คือ ["a", "b", "c", "d"] + return value == "c"; +} ); +console.log(result) // true +``` + +```js +var array = ["a","b","c","d"]; +array.forEach(function (value, index, arrayObj) { + // value คือค่าสมาชิกของอาร์เรย์ + // index คืออินเด็กซ์ของอาร์เรย์ + // arrayObj คือ ["a", "b", "c", "d"] + console.log("a[", index, "] = ", value); +}); /* แสดงผลลัพธ์ -"finally"; -"foo"; */ +"a[ 0 ] = a" +"a[ 1 ] = b" +"a[ 2 ] = c" +"a[ 3 ] = d" */ ``` +## ฟังก์ชั่นก็เป็นอ็อบเจ็กต์ + ```js function foo() { - try { - console.log(x); // บรรทัด a เกิด error - return "foo"; - } finally{ - console.log("finally"); // บรรทัด b ทำงาน - } -} -console.log(foo()); // บรรทัด c ไม่เข้ามาทำงาน -/* แสดงผลลัพธ์ -"finally" -จากนั้นจะจบการทำงานพร้อมแจ้ง error ว่า -"Uncaught ReferenceError: x is not defined" -*/ + console.log(foo.x) // อ้างถึงพร๊อพเพอร์ตี้ x +} + +foo(); // undefined + +foo.x = 100; // เพิ่มเข้าไป เพื่อให้ a.x หาเจอ +console.log(foo.x) // 100 +foo(); // เรียกใช้ได้ โดยจะแสดง 100 ออกมา +foo["x"] = true // ใช้วงเล็บเหลี่ยมในการเข้าถึง x +foo["name"] = "My function"; // ใช้วงเล็บเหลี่ยมเพิ่มพร๊อพเพอร์ตี้ name เข้าไป ``` -### Optional Catch Binding +## เกร็ดความรู้ ```js -try { - console.log(x); // บรรทัด a เกิด error -} catch { // มาตรฐานใหม่ ด้านหลัง catch ไม่จำเป็นต้องมีวงเล็บ ไม่ต้องระบุชื่อตัวแปร - console.log("Error"); +function showData(person) { + console.log("Person is", person.name, ", age is", person.age ); } +let person = { // บรรทัด a + name: "Somchai", + age: 23 +} +showData(person) // บรรทัด b /* แสดงผลลัพธ์ -"Error" */ +Person is Somchai , age is 23 */ ``` ```js -try { - console.log(x); // บรรทัด a เกิด error -} catch(e) { // มาตรฐานเก่า ด้านหลัง catch ต้องมีวงเล็บแล้วให้ระบุชื่อตัวแปร - console.log("Error"); +function showData(person) { + console.log("Person is", person.name, ", age is", person.age ); } +showData({ // บรรทัด a + name: "Somchai", + age: 23 +}) /* แสดงผลลัพธ์ -"Error" */ +Person is Somchai , age is 23 */ +``` + +```js +let obj = { first: "Jane", last: "Doe" }; +``` + +```js +let obj = { + first: "Jane", + last: "Doe" +}; ``` -### cause ใน error +## ปูพื้นฐาน JSON + +### เมธอด JSON.parse() กับ JSON.stringify() ```js -new Error( - "My error", // ค่าอากิวเมนต์ตัวแรก - {cause: "otherError"} // ค่าอากิวเมนต์ตัวที่สอง - ); +// ใช้ \ เชื่อมสตริงแต่ละบรรทัดเข้าดัวยกัน +var json = '{"bold": true,\ + "color": "red",\ + "size": 100\ +}'; +var obj = JSON.parse(json); // obj คืออ็อบเจ็กต์ที่ใช้แทนข้อมูลแบบ JSON +console.log(typeof obj); // "object" +console.log(obj); +// แสดงผลลัพธ์เป็น +// { bold: true, color: 'red', size: 100 } ``` +* ตัวอย่าง จะทำการแปลงสตริงที่เขียนอยู่ในรูป JSON ซึ่งคราวนี้จะซับซ้อนหน่อยตรงที่คีย์ชื่อ "people" จะมีส่วน value เป็นอาร์เรย์ที่มีสมาชิกเป็นอ็อบเจ็กต์ (JSON) แล้วจะใช้เมธอด JSON.parse() แปลงให้กลายเป็นอ็อบเจ็กต์ที่อยู่ในรูปอ็อบเจ็กต์ของจาวาสคริปต์ + ```js -try { - console.log(x); // บรรทัด a - } catch (error) { - throw new Error( - "My Error", - {cause: error} - ); +// ใช้ \ เชื่อมสตริงแต่ละบรรทัดเข้าดัวยกัน +var json = '{"people":[\ + {"firstName":"Somchai", "lastName":"Jaidee"},\ + {"firstName":"Mana", "lastName":"Dekdee"},\ + {"firstName":"Surat", "lastName":"Khonthai"}\ +]}'; +var obj = JSON.parse(json); // obj คืออ็อบเจ็กต์ที่ใช้แทนข้อมูลแบบ JSON +console.log(typeof obj); // "object" +console.log(obj); +/* แสดงผลลัพธ์เป็น +{ people: + [ { firstName: 'Somchai', lastName: 'Jaidee' }, + { firstName: 'Mana', lastName: 'Dekdee' }, + { firstName: 'Surat', lastName: 'Khonthai' } ] } */ +``` + +* ตัวอย่าง ใช้ JSON.stringify() จะแปลงอ็อบเจ็กต์ในจาวาสคริปต์ ให้เป็นสตริงที่อยู่ในรูป JSON + + +```js +var obj = { + bold: true, + color: "red", + size: 100 +}; +console.log(JSON.stringify(obj)); +// แสดงผลลัพธ์เป็น +// {"bold":true,"color":"red","size":100} +``` + +* ตัวอย่าง ใช้ JSON.stringify() จะแปลง value ที่เป็นอาร์เรย์ ให้เป็นสตริงที่อยู่ในรูป JSON + +```js +var obj = { + "cars": ["Toyota", "BMW", "Tesla"] } -/* โปรแกรมจะตาย และแจ้ง error ออกมา */ -``` \ No newline at end of file +console.log(JSON.stringify(obj)); +// แสดงผลลัพธ์เป็น +// {"cars":["Toyota","BMW","Tesla"]} +``` + +```js +var obj = { + people: [ + { firstName: "Somchai", lastName: "Jaidee" }, + { firstName: "Mana", lastName: "Dekdee" }, + { firstName: "Surat", lastName: "Khonthai" } + ] , + age: Symbol("1") +}; +console.log(JSON.stringify(obj)); +/* แสดงผลลัพธ์เป็น +{"people":[{"firstName":"Somchai","lastName":"Jaidee"},{"firstName":"Mana", + "lastName":"Dekdee"},{"firstName":"Surat","lastName":"Khonthai"}]} */ +``` + +```js +var obj = { + people: [ + { firstName: "Somchai", lastName: "Jaidee" }, + { firstName: "Mana", lastName: "Dekdee" }, + { firstName: "Surat", lastName: "Khonthai" } + ] +}; +console.log(JSON.stringify(obj, null, 2)); // ระบุค่าอากิวเมนต์ตัวที่สาม +/* แสดงผลลัพธ์เป็น +{ + "people": [ + { + "firstName": "Somchai", + "lastName": "Jaidee" + }, + { + "firstName": "Mana", + "lastName": "Dekdee" + }, + { + "firstName": "Surat", + "lastName": "Khonthai" + } + ] +} */ +``` + +```js +var obj = { + name: "Somchai", + func: function() { }, + age: Symbol("25") +}; +console.log(JSON.stringify(obj)); +// แสดงผลลัพธ์ +// {"name":"Somchai"} +``` + +```js +var obj = { + name: "Somchai", + today: new Date() +}; +console.log(JSON.stringify(obj)); +// แสดงผลลัพธ์ +// {"name":"Somchai","today":"2023-02-06T02:10:39.018Z"} +``` diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 4ac6c95..a35c3d7 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -1,985 +1,269 @@ -# โค้ดบทที่ 6 ทบทวนอ็อบเจ็กต์ +# โค้ดบทที่ 6 ทบทวน Regex -## วิธีสร้างอ็อบเจ็กต์อย่างง่าย +## Regular Expression -```js -var font = { }; -``` - -```js -var font = { - color: "red", // คีย์ชื่อ color : ข้อมูลเป็นสตริง "red" - myFunction: function (param) { // คีย์ชื่อ myFunction : ข้อมูลเป็นเมธอด (ฟังก์ชั่น) - /* ซอร์สโค้ดของเมธอดอยู่นี้ */ - }, - option: { // คีย์ชื่อ option : ข้อมูลเป็นอ็อบเจ็กต์ (อ๊อบเจ็กต์ซ้อนอ๊อบเจ็กต์) - value: 1 - } -}; -``` - -## การเข้าถึงพร็อพเพอร์ตี้ - -```js -var obj = { - a: 1, // กำหนดให้ a มีค่าตั้งต้นเป็น 1 - myFunction : function() { - console.log("call myFunction"); - } -}; -obj.a = 100; // กำหนดให้ obj.a มีค่าเป็น 100 -console.log(obj.a); // 100 -console.log(typeof obj.myFunction); // "function" -obj.myFunction(); // "call myFunction" -``` - -## การใช้วงเล็บเหลี่ยม - -```js -var student = { - "First name": "Somchai", - "Last name": "Jaidee", - "Who are you": function() { - console.log("I'm a student"); - }, - nickname: "Tom" -}; -console.log(student["First name"]); // "Somchai" -var lastName = "Last name"; -console.log(student[lastName]); // "Jaidee" -student["Who are you"](); // "I'm a student" -console.log(student.nickname); // "Tom" -console.log(student["nickname"]); // "Tom" -``` - -```js -var obj = { - 1: 1, - true: 2, - null : 3, - undefined: 4 -}; -console.log(obj[1 + 0]); // 1 -console.log(obj[true && true]); // 2 -console.log(obj[null]); // 3 -console.log(obj[undefined]); // 4 -``` - -```js -var obj = { - { }: 1 // เกิด SyntaxError ไม่สามารถใช้อ็อบเจ็กต์เป็นคีย์โดยตรง -}; -``` - -## เพิ่มพร็อพเพอร์ตี้เข้าไปทีหลัง - -```js -var obj = { }; -obj.a = 1; // เพิ่มพร็อพเพอร์ตี้ที่เป็นตัวแปร a -obj[1]=100; // เพิ่มพร็อพเพอร์ตี้ที่มีคีย์เป็นตัวเลข 1 -obj["property name"]= 200; // เพิ่มพร็อพเพอร์ตี้ที่มีคีย์เป็นสตริง "property name" -obj.myFunction = function() { // เพิ่มพร็อพเพอร์ตี้ที่เป็นเมธอด - console.log("to do something"); -}; -console.log(obj.a); // 1 -console.log(obj[1]); // 100 -console.log(obj["property name"]); // 200 -obj.myFunction(); // "to do something" -``` - -```js -var obj = { }; -var key = { }; -obj[key] = 100; // มีคีย์เป็นอ็อบเจ็กต์ว่าง -console.log(obj[key]); // 100 -``` - -## การส่งค่าให้ตัวแปร - -```js -function myFunction(param1, param2) { - param1.a = 3; // pass by reference - param2 = 200; // pass by value -} -var obj = {a:1, b:2}, value = 100; -myFunction(obj, value); -console.log(obj.a); // 3 -console.log(value); // 100 -``` - -```js -var obj1 = {a:1, b:2}; -var obj2 = obj1; // บรรทัด a -- pass by reference -obj2.a = 3; // บรรทัด b -console.log(obj1.a); // 3 -var value1 = 1; -var value2 = value1; // บรรทัด d -- pass by value -value2 = 3; // บรรทัด e -console.log(value1); // 1 -``` - -## การเปรียบเทียบความเท่ากัน - -```js -console.log( {a:1} == {a:1} ); // false -console.log( {a:1} === {a:1} ); // false -``` - -```js -var a = 1, b = 1; -console.log(a == b); // true -console.log(a === b); // true -``` - -## this - -```js -var obj = { - a: 1, - foo: function() { - return 2; - }, - bar: function() { - console.log(this.a); - }, - zoo: function() { - console.log(this.foo()); - } -}; -obj.bar(); // 1 -obj.zoo(); // 2 -``` +* 1. สร้างโดยใช้ฟังก์ชั่นคอนสตรัคเตอร์ RegExp ตามตัวอย่าง ```js -var obj = { - foo: function () { - this.a = 1; // เพิ่มตัวแปร a เข้าไปในอ็อบเจ็กต์ - console.log(this.a); - }, - bar: function() { - console.log(this.a); - } -}; -obj.foo(); // 1 -obj.bar(); // 1 -console.log(obj.a); // 1 +var myRegex = new RegExp("Hello+"); +console.log(myRegex.toString()); // /Hello+/ ``` -### การผูก this ไว้กับอ็อบเจ็กต์ - -```js -var obj1 = { }; -var obj2 = { - a: 1, - bar : function() { - console.log("this.a =", this.a); - obj1.foo = function() { // บรรทัด a - console.log("this.a =", this.a); - } // สิ้นสุดการประกาศฟังก์ชั่น foo() - } // สิ้นสุดการประกาศฟังก์ชั่น bar() -}; -obj2.bar(); // "this.a = 1" -obj1.foo(); // "this.a = undefined" -``` - -### this ในฟังก์ชั่น - +* 2. สร้างโดยใช้เครื่องหมาย /…/ มาครอบข้อความ regex ตามตัวอย่าง ```js -//"use strict"; -function myFunction() { - return this; -} -var obj = myFunction(); -console.log(typeof obj); -// แสดงผลลัพธ์เป็น -// undefined (ถ้าเป็นโหมดสตริคท์) -// "object" (ถ้าไม่ใช่โหมดสตริคท์) +var myRegex = /Hello+/; +// ข้อความ regex ก็คืออ็อบเจ็กต์ตัวหนึ่ง +// จึงสามารถแชร์ใช้งานเมธอด RegExp.prototype.toString() +console.log(/Hello+/.toString()); // /Hello+/ ``` -### เมธอด call() apply() และ bind() +### เมธอด test() กับ exec() ```js -var obj1 = { - value: 20 -}; -var obj2 = { - myFunction: function(param1, param2) { - var value = this.value; // this จะชี้ไปยัง obj1 - console.log(param1, param2, value); - } -} -obj2.myFunction(1, 10); // 1 10 undefined -obj2.myFunction.call(obj1, 1, 10); // 1 10 20 -obj2.myFunction.apply(obj1, [1, 10]); // 1 10 20 -var f = obj2.myFunction.bind(obj1, 1, 10); -f(); // 1 10 20 +console.log( /Hello+/.test("Hellooooo") ); // true +console.log( (new RegExp("Hello+")).test("Hellooooo") ); // true ``` -## พร็อพเพอร์ตี้แอคเซสเซอร์ - ```js -var font = { color: "red" } ; -font.color = "blue"; +var myRegex = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; +console.log(myRegex.test("xxxxxx.yyyyyy_zzzzz@abc.com")); // true ``` ```js -var font = { - set color(param) { // ประกาศเมธอด setter โดยมีพารามิเตอร์ ได้เพียงตัวเดียว - this.col = param; // กำหนดค่าให้กับข้อมูลภายในอ็อบเจ็กต์ - } -}; -font.color = "blue"; // แก้ไขค่าได้ -console.log(font.color) // undefined +var myRegex = /^(\-?|\+?)\d*$/; +console.log(myRegex.test("-987")); // true ``` ```js -var font = { - col: "red", - get color() { // ประกาศเมธอด getter โดยไม่ต้องมีพารามิเตอร์ - return this.col; // รีเทิร์นข้อมูลภายในอ็อบเจ็กต์ออกไป - } -}; -console.log(font.color); // "red" -font.color = "blue"; // ไม่มีผลอะไรเกิดขึ้น หรือเกิด TypeError ในโหมดสตริคท์ -console.log(font.color); // "red" +var result = /(foo).(bar)/.exec("0123foo_bar"); +console.log(result.index); // 4 +console.log(result[0]); // "foo_bar" +console.log(result[1]); // "foo" +console.log(result[2]); // "bar" +console.log(result.input); // "0123foo_bar" ``` -```js -var font = { - col: "red", - set color(param) { - this.col = param; - }, - get color() { - return this.col; - } -}; -console.log(font.color); // "red" -font.color = "blue"; -console.log(font.color); // "blue" -``` - -## โอเปอเรเตอร์ delete -* หมายเหตุ โค้ดนี้ควรรันผ่านเว็บเบราเซอร์ หรือ Node.js จะดีกว่า เพราะถ้ากดปุ่มรัน ตัวแปร a จะไม่ใช่ตัวแปรของอ็อบเจ็กต์โกลบอล จึงทำให้ประโยคคำสั่ง delete a ได้คำตอบเป็น true -```js -var obj = {x:1 ,y:2}; -console.log(delete obj.x); // true -console.log(delete obj["y"]); // true -console.log(obj); // {} -var a = 1; -console.log(delete a); // false หรือเกิด SyntaxError ในโหมดสตริคท์ -``` +## รูปแบบการใช้งาน regex ต่างๆ -```js -console.log(delete Number.MAX_VALUE); // false หรือเกิด TypeError โหมดสตริคต์ -``` +### การระบุคำที่ต้องการค้นหา ```js -var a = [1, "Hi"]; -console.log(a.length); // 2 -console.log(delete a[0]); // true -console.log(delete a[1]); // true -console.log(a[0]); // undefined -console.log(a[1]); // undefined -console.log(a.length); // 2 +var re = /like/; +console.log(re.exec("I like u")); // [ 'like', index: 2, input: 'I like u', groups: undefined ] ``` -## Descriptor - ```js -var obj1 = { }; -Object.defineProperty(obj1, "foo", { // อ็อบเจ็กต์ descriptor - value: 100, - writable: true -}); -console.log(obj1.foo); // 100 -console.log(Object.getOwnPropertyDescriptor(obj1,"foo")); // รีเทิร์น descriptor -// { value: 100, writable: true, enumerable: false, configurable: false } -var obj2 = { }; -Object.defineProperties(obj2, { - "foo": { // อ็อบเจ็กต์ descriptor - value: "fooValue", - writable: true - }, - "bar": { // อ็อบเจ็กต์ descriptor - value: "barValue", - writable: false - } - // พร็อพเพอร์ตี้อื่น ๆ -}); -console.log(obj2.foo, obj2.bar); // "fooValue barValue" -console.log(Object.getOwnPropertyDescriptor(obj2,"foo")); // รีเทิร์น descriptor -// { value: "fooValue", writable: true, enumerable: false, configurable: false } -console.log(Object.getOwnPropertyDescriptor(obj2,"bar")); // รีเทิร์น descriptor -// { value: "barValue", writable: false, enumerable: false, configurable: false } +var re = /html|div|br/; +console.log(re.exec("
    ")); // [ 'div', index: 1, input: '
    ', groups: undefined ] ``` -## ฟังก์ชั่นคอนสตรัคเตอร์ +### การระบุช่วงตัวอักษรที่จับคู่ ```js -function Car(color) { - this.color = color; - return true; // เขียนเกินมา ไม่มีผลอะไรต่อการทำงาน -} -var redCar = new Car("red"); -var blueCar = new Car("blue"); -//… สร้างอ็อบเจ็กต์ใหม่ได้เรื่อยด้วยโอเปอเรเตอร์ new -console.log(redCar.color); // "red" -console.log(blueCar.color); // "blue" +var re = /[abc]/; +console.log(re.exec("feb")); // [ 'b', index: 2, input: 'feb', groups: undefined ] ``` ```js -function Car(color) { - this.color = color; // ถ้าเป็นโหมดสตริคท์จะเกิด TypeError ขึ้นได้ - return true; -} -var blueCar = Car("blue"); // เป็นการเรียกฟังก์ชั่นธรรดา -console.log(blueCar); // true +var re = /[^cat]/; +console.log(re.exec("cats")); // [ 's', index: 3, input: 'cats', groups: undefined ] ``` ```js -function Car(color) { - console.log("constructor"); -} -var redCar = new Car(); // "constructor" -var blueCar = new Car; // "constructor" +var re = /[7-9]/; +console.log(re.exec("2+8")); // [ '8', index: 2, input: '2+8', groups: undefined ] ``` -## เมธอด Object.create() - ```js -var car = { - drive: function() { console.log("driving a car") ; } -} -var redCar = Object.create(car); -var blueCar = Object.create(car, -{ // เพิ่มพร็อพเพอร์ตี้เข้าไป ด้วยการระบุ descriptor - foo: { writable: true, configurable: true, value: "fooValue" }, // descriptor - bar:{ writable: true, configurable: true, value: "barValue" } // descriptor -} -); -// สร้างอ็อบเจ็กต์ใหม่ได้เรื่อย ๆ ด้วย Object.create() -// … -redCar.drive(); // "driving a car" -blueCar.drive(); // "driving a car" -console.log(blueCar.foo); // "fooValue" -console.log(blueCar.bar); // "barValue" +var re = /[a-c]/; +console.log(re.exec("rat")); // [ 'a', index: 1, input: 'rat', groups: undefined ] ``` ```js -var car = { } -var redCar = Object.create(car); -var blueCar = Object.create(car); -car.drive = function() { - console.log("driving a car"); -} -redCar.drive(); // "driving a car" -blueCar.drive(); // "driving a car" - -console.log( Object.getPrototypeOf(redCar) === car ); // true (เพราะโปรโตไทป์คือ car) -console.log( Object.getPrototypeOf(blueCar) === car ); // true (เพราะโปรโตไทป์คือ car) -``` - -```js -var obj1 = Object.create(null); // ไม่มีโปรโตไทป์ -console.log(obj1); // {} -console.log(Object.getPrototypeOf(obj1)); // null -var obj2 = Object.create(Object.prototype); // จะเหมือนสร้างอ็อบเจ็กต์ด้วยวิธีนี้ var obj = {} -console.log(obj2); // {} -console.log(Object.getPrototypeOf(obj2) === Object.prototype); // true -``` - -## prototype - -```js -function Car(color) { - this.color = color; -} -var redCar = new Car("red"); -console.log( Object.getPrototypeOf(redCar) === Car.prototype); // true +var re = /[A-C]/; +console.log(re.exec("COM")); // [ 'C', index: 0, input: 'COM', groups: undefined ] ``` ```js -function Car(color) { - this.color = color; -} -Car.prototype.drive = function() { - console.log("Drive a", this.color, "car"); // this จะชี้ไปยังอ็อบเจ็กต์ที่ถูกสร้างขึ้นมา -}; -var redCar = new Car("red"); +var re = /[a-cA-C]/; +console.log(re.exec("AND")); // [ 'A', index: 0, input: 'AND', groups: undefined ] ``` ```js -function Car(color) { - this.color = color; -} -Car.prototype.drive = function() { - console.log("Drive a", this.color, "car"); // this จะชี้ไปยังอ็อบเจ็กต์ที่ถูกสร้างขึ้นมา -}; -var redCar = new Car("red"); -redCar.drive(); // "Drive a red car" -var blueCar = new Car("blue"); -blueCar.drive(); // "Drive a blue car" -console.log( Object.getPrototypeOf(redCar) === Car.prototype); // true -console.log( Object.getPrototypeOf(blueCar) === Car.prototype); // true +var re = /[a-zB-Mxyz157]/; +console.log(re.exec("3-5")); // [ '5', index: 2, input: '3-5', groups: undefined ] ``` -```js -function Car(color) { - this.color = color; -} -Car.drive = function() { - console.log("driving a car"); -}; -Car.drive(); // "driving a car" -var redCar = new Car("red"); -console.log(typeof redCar.drive); // undefined -``` - -## การสืบทอดสมาชิกหลายระดับชั้น - -```js -var extend = { - drive: function() { - console.log("Drive a", this.color, "car"); - } -} -function Car(color) { - this.color = color; -} -Car.prototype = extend; // บรรทัด a -Car.prototype.stop = function() { // บรรทัด b - console.log("Stop a", this.color, "car"); -}; -var redCar = new Car("red"); -console.log( Object.getPrototypeOf(redCar) === extend ); // true -redCar.drive(); // "Drive a red car" -redCar.stop(); // "Stop a red car" -``` - -```js -function Car(color) { } -Car.prototype.drive = function() { - console.log("Drive a", this.color, "car"); // this ชี้ไปยังอ็อบเจ็กต์ที่ถูกสร้างขึ้นมา -}; -function RedCar(color) { - this.color = color; -} -RedCar.prototype = Object.create(Car.prototype); // บรรทัด a -console.log( Object.getPrototypeOf(RedCar.prototype) === Car.prototype ); // true -RedCar.prototype.stop = function() { - console.log("Stop a", this.color, "car"); // this ชี้ไปยังอ็อบเจ็กต์ที่ถูกสร้างขึ้นมา -} -var redCar = new RedCar("red"); -console.log( Object.getPrototypeOf(redCar) === RedCar.prototype ); // true -redCar.drive(); // "Drive a red car" -redCar.stop(); // "Stop a red car" -``` - -## โอเปอรเตอร์ instanceof - -```js -function Foo() { } -var obj = new Foo(); -console.log(obj instanceof Foo); // true -console.log(Object.getPrototypeOf(obj) === Foo.prototype); // true -``` - -```js -function Foo() { } -var obj = new Foo(); -console.log(obj instanceof Foo); // true -console.log(Object.getPrototypeOf(obj) === Foo.prototype); // true -console.log(obj instanceof Object); // true -console.log(Foo.prototype instanceof Object); // true -console.log(Object.getPrototypeOf(Foo.prototype) === Object.prototype); // true -console.log(Object.getPrototypeOf(obj) === Object.prototype); // false -``` - -## prototype ที่มีอยู่ในภาษา - -```js -console.log( Object.getPrototypeOf(function(){ }) === Function.prototype); // true -console.log( Object.getPrototypeOf([ ]) === Array.prototype); // true -console.log( Object.getPrototypeOf({ }) === Object.prototype); // true -console.log( Object.getPrototypeOf('') === String.prototype); // true -console.log( Object.getPrototypeOf(true) === Boolean.prototype); // true -console.log( Object.getPrototypeOf(1) === Number.prototype); // true -console.log(function(){ } instanceof Function); // true -console.log([ ] instanceof Array); // true -console.log({ } instanceof Object); // true -console.log('' instanceof String); // false -console.log(true instanceof Boolean); // false -console.log(1 instanceof Number); // false -``` - -```js -// ฟังก์ชั่น -Function.prototype.sayMsg = function(msg) { - console.log("Function say:", msg); -}; -function myFunction() { } -myFunction.sayMsg("Hello"); // "Function say: Hello" -// อาร์เรย์ -Array.prototype.sayMsg = function(msg) { - console.log("Array say:", msg); -}; -[ ].sayMsg("Hello"); // "Array say: Hello" -// อ็อบเจ็กต์ -Object.prototype.sayMsg = function(msg) { - console.log("Object say:", msg); -}; -var obj = { }; -obj.sayMsg("Hello"); // "Object say: Hello" -({ }).sayMsg("Hello"); // "Object say: Hello" -// สตริง -String.prototype.sayMsg = function(msg) { - console.log("String say:", msg); -}; -"123".sayMsg("Hello"); // "String say: Hello" -// บูลีน -Boolean.prototype.sayMsg = function(msg) { - console.log("Boolean say:", msg); -} -true.sayMsg("Hello"); // "Boolean say: Hello" -// ตัวเลข -Number.prototype.sayMsg = function(msg) { - console.log("Number say:", msg); -} -var num = 123; -num.sayMsg("Hello"); // "Number say: Hello" -(123).sayMsg("Hello"); // "Number say: Hello" -``` - -* หมายเหตุ เพื่อป้องกันความผิดจากการรันโคดด้านล่าง ก็ควรจะลบ sayMsg ก่อนหน้านี้ออกไปก่อน ด้วยโค้ดต่อไปนี้ (ในหนังสือไม่มีโค้ดชุดนี้) -```js -delete Function.prototype.sayMsg; -delete Array.prototype.sayMsg; -delete Object.prototype.sayMsg -delete String.prototype.sayMsg -delete Boolean.prototype.sayMsg -delete Number.prototype.sayMsg -``` - -## โอเปอเรเตอร์ in - -```js -var obj = {x: 1, y: 2}; -console.log("x" in obj); // true -console.log("xyz" in obj); // false (อ็อบเจ็กต์ไม่มีพร็อพเพอร์ตี้ xyz) -var a = ["a", "b", "c"]; -console.log(0 in a); // true (อาร์เรย์นี้มีอินเด็กซ์ 0) -console.log(5 in a); // false (อาร์เรย์ไม่มีอินเด็กซ์ 5) -console.log("1" in a); // true (อาร์เรย์นี้มีอินเด็กซ์ 1) -console.log("length" in a); // true (อาร์เรย์จะมี length เป็นพร็อพเพอร์ตี้) -``` +### การระบุความถี่ของลำดับตัวอักษรที่จับคู่ -```js -var parent = {x:1}; -var obj = Object.create(parent); -console.log("x" in obj); // true -``` - -## ประโยคคำสั่ง for …in - -```js -function Font() { - this.color = "red"; - this.size = 200; -} -var coordinate = {x: 1, y: 1, z: 1} -Font.prototype = Object.create(coordinate); -Font.prototype.myFunction = function(){ }; -var font = new Font(); -font[1] = "fontValue"; -for(var prop in font) { - console.log(prop); -} -/* แสดงผลลัพธ์เป็น -"1" -"color" -"size" -"myFunction" -"x" -"y " -"z " */ -``` - -```js -function Font() { - this.color = "red"; - this.size = 200; -} -var coordinate = {x: 1, y: 1, z: 1} -Font.prototype = Object.create(coordinate); -Font.prototype.myFunction = function(){ }; -var font = new Font(); -font[1] = "fontValue"; -for(var prop in font) { - if(font.hasOwnProperty( prop ) ) { // เข้าถึงคีย์ที่อยู่ในอ็อบเจ็กต์เท่านั้น - console.log("font." + prop, "=", font[prop]); - } -} -/* แสดงผลลัพธ์เป็น -"font.1 = fontValue" -"font.color = red" -"font.size = 200" */ -``` - -## Object.preventExtensions() กับ Object.isExtensions() - -```js -var obj1 = {}; -var obj2 = Object.preventExtensions(obj1); -console.log(obj1 === obj2); // true -obj1.a = 1; // จะเพิกเฉย แต่ถ้าอยู่ในโหมดสตริคท์จะเกิด TypeError -var obj3 = Object.create(obj1); -console.log(obj3); // {} -obj3.a = 1; // เพิ่มพร็อพเพอร์ตี้เข้าไปได้ -console.log(Object.getPrototypeOf(obj3) === obj1); // true -``` ```js -var obj = {}; -console.log(Object.isExtensible(obj)); // true -Object.preventExtensions(obj); -console.log(Object.isExtensible(obj)); // false +var re = /3+/; +console.log(re.exec("123")); // [ '3', index: 2, input: '123', groups: undefined ] ``` -## ฟังก์ชั่นคอนสตรัคเตอร์ที่มีในภาษา - -### Object - ```js -var obj1 = new Object(1234); -var obj2 = new Object(); // อ็อบเจ็กต์ว่าง -var obj3 = new Object(undefined); // อ็อบเจ็กต์ว่าง -var obj4 = new Object(null); // อ็อบเจ็กต์ว่าง -var obj5 = Object(1); // เรียกแบบฟังก์ชั่น (ค่าอากิวเมนต์เป็นอะไรก็ได้) -console.log(typeof obj5); // "object" +var re = /p+/; +console.log(re.exec("app")); // [ 'pp', index: 1, input: 'app', groups: undefined ] ``` -### Boolean - ```js -var obj = new Boolean(true); -console.log(typeof obj); // "object" -var b = Boolean(true); -console.log(typeof b); // "boolean" -console.log(b); // true -console.log(obj == b); // true -console.log(obj === b); // false +var re = /3*/; +console.log(re.exec("12")); // [ '', index: 0, input: '12', groups: undefined ] ``` ```js -var false1 = Boolean(); // false -var false2 = Boolean(false); // false -var false3 = Boolean(0); // false -var false4 = Boolean(-0); // false -var false5 = Boolean(null); // false -var false6 = Boolean(''); // false -var false7 = Boolean(NaN); // false -var false8 = Boolean(undefined); // false -var true1 = Boolean(true); // true -var true2 = Boolean("Hi"); // true -var true3 = Boolean("true"); // true -var true4 = Boolean("false"); // true -var true5 = Boolean([]); // true -var true6 = Boolean({}); // true -var true7 = Boolean(true4); // true +var re = /b*/; +console.log(re.exec("bbc")); // [ 'bb', index: 0, input: 'bbc', groups: undefined ] ``` -### Number - ```js -var obj = new Number(1); -console.log(typeof obj); // "object" -var n1 = Number("1"); // รับค่าเป็นสตริงก็ได้เช่นกัน -var n2 = Number("a"); // "a" ไม่ใช่ตัวเลข จึงทำให้ตัวแปร n2 มีค่าเป็น NaN -console.log(typeof n1, typeof n2); // "number number" -console.log(n1, n2); // 1 NaN -console.log(obj == n1); // true -console.log(obj === n1); // false +var re = /p*/; +console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] ``` -### String - ```js -var str1 = new String("MyString"); -console.log(typeof str1); // "object" -console.log(str1 === "MyString"); // false -var str2 = String("MyString"); -console.log(typeof str2); // "string" -console.log(str2 === "MyString"); // true -console.log(str1 == str2); // true -console.log(str1 === str2); // false +var re = /b?/; +console.log(re.exec("bed")); // [ 'b', index: 0, input: 'bed', groups: undefined ] ``` -### Array - ```js -var array1 = Array( 3 ); // เรียกแบบฟังก์ชั่น -console.log(array1.length); // 3 -console.log(array1); // [ <3 empty slots> ] -var array2 = new Array(3); -console.log(array2.length); // 3 -console.log(array2); // [ <3 empty slots> ] +var re = /b?/; +console.log(re.exec("bbc")); // [ 'b', index: 0, input: 'bbc', groups: undefined ] ``` -### Date - ```js -console.log(Date()); // "Fri Sep 08 2023 21:33:45 GMT+0700 (Indochina Time)" -console.log(new Date()); // "Fri Sep 08 2023 21:33:45 GMT+0700 (Indochina Time)" +var re = /p?/; +console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] ``` ```js -console.log( new Date("October 20, 2023 11:13:00") ); -// "Fri Oct 20 2023 11:13:00 GMT+0700 (Indochina Time)" +var re = /g{2}/; +console.log(re.exec("egg")); // [ 'gg', index: 1, input: 'egg', groups: undefined ] ``` -## เมธอดของสตริง - ```js -console.log( " Learning JavaScript ".trim() ); // แสดงผลเป็น "Learning JavaScript" +var re = /5{2}/; +console.log(re.exec("555")); // [ '55', index: 0, input: '555', groups: undefined ] ``` ```js -console.log( "foo_foo_foo_".indexOf("foo") ); // 0 -console.log("foo_foo_foo_".lastIndexOf("foo") ); // 8 +var re = /e{1,3}/; +console.log(re.exec("deep")); // [ 'ee', index: 1, input: 'deep', groups: undefined ] ``` ```js -"use strict"; -var str = "MyString"; -console.log(str.length) // 8 -str.length = 0; // TypeError (ถ้าไม่ใช่โหมดสตริคท์จะไม่เกิด error แต่จะเพิกเฉย) -str.func = function(){ }; // TypeError (ถ้าไม่ใช่โหมดสตริคท์จะไม่เกิด error แต่จะเพิกเฉย) +var re = /a{2,}/; +console.log(re.exec("zaaa")); // [ 'aaa', index: 1, input: 'zaaa', groups: undefined ] ``` -## เมธอดของอาร์เรย์ - ```js -var array = ["a","b","c","d"]; -var str = array.join("->"); -console.log(str); // "a->b->c->d" +var re = /^x/; +console.log(re.exec("x-ray")); // [ 'x', index: 0, input: 'x-ray', groups: undefined ] ``` ```js -var array = [ ]; -array.push("a", "b", "c", "d"); // เพิ่มสมาชิกกี่ตัวก็ได้ -console.log(array); // [ 'a', 'b', 'c', 'd' ] -console.log(array.pop()); // "d" -console.log(array); // [ 'a', 'b', 'c' ] +var re = /r$/; +console.log(re.exec("car")); // [ 'r', index: 2, input: 'car', groups: undefined ] ``` -```js -var array = ["a","b","c","d"]; -console.log(array.indexOf("c" )); // 2 -console.log(array.indexOf("e" )); // -1 -``` +### การระบุตัวอักษรพิเศษที่จับคู่ ```js -var array = ["a","b","c","d"]; -var result = array.some( function (value, index, arrayObj) { - // value คือค่าสมาชิกของอาร์เรย์ - // index คืออินเด็กซ์ของอาร์เรย์ - // arrayObj คือ ["a", "b", "c", "d"] - return value == "c"; -} ); -console.log(result) // true +var re = /./; +console.log(re.exec("dog")); // [ 'd', index: 0, input: 'dog', groups: undefined ] ``` ```js -var array = ["a","b","c","d"]; -array.forEach(function (value, index, arrayObj) { - // value คือค่าสมาชิกของอาร์เรย์ - // index คืออินเด็กซ์ของอาร์เรย์ - // arrayObj คือ ["a", "b", "c", "d"] - console.log("a[", index, "] = ", value); -}); -/* แสดงผลลัพธ์ -"a[ 0 ] = a" -"a[ 1 ] = b" -"a[ 2 ] = c" -"a[ 3 ] = d" */ +var re = /.ox/; +console.log(re.exec("boxs")); // [ 'box', index: 0, input: 'boxs', groups: undefined ] ``` -## ฟังก์ชั่นก็เป็นอ็อบเจ็กต์ - ```js -function foo() { - console.log(foo.x) // อ้างถึงพร๊อพเพอร์ตี้ x -} - -foo(); // undefined - -foo.x = 100; // เพิ่มเข้าไป เพื่อให้ a.x หาเจอ -console.log(foo.x) // 100 -foo(); // เรียกใช้ได้ โดยจะแสดง 100 ออกมา -foo["x"] = true // ใช้วงเล็บเหลี่ยมในการเข้าถึง x -foo["name"] = "My function"; // ใช้วงเล็บเหลี่ยมเพิ่มพร๊อพเพอร์ตี้ name เข้าไป +var re = /\s/; +console.log(re.exec("^ ^")); // [ ' ', index: 1, input: '^ ^', groups: undefined ] ``` -## เกร็ดความรู้ - ```js -function showData(person) { - console.log("Person is", person.name, ", age is", person.age ); -} -let person = { // บรรทัด a - name: "Somchai", - age: 23 -} -showData(person) // บรรทัด b -/* แสดงผลลัพธ์ -Person is Somchai , age is 23 */ +var re = /\d/; +console.log(re.exec("x86")); // [ '8', index: 1, input: 'x86', groups: undefined ] ``` ```js -function showData(person) { - console.log("Person is", person.name, ", age is", person.age ); -} -showData({ // บรรทัด a - name: "Somchai", - age: 23 -}) -/* แสดงผลลัพธ์ -Person is Somchai , age is 23 */ +var re = /..\d/; +console.log(re.exec("item1")); // [ 'em1', index: 2, input: 'item1', groups: undefined ] ``` -```js -let obj = { first: "Jane", last: "Doe" }; -``` +### สตริงกับ regex ```js -let obj = { - first: "Jane", - last: "Doe" -}; +console.log("012Hellooooo".search(/Hello+/)); // 3 +var result = "Hellooooo Hello".match(/Hello+/g); +console.log(result); // [ 'Hellooooo’, 'Hello’ ] +console.log(result.length); // 2 +var str = "Hellooooo".replace(/Hello+/,"Bye"); +console.log(str); // "Bye" +var split = "1,2,3".split(/,/); +console.log(split); // [ '1’, '2’, '3’ ] ``` -## ปูพื้นฐาน JSON - -### เมธอด JSON.parse() กับ JSON.stringify() +### ค่าแฟล็ก ```js -// ใช้ \ เชื่อมสตริงแต่ละบรรทัดเข้าดัวยกัน -var json = '{"bold": true,\ - "color": "red",\ - "size": 100\ -}'; -var obj = JSON.parse(json); // obj คืออ็อบเจ็กต์ที่ใช้แทนข้อมูลแบบ JSON -console.log(typeof obj); // "object" -console.log(obj); -// แสดงผลลัพธ์เป็น -// { bold: true, color: 'red', size: 100 } +var re = /thai/i; +console.log("I' am THAI".search(re)); // 6 ``` -* ตัวอย่าง จะทำการแปลงสตริงที่เขียนอยู่ในรูป JSON ซึ่งคราวนี้จะซับซ้อนหน่อยตรงที่คีย์ชื่อ "people" จะมีส่วน value เป็นอาร์เรย์ที่มีสมาชิกเป็นอ็อบเจ็กต์ (JSON) แล้วจะใช้เมธอด JSON.parse() แปลงให้กลายเป็นอ็อบเจ็กต์ที่อยู่ในรูปอ็อบเจ็กต์ของจาวาสคริปต์ - ```js -// ใช้ \ เชื่อมสตริงแต่ละบรรทัดเข้าดัวยกัน -var json = '{"people":[\ - {"firstName":"Somchai", "lastName":"Jaidee"},\ - {"firstName":"Mana", "lastName":"Dekdee"},\ - {"firstName":"Surat", "lastName":"Khonthai"}\ -]}'; -var obj = JSON.parse(json); // obj คืออ็อบเจ็กต์ที่ใช้แทนข้อมูลแบบ JSON -console.log(typeof obj); // "object" -console.log(obj); -/* แสดงผลลัพธ์เป็น -{ people: - [ { firstName: 'Somchai', lastName: 'Jaidee' }, - { firstName: 'Mana', lastName: 'Dekdee' }, - { firstName: 'Surat', lastName: 'Khonthai' } ] } */ +var regex = /Hello+/gi; +console.log(regex.lastIndex); // 0 +console.log(regex.source); // "Hello+" +console.log(regex.flags); // "gi" +console.log(regex.global); // true +console.log(regex.ignoreCase); // true +console.log(regex.multiline); // false +console.log(regex.unicode); // false +console.log(regex.sticky); // false +console.log(regex.dotAll); // false +console.log(regex.hasIndices); // false ``` -* ตัวอย่าง ใช้ JSON.stringify() จะแปลงอ็อบเจ็กต์ในจาวาสคริปต์ ให้เป็นสตริงที่อยู่ในรูป JSON - - ```js -var obj = { - bold: true, - color: "red", - size: 100 -}; -console.log(JSON.stringify(obj)); -// แสดงผลลัพธ์เป็น -// {"bold":true,"color":"red","size":100} +var re = /ok/; +console.log(re.exec("ok ok ok")); +// [ 'ok', index: 0, input: 'ok ok ok', groups: undefined ] ``` -* ตัวอย่าง ใช้ JSON.stringify() จะแปลง value ที่เป็นอาร์เรย์ ให้เป็นสตริงที่อยู่ในรูป JSON - ```js -var obj = { - "cars": ["Toyota", "BMW", "Tesla"] -} -console.log(JSON.stringify(obj)); -// แสดงผลลัพธ์เป็น -// {"cars":["Toyota","BMW","Tesla"]} +var myRegex = /Hello+/g; +var str = "01Hello Hellooo89"; +var result = myRegex.exec(str); // ค้นหาครั้งแรก +console.log(result[0]); // "Hello" +console.log(result.index); // 2 +console.log(myRegex.lastIndex); // 7 +myRegex.exec(str); // ค้นหาครั้งที่ 2 +console.log(result[0]); // "Hello" +console.log(result.index); // 2 +console.log(myRegex.lastIndex); // 15 +myRegex.exec(str); // ค้นหาครั้งที่ 3 +console.log(result[0]); // "Hello" +console.log(result.index); // 2 +console.log(myRegex.lastIndex); // 0 +myRegex.exec(str); // ค้นหาครั้งที่ 4 +console.log(result[0]); // "Hello" +console.log(result.index); // 2 +console.log(myRegex.lastIndex); // 7 ``` ```js -var obj = { - people: [ - { firstName: "Somchai", lastName: "Jaidee" }, - { firstName: "Mana", lastName: "Dekdee" }, - { firstName: "Surat", lastName: "Khonthai" } - ] , - age: Symbol("1") -}; -console.log(JSON.stringify(obj)); -/* แสดงผลลัพธ์เป็น -{"people":[{"firstName":"Somchai","lastName":"Jaidee"},{"firstName":"Mana", - "lastName":"Dekdee"},{"firstName":"Surat","lastName":"Khonthai"}]} */ +console.log( /Hello+/g === /Hello+/g); // false +/Hello+/g.exec("Hello Hello Hello"); // บรรทัด 2 +console.log(/Hello+/g.lastIndex); // 0 ``` ```js -var obj = { - people: [ - { firstName: "Somchai", lastName: "Jaidee" }, - { firstName: "Mana", lastName: "Dekdee" }, - { firstName: "Surat", lastName: "Khonthai" } - ] -}; -console.log(JSON.stringify(obj, null, 2)); // ระบุค่าอากิวเมนต์ตัวที่สาม -/* แสดงผลลัพธ์เป็น -{ - "people": [ - { - "firstName": "Somchai", - "lastName": "Jaidee" - }, - { - "firstName": "Mana", - "lastName": "Dekdee" - }, - { - "firstName": "Surat", - "lastName": "Khonthai" - } - ] -} */ -``` - -```js -var obj = { - name: "Somchai", - func: function() { }, - age: Symbol("25") -}; -console.log(JSON.stringify(obj)); -// แสดงผลลัพธ์ -// {"name":"Somchai"} -``` - -```js -var obj = { - name: "Somchai", - today: new Date() -}; -console.log(JSON.stringify(obj)); -// แสดงผลลัพธ์ -// {"name":"Somchai","today":"2023-02-06T02:10:39.018Z"} +var myRegex = /Hello+/g; +var result = "01Hello Hellooo89".match(myRegex); +console.log(result); // [ 'Hello', 'Hellooo' ] +console.log(myRegex.lastIndex) // 0 ``` diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 58d0768..93e142e 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -1,269 +1,7 @@ -# โค้ดบทที่ 7 ทบทวน Regex - -## Regular Expression - -* 1. สร้างโดยใช้ฟังก์ชั่นคอนสตรัคเตอร์ RegExp ตามตัวอย่าง - -```js -var myRegex = new RegExp("Hello+"); -console.log(myRegex.toString()); // /Hello+/ -``` - -* 2. สร้างโดยใช้เครื่องหมาย /…/ มาครอบข้อความ regex ตามตัวอย่าง -```js -var myRegex = /Hello+/; -// ข้อความ regex ก็คืออ็อบเจ็กต์ตัวหนึ่ง -// จึงสามารถแชร์ใช้งานเมธอด RegExp.prototype.toString() -console.log(/Hello+/.toString()); // /Hello+/ -``` - -### เมธอด test() กับ exec() - -```js -console.log( /Hello+/.test("Hellooooo") ); // true -console.log( (new RegExp("Hello+")).test("Hellooooo") ); // true -``` - -```js -var myRegex = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; -console.log(myRegex.test("xxxxxx.yyyyyy_zzzzz@abc.com")); // true -``` - -```js -var myRegex = /^(\-?|\+?)\d*$/; -console.log(myRegex.test("-987")); // true -``` - -```js -var result = /(foo).(bar)/.exec("0123foo_bar"); -console.log(result.index); // 4 -console.log(result[0]); // "foo_bar" -console.log(result[1]); // "foo" -console.log(result[2]); // "bar" -console.log(result.input); // "0123foo_bar" -``` - -## รูปแบบการใช้งาน regex ต่างๆ - -### การระบุคำที่ต้องการค้นหา - -```js -var re = /like/; -console.log(re.exec("I like u")); // [ 'like', index: 2, input: 'I like u', groups: undefined ] -``` - -```js -var re = /html|div|br/; -console.log(re.exec("
    ")); // [ 'div', index: 1, input: '
    ', groups: undefined ] -``` - -### การระบุช่วงตัวอักษรที่จับคู่ - -```js -var re = /[abc]/; -console.log(re.exec("feb")); // [ 'b', index: 2, input: 'feb', groups: undefined ] -``` - -```js -var re = /[^cat]/; -console.log(re.exec("cats")); // [ 's', index: 3, input: 'cats', groups: undefined ] -``` - -```js -var re = /[7-9]/; -console.log(re.exec("2+8")); // [ '8', index: 2, input: '2+8', groups: undefined ] -``` - -```js -var re = /[a-c]/; -console.log(re.exec("rat")); // [ 'a', index: 1, input: 'rat', groups: undefined ] -``` - -```js -var re = /[A-C]/; -console.log(re.exec("COM")); // [ 'C', index: 0, input: 'COM', groups: undefined ] -``` - -```js -var re = /[a-cA-C]/; -console.log(re.exec("AND")); // [ 'A', index: 0, input: 'AND', groups: undefined ] -``` - -```js -var re = /[a-zB-Mxyz157]/; -console.log(re.exec("3-5")); // [ '5', index: 2, input: '3-5', groups: undefined ] -``` - -### การระบุความถี่ของลำดับตัวอักษรที่จับคู่ - - -```js -var re = /3+/; -console.log(re.exec("123")); // [ '3', index: 2, input: '123', groups: undefined ] -``` - -```js -var re = /p+/; -console.log(re.exec("app")); // [ 'pp', index: 1, input: 'app', groups: undefined ] -``` - -```js -var re = /3*/; -console.log(re.exec("12")); // [ '', index: 0, input: '12', groups: undefined ] -``` - -```js -var re = /b*/; -console.log(re.exec("bbc")); // [ 'bb', index: 0, input: 'bbc', groups: undefined ] -``` +# โค้ดบทที่ 7 ทบทวน HTML DOM ```js -var re = /p*/; -console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] ``` -```js -var re = /b?/; -console.log(re.exec("bed")); // [ 'b', index: 0, input: 'bed', groups: undefined ] -``` - -```js -var re = /b?/; -console.log(re.exec("bbc")); // [ 'b', index: 0, input: 'bbc', groups: undefined ] -``` - -```js -var re = /p?/; -console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] -``` - -```js -var re = /g{2}/; -console.log(re.exec("egg")); // [ 'gg', index: 1, input: 'egg', groups: undefined ] -``` - -```js -var re = /5{2}/; -console.log(re.exec("555")); // [ '55', index: 0, input: '555', groups: undefined ] -``` - -```js -var re = /e{1,3}/; -console.log(re.exec("deep")); // [ 'ee', index: 1, input: 'deep', groups: undefined ] -``` - -```js -var re = /a{2,}/; -console.log(re.exec("zaaa")); // [ 'aaa', index: 1, input: 'zaaa', groups: undefined ] -``` - -```js -var re = /^x/; -console.log(re.exec("x-ray")); // [ 'x', index: 0, input: 'x-ray', groups: undefined ] -``` - -```js -var re = /r$/; -console.log(re.exec("car")); // [ 'r', index: 2, input: 'car', groups: undefined ] -``` - -### การระบุตัวอักษรพิเศษที่จับคู่ - -```js -var re = /./; -console.log(re.exec("dog")); // [ 'd', index: 0, input: 'dog', groups: undefined ] -``` - -```js -var re = /.ox/; -console.log(re.exec("boxs")); // [ 'box', index: 0, input: 'boxs', groups: undefined ] -``` - -```js -var re = /\s/; -console.log(re.exec("^ ^")); // [ ' ', index: 1, input: '^ ^', groups: undefined ] -``` - -```js -var re = /\d/; -console.log(re.exec("x86")); // [ '8', index: 1, input: 'x86', groups: undefined ] -``` - -```js -var re = /..\d/; -console.log(re.exec("item1")); // [ 'em1', index: 2, input: 'item1', groups: undefined ] -``` - -### สตริงกับ regex - -```js -console.log("012Hellooooo".search(/Hello+/)); // 3 -var result = "Hellooooo Hello".match(/Hello+/g); -console.log(result); // [ 'Hellooooo’, 'Hello’ ] -console.log(result.length); // 2 -var str = "Hellooooo".replace(/Hello+/,"Bye"); -console.log(str); // "Bye" -var split = "1,2,3".split(/,/); -console.log(split); // [ '1’, '2’, '3’ ] -``` - -### ค่าแฟล็ก - -```js -var re = /thai/i; -console.log("I' am THAI".search(re)); // 6 -``` - -```js -var regex = /Hello+/gi; -console.log(regex.lastIndex); // 0 -console.log(regex.source); // "Hello+" -console.log(regex.flags); // "gi" -console.log(regex.global); // true -console.log(regex.ignoreCase); // true -console.log(regex.multiline); // false -console.log(regex.unicode); // false -console.log(regex.sticky); // false -console.log(regex.dotAll); // false -console.log(regex.hasIndices); // false -``` - -```js -var re = /ok/; -console.log(re.exec("ok ok ok")); -// [ 'ok', index: 0, input: 'ok ok ok', groups: undefined ] -``` - -```js -var myRegex = /Hello+/g; -var str = "01Hello Hellooo89"; -var result = myRegex.exec(str); // ค้นหาครั้งแรก -console.log(result[0]); // "Hello" -console.log(result.index); // 2 -console.log(myRegex.lastIndex); // 7 -myRegex.exec(str); // ค้นหาครั้งที่ 2 -console.log(result[0]); // "Hello" -console.log(result.index); // 2 -console.log(myRegex.lastIndex); // 15 -myRegex.exec(str); // ค้นหาครั้งที่ 3 -console.log(result[0]); // "Hello" -console.log(result.index); // 2 -console.log(myRegex.lastIndex); // 0 -myRegex.exec(str); // ค้นหาครั้งที่ 4 -console.log(result[0]); // "Hello" -console.log(result.index); // 2 -console.log(myRegex.lastIndex); // 7 -``` - -```js -console.log( /Hello+/g === /Hello+/g); // false -/Hello+/g.exec("Hello Hello Hello"); // บรรทัด 2 -console.log(/Hello+/g.lastIndex); // 0 -``` - -```js -var myRegex = /Hello+/g; -var result = "01Hello Hellooo89".match(myRegex); -console.log(result); // [ 'Hello', 'Hellooo' ] -console.log(myRegex.lastIndex) // 0 -``` +```html +``` \ No newline at end of file diff --git a/examples_book/README.md b/examples_book/README.md index 2b09d21..e6f58ae 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -5,12 +5,12 @@ [สามารถสั่งซ์้อได้ที่เว็บ MEB (ขายเป็นอีบุ๊กเท่านั้น)](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjE1Njg1NCI7fQ) * บทที่ 1 แนะนำจาวาสคริปต์ -* บทที่ 2 ทบทวน HTML5 โดยย่อ -* [บทที่ 3 รันจาวาสคริปต์อย่างง่าย](Chapter03.md) -* [บทที่ 4 ทบทวนมาตรฐานเก่า](Chapter04.md) -* [บทที่ 5 ทบทวนประโยคคำสั่งเบื้องต้น](Chapter05.md) -* [บทที่ 6 ทบทวนอ็อบเจ็กต์](Chapter06.md) -* [บทที่ 7 ทบทวน Regex](Chapter07.md) +* [บทที่ 2 รันจาวาสคริปต์อย่างง่าย](Chapter02.md) +* [บทที่ 3 ทบทวนมาตรฐานเก่า](Chapter03.md) +* [บทที่ 4 ทบทวนประโยคคำสั่งเบื้องต้น](Chapter04.md) +* [บทที่ 5 ทบทวนอ็อบเจ็กต์](Chapter05.md) +* [บทที่ 6 ทบทวน Regex](Chapter06.md) +* [บทที่ 7 ทบทวน HTML DOM](Chapter07.md) * [บทที่ 8 ฟีเจอร์ใหม่ของตัวเลข สตริง และ regex](Chapter08.md) * [บทที่ 9 การประกาศตัวแปร และการกำหนดค่า](Chapter09.md) * [บทที่ 10 ฟังก์ชั่น](Chapter10.md) diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 9486c48..4b10ee6 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -5,9 +5,7 @@ const fs = Promise.promisifyAll(require('fs')); const lineReader = require('line-reader'); const eachLine = Promise.promisify(lineReader.eachLine); -let isCode = false; -let lineCodes = ""; -let count = 0; + let templateHTML = ""; try { templateHTML = fs.readFileSync('template.html', { encoding: 'utf8' }); @@ -15,7 +13,7 @@ try { console.log(err); } -function writeToHTML(headline, allLines, fileName){ +/*function writeToHTML(headline, allLines, fileName){ let html = templateHTML.replace("${headline}", headline) .replace("${allLines}", allLines) .replace("${fileName}", fileName); @@ -23,9 +21,13 @@ function writeToHTML(headline, allLines, fileName){ if (err) throw err; console.log(`${fileName}.html is Saved!`); }); -} +}*/ async function genHTML(fileName){ + let isCode = false; + let lineCodes = ""; + let count = 0; + let headline = ""; let allLines = ""; let btnValue = ""; @@ -72,7 +74,14 @@ async function genHTML(fileName){ } if(last) { - writeToHTML(headline, allLines, fileName); + // writeToHTML(headline, allLines, fileName); + let html = templateHTML.replace("${headline}", headline) + .replace("${allLines}", allLines) + .replace("${fileName}", fileName); + fs.writeFile(`${fileName}.html`, html, function (err) { + if (err) throw err; + console.log(`${fileName}.html is Saved!`); + }); } }) @@ -80,7 +89,7 @@ async function genHTML(fileName){ } -let files = [ "chapter03", "chapter04","chapter05", "chapter06", +let files = [ "chapter02", "chapter03", "chapter04","chapter05", "chapter06", "chapter07","chapter08","chapter09", "chapter10", "chapter11", "chapter12", "chapter13","chapter14","chapter15", "chapter16", "chapter17", "chapter18","chapter19","chapter20"]; @@ -109,7 +118,8 @@ let files = [ "chapter03", "chapter04","chapter05", "chapter06", -genHTML("chapter03") +genHTML("chapter02") +.then(() => genHTML("chapter03")) .then(() => genHTML("chapter04")) .then(() => genHTML("chapter05")) .then(() => genHTML("chapter06")) From 9812617b95005d82f2e79291e58e7ff90544093c Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 10:25:23 +0700 Subject: [PATCH 256/757] no message --- examples_book/Chapter03.md | 1286 ++++++++++++++++++++++++++++++------ 1 file changed, 1067 insertions(+), 219 deletions(-) diff --git a/examples_book/Chapter03.md b/examples_book/Chapter03.md index b1c7ccc..dad1226 100644 --- a/examples_book/Chapter03.md +++ b/examples_book/Chapter03.md @@ -1,281 +1,1129 @@ -# โค้ดบทที่ 3 รันจาวาสคริปต์อย่างง่าย +# โค้ดบทที่ 3 ทบทวนมาตรฐานเก่า -## จาวาสคริปต์บนเว็บเบราเซอร์ - -### วิธีแทรกจาวาสคริปต์ลงในไฟล์ HTML - -```html - - - - - - -

    -
    -

    - - - +## คอมเมนต์ +```js +var x = 10; //This is an example. ``` -### ตัวอย่างการวางจาวาสคริต์ใน <body> ...</body> - -```html - - - - - -

    Hello, world!

    - - +```js +/* This is an example +ECMAScript 6 is very easy*/ +var x = 10; ``` +## console.log() ```html - -

    - ``` -### ตัวอย่างการวางจาวาสคริต์ใน <head< ...</head> +```js +console.log("Hello world", 122, 333.333); // "Hello world 122 333.333" +``` -```html - - - - - - - -

    Hello, World!

    - - +### debugger +```js +console.log("line 1"); // "line 1" +debugger; // บรรทัดนี้เป็นตำแหน่งของ breakpoint เพื่อหยุดการทำงานของโปรแกรมชั่วขณะ ตอนดีบั๊กโปรแกรม +console.log("line 2"); // "line 2" ``` -```html - - - - - - - -

    - - +## การใช้เซมิโคลอน (;) +```js +console.log("Hello world"); ``` -```html - - - - - - - -

    - - - +```js +console +.log +( +"Hello world" +); ``` -### ตัวอย่างการใช้งาน ES6 ในฝั่งเว็บเบราเซอร์ +```js +; +; +; +``` -```html - - - - - -

    - - - +```js +;;;;; ``` -### แยกไฟล์จาวาสคริปต์ ออกจาก HTML +```js +console.log("Hello world") +console +.log +( +"Hello world" +) +``` +```js +var a = 1 +var b = 5 +var c = a + b +(a * b) +``` -* [ไฟล์ myScript_1.js](Chapter03/myScript_1.js) +```js +var a = 1; +var b = 5; +var c = a + b(a * b); +``` -* [ไฟล์ myScript_2.js](Chapter03/myScript_2.js) +```js +var a = 1 + 2 +-3 + 10 +console.log(a) // 10 +``` -```html - - - - - - - - - +```js +var a = 1 + 2 -3 + 10; +console.log(a); // 10 ``` -## จาวาสคริปต์ ES บนเว็บเบราเซอร์รุ่นเก่า +```js +function todo() { + return { + "foo" : 1 + }; +} +``` -### ตัวอย่างการใช้งาน Traceur +```js +function todo() { + return + { + "foo" : 1 + }; +} +``` -```html - - - - - - - - - - -

    - - - +## เส้นทางการทำงานโปรแกรม + +```js +console.log(1); +console.log(2); +console.log(3); +console.log(4); ``` -### ตัวอย่างการใช้งาน Babel +```js +console.log(1); console.log(2); console.log(3); console.log(4); +``` -```html - - - - - - - -

    - - - +```js +console.log(1) console.log(2) console.log(3) console.log(4) ``` -## จาวาสคริปต์นอกเว็บเบราเซอร์ด้วย Node.js +## การตั้งชื่อ +```js +var _ = 100; // ตั้งชื่อแบบนี้ได้ +var $ = 100; // ตั้งชื่อแบบนี้ได้ +var _a =100; // ตั้งชื่อแบบนี้ได้ +var $a =100; // ตั้งชื่อแบบนี้ได้ +var Abc = 100; // ตั้งชื่อแบบนี้ได้ +var abc = 100; // ตั้งชื่อแบบนี้ได้ แต่ทว่าตัวแปร Abc กับ abc จะถือว่าคนละชื่อกัน +var a0123 = 100; // ตั้งชื่อแบบนี้ได้ +var 9b = 100; // ทำไม่ได้ มันจะเกิด SyntaxError เพราะมีเลข 9 นำหน้าชื่อตัวแปร +var สวัสดีครับ = 100; // ตั้งชื่อภาษาไทยแบบนี้ได้ แต่ส่วนใหญ่นิยมตั้งชื่อเป็นภาษาอังกฤษ) +``` -### รันจาวาสคริปต์นอกเว็บเบราเซอร์ จากไฟล์นามสกุล .js ตามลำพัง +## คำสงวน ```js -class Chat { - constructor(message) { - this.message = message; - } - say() { - console.log(this.message); - } -}; -let chat = new Chat("Hello, world!"); -chat.say(); +var let = -1; // ทำไม่ได้ มันจะเกิด SyntaxError เพราะ let เป็นคำสงวน +var this= -10; // ทำไม่ได้ มันจะเกิด SyntaxError เพราะ this เป็นคำสงวน +``` + +```js +var Date = 100; +console.log(Date); // แสดงผลลัพธ์ 100 +``` + +```js +var Date = 100; +console.log(Date); // แสดงผลลัพธ์ 100 +var d = new Date(); +console.log(d); +``` + +## การประกาศตัวแปร +```js +var x = 100; +``` + +```js +var x = 1, y = 2, z = 3; // ประกาศตัวแปร x, y และ z ให้อยู่ในบรรทัดเดียวกัน +``` + +```js +var x = 1; +var y = 2; +var z = 3; +``` + +```js +var x= 1, y = x; +/* จะเสมือนเขียนซอร์สโค้ดแบบนี้ +var x = 1; +var y = x; +*/ +``` + +```js +var x; +console.log(x); // undefined +``` + +* หมายเหตุ แสดงผลลัพธ์เหมือนรันใน Node.js +```js +var undefined = 55555; +console.log(undefined); // บนเว็บเบราเซอร์จะแสดงเป็น undefined แต่บน Node.js จะแสดงเป็น 55555 +var x; +console.log(x); // undefined +``` + +### การประกาศตัวแปรโดยไม่มี var +```js +x = 1; +``` + +* หมายเหตุ ควรรันคำส่ง delete x; ก่อน เพื่อลบตัวแปร x = 1; ที่รันก่อนหน้านี้ +```js +console.log(x); // ReferenceError +``` + +```js +var x; // ประกาศตัวแปร แต่ยังไมีการกำหนดค่าให้ x จึงมีค่าเป็น undefined +console.log(x); // undefined +``` + + +## ไดนามิกไทป์ +```js +var foo = 42; // เริ่มต้นตัวแปร foo จะมีชนิดข้อมูลเป็นตัวเลข +foo = "bar"; // ภายหลัง foo เปลี่ยนมาเก็บข้อมูลเป็นสตริง +foo = true; // ภายหลัง foo เปลี่ยนมาเก็บข้อมูลเป็นบูลีน +``` + +## ข้อมูล + +### null กับ undefined + +```js +console.log(null === undefined) // false +console.log(null == undefined) // true +console.log(typeof null) // "object" +console.log(typeof undefined) // "undefined" +``` + +### ตัวเลข +```js +console.log(100, 0, -0, -300, 3.14, -78.222); // 100 0 -0 -300 3.14 -78.222 +``` + +```js +console.log(200e5); // 200 x 105 = 20000000 +console.log(2E-5); // 2 x 10-5 = 0.00002 +``` + +```js +console.log(Math.sqrt(-1)); // NaN (ไม่สามารถถอดรากที่สองของ -1) +console.log(0/0); // NaN ( 0 หาร 0 ไม่มีนิยาม) +console.log(parseInt("Hi")); // NaN (ไม่สามารถแปลง "Hi" เป็นตัวเลขได้) +``` + +```js +console.log(Infinity * Infinity); // Infinity +console.log(Infinity / Infinity); // NaN +console.log(-344 * Infinity); // -Infinity +console.log(3 / Infinity); // 0 +``` + +```js +console.log(Number.MAX_VALUE); // 1.7976931348623157e+308 โดยประมาณ +console.log(Number.MAX_VALUE + 100); // 1.7976931348623157e+308 โดยประมาณ (บรรทัด 2) +console.log(Number.MAX_VALUE * 10); // Infinity (บรรทัด 3) +console.log(Number.MAX_VALUE * -10); // -Infinity (บรรทัด 4) +``` + +```js +console.log(Number.MIN_VALUE); // 5e-324 (เป็นค่าโดยประมาณ) +``` + +### สตริง +```js +"Learning JavaScript" +'Learning JavaScript' +``` + +```js +// ใช้ \" อยู่ภายในสตริง ส่วนเครื่องหมาย ' สามารถเขียนอยู่ในสตริงได้เลย +console.log("...\"Learning\" 'JavaScript'..."); // ..."Learning" 'JavaScript'... +// ใช้ \' อยู่ภายในสตริง ส่วนเครื่องหมาย " สามารถเขียนอยู่ในสตริงได้เลย +console.log('..."Learning" \'JavaScript\'...'); // ..."Learning" 'JavaScript'... +``` + +```js +var str= "line1\ +line2\ +line3"; +console.log(str); // line1line2line3 +``` + +```js +console.log("1234567890".length); // 10 +``` + +### บูลีน + +```js +var TRUE_value = true; +var FALSE_value = false +console.log(TRUE_value); // true +console.log(FALSE_value); // false +``` + +```js +-5; +-10.71; +"Learning JavaScript"; +true; +var a = -5; +var b = -10.71; +var c = "Learning JavaScript"; +var d = true; +``` + +## โอเปอเรเตอร์ + +### โอเปอเรเตอร์ทางคณิตศาสตร์ +```js +console.log(true + 0); // ได้ผลลัพธ์เป็น 1 เพราะ true จะถือว่ามีค่าเป็น 1 +console.log(false + false); // ได้ผลลัพธ์เป็น 0 เพราะ false จะถือว่ามีค่าเป็น 0 +console.log(100 - true); // 99 +console.log(true * 30); // 30 +console.log(true / 2); // 0.5 +console.log(true % 10); // 1 +console.log(+true); // 1 +console.log(-false); // -0 +var a = false, b=true; +console.log(++a); // 1 +console.log(--b); // 0 +``` + +```js +console.log(NaN + 30); // NaN +console.log(NaN - 30); // NaN +console.log(NaN * 30); // NaN +console.log(NaN / 30); // NaN +console.log(NaN % 30); // NaN +console.log(+NaN); // NaN +console.log(-NaN); // NaN +var x = NaN; +console.log(++x); // NaN +console.log(--x); // NaN +``` + +```js +console.log(Infinity * 0); // NaN +console.log(Infinity * 1); // Infinity +console.log(Infinity * Infinity); // Infinity +console.log(Infinity * -Infinity); // -Infinity +console.log(Infinity / 0); // Infinity +``` + +* การใช้งานโอเปอเรเตอร์ยกกำลัง (Exponentiation Operator) + +```js +var ans = 10 ** 2; // นำเลข 10 มายกกำลัง 2 ( 102 ) +console.log(ans); // 100 +// เสมือนใช้เมธอด Math.pow() ดังนี้ +console.log(ans === Math.pow(10, 2)); // true +``` + +* ลำดับของโอเปอเรเตอร์ ** + +```js +var ans = 3 * 10 ** 2; +console.log(ans); // 300 +``` + +```js +var ans = 3 * (10 ** 2); +console.log(ans); // 300 +``` +* ข้อเข้มงวดของโอเปอเรเตอร์ ** + +```js +var ans1 = -10 ** 2; // syntax error +var ans2 = +10 ** 2; // syntax error +``` + +```js +ans1 = -(10 ** 2); // -100 +ans1 = (-10) ** 2; // 100 +ans2 = +(10 ** 2); // 100 +ans2 = (+10) ** 2; // 100 +``` + +```js +var value1 = 9, value2 = 10; +// ใช้งานโอเปอเรเตอร์ ++ แบบ prefix +// ค่าของ value1 ถูกบวกด้วยหนึ่ง ก่อนที่จะยกกำลัง 2 +console.log(++value1 ** 2); // 100 +console.log(value1); // 10 +// ใช้งานโอเปอเรเตอร์ ++ แบบ postfix +// หลังจากยกกำลัง 2 ไปแล้ว ค่าของ value2 จึงถูกบวกด้วยหนึ่งทีหลัง +console.log(value2++ ** 2); // 100 +console.log(value2); // 11 +``` + +```js +var value1 = 11, value2 = 10; +// ใช้งานโอเปอเรเตอร์ -- แบบ prefix +// ค่า value1 ถูกลบด้วยหนึ่ง ก่อนที่จะยกกำลัง 2 +console.log(--value1 ** 2); // 100 +console.log(value1); // 10 +// ใช้งานโอเปอเรเตอร์ -- แบบ postfix +// หลังจากยกกำลัง 2 ไปแล้ว ค่าของ value2 จึงถูกลบด้วยหนึ่งทีหลัง +console.log(value2-- ** 2); // 100 +console.log(value2); // 9 +``` + +### โอเปอเรเตอร์ที่ใช้กำหนดค่าให้กับตัวแปร + +```js +var a = 20; +a +=true; // true มีค่าเป็น 1 +console.log(a); // 21 +a *=NaN; +console.log(a); // NaN +``` + +### โอเปอเรเตอร์ที่ใช้กับสตริง + +```js +100 + true + "50"; // "10150" +// เสมือนเขียน (100 + true) + "50" +``` + +```js +20 / "10" + "76"; // 276 +// เสมือนเขียน ( 20 / "10") + "76" +``` + +### โอเปเรอเตอร์แบบตรรกะ +```js +console.log(true || true); // true (เงื่อนไข short circuit) +console.log(true || false); // true (เงื่อนไข short circuit) +console.log(false || true); // true +console.log(false || false); // false +console.log(true && true); // true +console.log(true && false); // false +console.log(false && true); // false (เงื่อนไข short circuit) +console.log(false && false); // false (เงื่อนไข short circuit) +console.log(!true); // false +console.log(!false); // true +``` + +### โอเปอเรเตอร์ระหว่างบิต + +* ตัวอย่าง Bitwise AND +```js +var a = 12; // 1100 (เลขฐานสอง) +var b = 5; // 0101 (เลขฐานสอง) +var c = a & b; // 0100 (เลขฐานสอง) +console.log(c.toString(2)); // 100 (เลขฐานสอง) +console.log(c); // 4 +console.log(12 & 5); // 4 +``` + +* ตัวอย่าง Bitwise OR + +```js +var a = 12; // 1100 +var b = 5; // 0101 +var c = a | b; // 1101 +console.log(c.toString(2)); // 1101 +console.log(c); // 13 +console.log(12 | 5); // 13 +``` + +* ตัวอย่าง Bitwise XOR + +```js +var a =12; // 1100 +var b= 5; // 0101 +var c = a ^ b; // 1001 +console.log(c.toString(2)); // 1001 +console.log(c); // 9 +console.log(12 ^ 5); // 9 +``` + +* ตัวอย่าง Bitwise NOT + +```js +var a= 9; // 00000000000000000000000000001001 +var b = ~a; // 11111111111111111111111111110110 (1's Complement) +console.log(b); // -10 +console.log(~9); // -10 +``` + +* ตัวอย่าง การเลื่อนบิตไปทางซ้ายมือ + +```js +var a = 9; // 00000000000000000000000000001001 +var c = a << 2; // เลื่อนบิตจากขวามือไปทางซ้ายมือ 2 ตำแหน่ง + // 00000000000000000000000000100100 +console.log(c); // 36 +console.log(9 << 2); // 36 +``` + +* ตัวอย่าง การเลื่อนบิตไปทางขวามือ + +```js +var a = 9; // 00000000000000000000000000001001 +var c = a >> 2; // เลื่อนบิตจากซ้ายมือไปทางขวามือ 2 ตำแหน่ง + // 00000000000000000000000000000010 +console.log(c); // 2 +console.log(9 >> 2); // 2 +``` + +```js +-9; // 11111111111111111111111111110111 (เลขฐานสอง) +-9 >> 2; // 11111111111111111111111111111101 (เลขฐานสอง) = -3 (เลขฐานสิบ) +``` + +```js +var a = 9; // 00000000000000000000000000001001 +var c = a >>> 2; // เลื่อนบิตจากซ้ายมือไปทางขวามือ 2 ตำแหน่ง พร้อมเติมเลข 0 ที่บิตด้านหน้าสุด + // 00000000000000000000000000000010 +console.log(c); // 2 +console.log(9 >>> 2); // 2 +``` + +### โอเปอเรเตอร์ typeof + +```js +console.log(typeof true); // "boolean" +console.log(typeof false); // "boolean" +console.log(typeof -0.13); // "number" +console.log(typeof NaN); // "number" +console.log(typeof Infinity); // "number" +console.log(typeof undefined); // "undefined" +console.log(typeof ''); // "string" +console.log(typeof "Hi"); // "string" +console.log(typeof (typeof 100) ); // "string" +console.log(typeof null ); // "object" +console.log(typeof {x: 1, y: 2}); // "object" +console.log(typeof [1, 2]); // "object" +console.log(typeof function(){ }); // "function" +console.log(typeof Math.sqrt); // "function" +console.log(typeof class C { }); // "function" +console.log(typeof Symbol()); // "symbol" +``` + +### โอเปอเรเตอร์วงเล็บ + +```js +var a = 1 + 2 * 3 + 5; +// จะเสมือนเขียนเป็น var a = 1 + (2 * 3) + 5; +console.log(a); // 12 +``` + +```js +var a = (1 + 2) * (3 + 5); +console.log(a); // 24 +``` + +### โอเปอเรเตอร์คอมม่า + +```js +var a = 1, b = 2; +var x = (1+34, a+=2, b*=10, b+1); +console.log(x); // 21 +``` + +### โอเปอเรเตอร์ void + +```js +var a = void 12; +console.log(a); // undefined +console.log(Math.ceil(4.4)); // 5 +console.log(void Math.ceil(4.4)); // undefined +var b = 1; +console.log(void (++b)); // undefined +console.log(b); // แสดงค่าออกมาเป็น 2 เพราะตัวแปร b ถูกบวกเพิ่มไป 1 ค่า +``` + +## อาร์เรย์ +```js +[1, 1, 1, true, "Array"]; // อาร์เรย์ +``` + +```js +var a = ["a", "b", "c", "d", "e"]; +console.log(typeof a); // "object" +console.log(a[0], a[1], a[2], a[3], a [4]); // "a b c d e" ``` -### ตัวอย่างการรันจาวาสคริปต์ให้กลายเป็นเซิร์ฟเวอร์ +```js +var array = [ ]; // ประกาศเป็นอาร์เรย์ว่าง +array[0] = 1; +array[1] = 2; +``` + +```js +var array = [1, 2, 3, 4, 5]; +console.log(array.length); // 5 +``` ```js -var http = require('http'); -http.createServer(function (request, response) { - response.writeHead(200, {'Content-Type': 'text/plain'}); - response.end("Hello, world!"); -}).listen(8001, '127.0.0.1'); -console.log('Server running at http://127.0.0.1:8001/'); +var array = [1, 2, 3, 4, 5]; +console.log(array.length); // 5 +array.length = 7; // เพิ่มขนาดอาร์เรย์จาก 5 เป็น 7 +console.log(array); // [ 1, 2, 3, 4, 5, <2 empty slots> ] +console.log(array.length); // 7 +array[9] = 100; +console.log(array); // [ 1, 2, 3, 4, 5, <4 empty slots>, 100 ] +console.log(array.length); // 10 ``` -## จาวาสคริปต์นอกเว็บเบราเซอร์ด้วย Deno +## การประกาศฟังก์ชั่น ```js -import { serve } from "https://deno.land/std@0.97.0/http/server.ts"; -const s = serve({ port: 8000 }); -console.log("http://localhost:8000/"); -for await (const req of s) { - req.respond({ body: "Hello, world!" }); +function calculate(param1, param2) { + return param1 * param2; } + +var result = calculate(10, 2); +console.log(result); // 20 ``` -## เครื่องมือในการดีบั๊ก +```js +function calculate() { + return 20; +} +var result = calculate(); +console.log(result); // 20 + +calculate(); // คืนค่า 20 +calculate(); // คืนค่า 20 +calculate(); // คืนค่า 20 +``` +## ประโยค return + +```js +function myFunction() { + return 1; + console.log("myFunction"); // บรรทัดนี้เส้นทางการทำงานของโปรแกรมจะมาไม่ถึง +} +var result = myFunction(); +console.log(result); // 1 +``` + +```js +function myFunction() { + return; +} +var result = myFunction(); +console.log(result); // undefined +``` + +```js +function myFunction() { + console.log("myFunction"); + // จะเสมือนมีประโยค return undefined; วางไว้ตำแหน่งสุดท้าย ก่อนฟังก์ชั่นจบการทำงาน +} +var result = myFunction(); // "myFunction" +console.log(result); // undefined +``` + +```js +var result = calculate(); +console.log(result); // 20 +function calculate() { + return 20; +} +``` + +### ฟังก์ชั่นไร้ชื่อ + +```js +function (param1, param2) { // ถ้ารันจะเกิด error + return param1 * param2; +} +``` + +### นิพจน์ฟังก์ชั่น + +```js +var calculate = function (param1, param2) { + return param1 * param2; +} +console.log(calculate(10, 2)); // 20 +calculate = 100; // ตัวแปร calculation สามารถแก้ไขให้เป็นค่าอื่นได้ +console.log(calculate); // 100 +``` + +```js +var calculate = function calc2(param1, param2) { + return param1 * param2; +} +console.log(calculate(10, 2)); // 20 +``` + +```js +function cal(a, b) { + console.log(a * b); +} +``` + +```js +cal = function(a, b) { + console.log(a*b); +} + +var myFunction = cal; + +myFunction(5,4); // 20 +cal(5,4); // 20 +``` + +### ฟังก์ชั่นคอลแบ็ค + +```js +function sayHi() { + console.log("Hi"); +} +function sayBye() { + console.log("Bye"); +} +function say(func) { + func(); // เรียกฟังก์ชั่นให้ทำงาน +} +say(sayHi); // "Hi" +say(sayBye); // "Bye" +``` + +### รีเทิร์นออกมาเป็นฟังก์ชั่น + +```js +function say(func) { + console.log("Say..."); + function sayHi() { + console.log("Hi"); + } + return sayHi; // รีเทิร์นฟังก์ชั่น +} // สิ้นสุดการประกาศฟังก์ชั่น +var hi = say(); // "Say..." +hi(); // "Hi" +``` + +```js +function say(func) { + console.log("Say..."); + return function() { // รีเทิร์นฟังก์ชั่นไร้ชื่อ + console.log("Hi"); + } +} // สิ้นสุดการประกาศฟังก์ชั่น +var hi = say(); // "Say..." +hi(); // "Hi" +``` + +### อ็อบเจ็กต์ arguments + +```js +function myFunction(param1, param2) { + console.log(param1, param2); +} +myFunction(); // undefined undefined +myFunction(100); // 100 undefined +myFunction(100,200); // 100 200 +myFunction(100,200,300,400); // 100 200 +``` + +```js +function myFunction (param1, param2) { + console.log(arguments); +} +myFunction(100,200,300,400); // [100, 200, 300, 400] +``` + +### ข้อควรระวังในการประกาศฟังก์ชั่น + +* 1) +```js +function myFunction(param1, param2) { // ฟังก์ชั่นนี้ไม่เคยถูกเรียกใช้ + console.log("function1 value:", param1, param2); +} +myFunction(100, 200); // เรียกใช้ฟังก์ชั่นที่ประกาศอยู่ด้านล่าง +function myFunction(param) { // จะโอเวอร์ไรด์ทับฟังก์ชั่นที่ประกาศไว้ก่อนหน้านี้ + console.log("function2 value:", param); +} +myFunction(100); +myFunction(100, 200); +/* แสดงผลลัพธ์เป็น +"function2 value: 100" +"function2 value: 100" +"function2 value: 100" */ +``` + +* 2) +```js +alert = function(data) { // alert ถูกกำหนดให้เป็นฟังก์ชั่นตัวใหม่ + console.log(data); // แสดงข้อความออกทางหน้าคอนโซล +} +alert("Hello, World"); // แสดงข้อความ "Hello, World" ออกทางหน้าคอนโซล +``` + +* 3) +```js +function todo(a, a, a) { // ประกาศพารามิเตอร์ชื่อ a ซ้ำกัน 3 ครั้ง + console.log(a); +} +todo(1, 5, 10); // 10 +``` + +### ขอบเขตการมองเห็นของตัวแปร + +```js +if(true) { + var a = 1; // a มีขอบเขตการมองเห็นแบบโกลบอล +} +{ + var b = 2; // b มีขอบเขตการมองเห็นแบบโกลบอล +} +console.log(a, b); // 1 2 +``` ```html - -

    - ``` + +```js +console.log(NaN, undefined, Infinity); // NaN undefined Infinity +console.log(window.NaN, window.undefined, window.Infinity); // NaN undefined Infinity +// ถ้ารันอยู่ใน Node.js +// console.log(global.NaN, global.undefined, global.Infinity); +// NaN undefined Infinity +``` + +### ฟังก์ชั่นซ้อนฟังก์ชั่น + +```js +function outerFunc() { + var value = 0; + function innerFunc() { + console.log(++value); + } + return innerFunc; +} +var func1 = outerFunc(); // บรรทัด a +func1(); // 1 +func1(); // 2 +var func2 = outerFunc(); // บรรทัด b +func2(); // 1 +func2(); // 2 +``` + +```js +function cumulative(num) { + n = num + return function(a) { + n += a + console.log("answer = ", n) + } +} +cumA= cumulative(100) +cumA(1) // "answer = 101" +cumA(1) // "answer = 102" +cumA(1) // "answer = 103" +cumB = cumulative(20) +cumB(-1) // "answer = 19" +cumB(-1); // "answer = 18" +cumB(-1); // "answer = 17" +``` + +```js +function part_cal(x) { + return function(y) { + return function(z) { + console.log(x+y+z); // บรรทัด a + } + } +} +part_cal(10)(20)(30) // 60 +``` + +```js +function cal(x, y, z) { + console.log(x + y + z) +} +cal(10, 20 , 30) // 60 +``` + + +## Hoist +```js +var value = 100; +``` + +```js +console.log(x) // เกิด error +x = 1 +/* แบบนี้ไม่เกิด error + x = 1 + console.log(x) */ +``` + +```js +console.log(x) // undefined +var x = 1 +``` + +```js +x = undefined // เสมือนลอยขึ้นไปข้างบน +console.log(x) // undefined +x = 1 +``` + +```js +function myFunction(num) { + // สามารถมองเห็นตัวแปร value + console.log(value); // undefined + if(num > 10) { + var value = num*10; // ประกาศตัวแปร value ที่ตรงนี้ แต่มองเห็นได้ทั่วฟังก์ชั่น + /* ซอร์สโค้ด */ + } else { + // ถ้าเงื่อนไขประโยค if เป็นเท็จ ก็จะเข้ามาทำงานที่ else + // ซึ่งจะเห็นตัวแปร value มีค่าเป็น undefined + console.log(value); // undefined + } + // สามารถมองเห็นตัวแปร value ได้ หลังจากประโยค if …else ทำงานเสร็จสิ้น + console.log(value); +} +``` + +```js +function myFunction(num) { + var value; // ประกาศตัวแปร value โดยไม่มีค่าเริ่มต้น จึงทำให้มีค่าเป็น undefined + console.log(value); // undefined + if(num > 10) { + value = num*10; // บรรทัดนี้เป็นเพียงการกำหนดค่าให้กับตัวแปร value + /* ซอร์สโค้ด */ + } else { + console.log(value); // undefined + } + console.log(value); +} +``` + +```js +// สามารถมองเห็นตัวแปร value +console.log(value); // undefined +if(true) { + var value = 100; // ประกาศตัวแปรแบบ var +} +console.log(value); // 100 +``` + +```js +var value; // ประกาศตัวแปร value โดยไม่มีค่าเริ่มต้น จึงทำให้มีค่าเป็น undefined +console.log(value); // undefined +if(true) { + value = 100; // บรรทัดนี้เป็นเพียงการกำหนดค่าให้กับตัวแปร value +} +console.log(value); // 100 +``` + +```js +// มองเห็นฟังก์ชั่นก่อนการประกาศใช้งาน +myFunction(); // "Hoisted" +function myFunction() { + console.log("Hoisted"); +} +myFunction(); // "Hoisted" +``` + +```js +function outerFunc() { + innerFunc(); // มองเห็นฟังก์ชั่นก่อนการประกาศใช้งาน + function innerFunc() { + console.log("inner function"); + } +} +outerFunc(); // "inner function" +console.log(typeof innerFunc); // undefined +``` + +## สตริคท์โหมด + +```js +"use strict"; // ประกาศโหมดสตริคท์ ด้วยการเขียนไว้ที่ตอนต้นของไฟล์ +var x = 1; +``` + +```js +function myFunction() { + "use strict"; // เฉพาะฟังก์ชั่นนี้จะอยู่ในโหมดสตริคท์ + var x = 1; +} +``` + +* 1) + +* หมายเหตุ ถ้าไม่เกิด error ให้รันคำส่ง delete x; ก่อน เพื่อลบตัวแปร var x = 1; ที่รันก่อนหน้านี้ จะได้เกิด error ตามตัวอย่าง +```js +"use strict"; +x = 1; // เกิด error เพราะไม่ได้ประกาศตัวแปรแบบ var ถ้าอยู่ดี ๆ จะมากำหนดค่าให้ทันทีแบบนี้จะทำไม่ได้ +``` + +* 2) + +```js +"use strict"; +function x(a, a) { }; // เกิด error เพราะประกาศพารามิเตอร์ ที่มีชื่อ a ซ้ำกัน +``` + +* 3) + +```js +"use strict"; +var x = 1; +delete x; // เกิด error ไม่สามารถลบตัวแปรได้ +``` + +* 4) + +```js +"use strict"; +delete Object.prototype; //เกิด error เพราะพร็อพเพอร์ตี้ตัวนี้ห้ามลบ +``` + +* 5) + +```js +"use strict"; +var x = 010; // เกิด error ไม่สามารถประกาศแบบนี้ได้ +var y = \010; // เกิด error ไม่สามารถประกาศแบบนี้ได้ +``` + +* 6) + +```js +"use strict"; +var obj = { }; +Object.defineProperty(obj, "x", {value:0, writable:false}); +obj.x = 1; // เกิด error เนื่องจากมันเป็นพร็อพเพอร์ตี้ที่อ่านค่าได้อย่างเดียว +``` + +* 7) + +```js +"use strict"; +var obj = {get x() {return 0} }; +obj.x = 1; // เกิด error ไม่สามารถกำหนดค่าให้กับ x ได้ +``` + +* 8) + +```js +"use strict"; +var obj = { }; +Object.preventExtensions(obj); +obj.a= 1; // เกิด error ไม่สามารถเพิ่มพร็อพเพอร์ตี้เข้าไปในอ็อบเจ็กต์ได้ +``` + +* 9) + +```js +"use strict"; +function f() { return this; } +console.log(f()); // undefined +``` + +* 10) + +```js +"use strict"; +var eval = 1; // เกิด error ไม่สามารถใช้ชื่อ eval เป็นตัวแปร +``` + +* 11) + +```js +"use strict"; +var arguments = 1; // เกิด error ไม่สามา รถใช้ชื่อ arguments เป็นตัวแปร +``` + +* 12) + +```js +"use strict"; +with (Math) { a = cos(1) }; // เกิด error ไม่สามารถใช้ประโยคคำสั่ง with ได้ +``` + +* 13) + +```js +"use strict"; +eval("var x = 1;"); // ประกาศตัวแปร x ด้วย eval() +x = 2; // เกิด error +// แบบนี้จะไม่เกิด error +// eval("var x = 1; x = 2;"); // ไม่เกิด error +``` + +* 14) + +```js +"use strict"; +var implements =1; // เกิด error เพราะ implements คือคำสงวนในโหมดสตริคท์ +``` + +* 15) + +```js +"use strict"; +if(true) { + function myFunction1(){ } // ขอบเขตแบบโลคอล +} +{ + function myFunction2(){ } // ขอบเขตแบบโลคอล +} +console.log(typeof myFunction1); // undefined (ถ้าไม่ใช่โหมดสตริคท์จะแสดงค่าเป็น "function") +console.log(typeof myFunction2); // undefined (ถ้าไม่ใช่โหมดสตริคท์จะแสดงค่าเป็น "function") +``` + +```js +"use strict"; +var isStrict = (function() { return !this; })( ); +console.log(isStrict); // true +``` \ No newline at end of file From 70d1a443627801bdb202b0be4ef2844c6d790349 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 10:44:05 +0700 Subject: [PATCH 257/757] no message --- examples_book/Chapter03.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter03.md b/examples_book/Chapter03.md index dad1226..98a26b8 100644 --- a/examples_book/Chapter03.md +++ b/examples_book/Chapter03.md @@ -766,7 +766,7 @@ myFunction(100,200,300,400); // [100, 200, 300, 400] * 1) ```js -function myFunction(param1, param2) { // ฟังก์ชั่นนี้ไม่เคยถูกเรียกใช้ +function myFunction(param1, param2) { // ฟังก์ชั่นนี้ไม่เคยถูกเรียกใช้งาน console.log("function1 value:", param1, param2); } myFunction(100, 200); // เรียกใช้ฟังก์ชั่นที่ประกาศอยู่ด้านล่าง From e5ac3dfcebdd3b2867f2d390d658bc143daa0dbb Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 11:12:35 +0700 Subject: [PATCH 258/757] no message --- examples_book/Chapter03.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter03.md b/examples_book/Chapter03.md index 98a26b8..dadffec 100644 --- a/examples_book/Chapter03.md +++ b/examples_book/Chapter03.md @@ -791,7 +791,7 @@ alert("Hello, World"); // แสดงข้อความ "Hello * 3) ```js -function todo(a, a, a) { // ประกาศพารามิเตอร์ชื่อ a ซ้ำกัน 3 ครั้ง +function todo(a, a, a) { // ประกาศพารามิเตอร์ชื่อ a ซ้ำกัน console.log(a); } todo(1, 5, 10); // 10 From e02988a3f9cb2955651e8bf1a361e88489ac27dc Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 14:34:06 +0700 Subject: [PATCH 259/757] no message --- examples_book/Chapter08.md | 4 ++-- examples_book/mylib.js | 48 +++++++++++++++++++------------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 215da77..12360c2 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -129,12 +129,12 @@ console.log(num4); // 1773 ```js let num5 = _177_3; -console.log(num5); // จะเกิด error +console.log(num5); // จะเกิด ReferenceError ``` ```js let num6= 1773_; -console.log(num6); // จะเกิด error +console.log(num6); // จะเกิด SyntaxError ``` ## สตริง diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 730f876..083a62e 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -2,36 +2,36 @@ function toString(data) { if(data == null || data == undefined ) { - return ""+ data; - - //} else if( typeof data === 'object'){ + return ""+ data; - } else if( data instanceof Array){ - let str = "[ "; - for(const value of data) { - str += ""+ toString(value) + ", "; - } - // .replaceAll(/"/g, "'") - if("index" in data) str = str + `index: ${toString(data.index)}, `; - if("input" in data) str = str + `input: ${toString(data.input)}, `; - if("groups" in data) str = str + `groups: ${toString(data.groups)}, `; - return (str.length >2) ? str.slice(0, -2) + ' ]': '[]'; + } else if( data instanceof Array){ + let str = "[ "; + for(const value of data) { + str += ""+ toString(value) + ", "; + } + + if("index" in data) str = str + `index: ${toString(data.index)}, `; + if("input" in data) str = str + `input: ${toString(data.input)}, `; + if("groups" in data) str = str + `groups: ${toString(data.groups)}, `; + return (str.length >2) ? str.slice(0, -2) + ' ]': '[]'; - } else if( data instanceof Date){ - return data.toString(); + } else if( data instanceof Date){ + return data.toString(); - } else if( typeof data === 'object'){ - let str = "{ "; - for(const [key, value] of Object.entries(data)){ - str += ""+key+": "+ toString(value) + ", "; - } - return (str.length >2) ? str.slice(0, -2) + ' }': '{}'; - //} - + } else if( typeof data === 'object'){ + let str = "{ "; + for(const [key, value] of Object.entries(data)){ + str += ""+key+": "+ toString(value) + ", "; + } + return (str.length >2) ? str.slice(0, -2) + ' }': '{}'; + } else if( typeof data === 'string'){ return `'${data}'`; - } else { + } else if(typeof data == 'bigint') { + return `${data}n`; + + } else { return String(data); // recursive } From 989da5444b16be60de9db2a0ad3e410975bd51c0 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 14:47:30 +0700 Subject: [PATCH 260/757] no message --- examples_book/Chapter08.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 12360c2..59939be 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -201,7 +201,7 @@ console.log("\u0e01"); // "ก" ``` ```js -console.log("\u20BB7"); // " 7" +console.log("\u20BB7"); // "₻7" console.log("\u{20BB7}"); // "𠮷" ``` From e0fff1d643b7725ea93e0bab23fb4036b6dfe829 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 14:47:52 +0700 Subject: [PATCH 261/757] no message --- examples_book/md2html.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 4b10ee6..d7f6163 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -94,7 +94,11 @@ let files = [ "chapter02", "chapter03", "chapter04","chapter05", "chapter06", "chapter13","chapter14","chapter15", "chapter16", "chapter17", "chapter18","chapter19","chapter20"]; - +(async () => { + for await (const f of files) { + genHTML(f); + } +})(); //genHTML("chapter03"); //genHTML("chapter04"); @@ -116,8 +120,7 @@ let files = [ "chapter02", "chapter03", "chapter04","chapter05", "chapter06", //genHTML("chapter20"); - - +/* genHTML("chapter02") .then(() => genHTML("chapter03")) .then(() => genHTML("chapter04")) @@ -137,7 +140,7 @@ genHTML("chapter02") .then(() => genHTML("chapter18")) .then(() => genHTML("chapter19")) .then(() => genHTML("chapter20")) - +*/ async function countline(fileName){ let count = 0; From d6f5811151cb3b0d70787de8a1a20671b51b2c64 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 15:40:02 +0700 Subject: [PATCH 262/757] no message --- examples_book/mylib.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 083a62e..c0d6acd 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -52,7 +52,8 @@ .replaceAll(//g, ">") .replaceAll(/"/g, '"') - .replaceAll(/'/g, "'"); + .replaceAll(/'/g, "'") + .replaceAll(/\s/g, " "); } console.log = function(...data){ From aef7593b4e1013c4a220e6d989bd314f276539aa Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 15:51:36 +0700 Subject: [PATCH 263/757] no message --- examples_book/Chapter08.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 59939be..4a24098 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -273,7 +273,6 @@ console.log(newStr); // "abax" ```js let newStr = "abc".padStart(10, "0123456789"); console.log(newStr); // "0123456abc" - ``` ```js @@ -283,13 +282,13 @@ console.log(newStr); // "abcd" ```js let newStr = "x".padStart(3); -console.log(newStr); // " x" +console.log(newStr); // " x" console.log(newStr.length); // 3 ``` ```js let newStr = "x".padStart(3, ' '); -console.log(newStr); // " x" +console.log(newStr); // " x" console.log(newStr.length); // 3 ``` @@ -312,7 +311,7 @@ let newStr4 = "abcd".padEnd(2, "x"); console.log(newStr4); // "abcd" // เมื่อไม่ระบุ fillString let newStr5 = "x".padEnd(3); -console.log(newStr5); // "x " +console.log(newStr5); // "x " console.log(newStr5.length); // 3 ``` From 5013070ad23a5f9250be80a41d0e8a51ac62ce51 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 15:58:35 +0700 Subject: [PATCH 264/757] no message --- examples_book/Chapter08.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 4a24098..736814f 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -334,8 +334,8 @@ console.log(str2.padStart(maxLength, fillString)); console.log(str3.padStart(maxLength, fillString)); /* แสดงผลลัพธ์ OK - Javascript - Wow + Javascript + Wow */ ``` From c57fcb481ed85d7b9d135f0923e33c07525f1a91 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 16:09:10 +0700 Subject: [PATCH 265/757] no message --- examples_book/Chapter08.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 736814f..7f6e161 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -381,15 +381,14 @@ for(const c of str.matchAll("ไก่") ) { ``` ```js -let str = 'นายไก่ เลี้ยงแต่ไก่ ไม่ขายไข่ไก่'; +let str = "นายไก่ เลี้ยงแต่ไก่ ไม่ขายไข่ไก่"; for(const c of str.matchAll(/ไก่/g) ) { console.log("เจอคำว่า", c[0], "ที่ตำแหน่ง", c.index ) } /* แสดงผลลัพธ์ เจอคำว่า ไก่ ที่ตำแหน่ง 3 เจอคำว่า ไก่ ที่ตำแหน่ง 16 -เจอคำว่า ไก่ ที่ตำแหน่ง 29 -*/ +เจอคำว่า ไก่ ที่ตำแหน่ง 29 */ ``` ### เมธอด replaceAll() From f40b7d8980a45941f21e7af7b6f4c841f4cdc014 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 16:14:32 +0700 Subject: [PATCH 266/757] no message --- examples_book/Chapter08.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 7f6e161..992a536 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -447,9 +447,7 @@ console.log(resultY[0]); // "foo1_" console.log(regex.lastIndex); // 0 console.log(regexG.lastIndex); // 5 console.log(regexY.lastIndex); // 5 -``` -```js result = regex.exec(str); resultG = regexG.exec(str), resultY = regexY.exec(str); From f681e7740add82351f1f32f9a8b137bbc98e6b18 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 16:42:29 +0700 Subject: [PATCH 267/757] no message --- examples_book/Chapter08.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 992a536..ed8675f 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -477,8 +477,8 @@ console.log(resultY); // มีค่าเป็น null เพราะ ```js var myRegex = /foo+/y; -console.log(myRegex.sticky); // true -myRegex.sticky = 1; // TypeError ไม่สามารถแก้ไขค่าได้ มีไว้อ่านอย่างเดียว +console.log(myRegex.sticky); // true +myRegex.sticky = 1; // ไม่สามารถแก้ไขค่าได้ มีไว้อ่านอย่างเดียว ถ้าอยู่ในโหมดสตริคท์จะเกิด TypeError ``` ### RegExp From 0067127a53915524f5355916c5f759fb71c074f9 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 16:48:30 +0700 Subject: [PATCH 268/757] no message --- examples_book/Chapter08.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index ed8675f..7ceea59 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -477,8 +477,9 @@ console.log(resultY); // มีค่าเป็น null เพราะ ```js var myRegex = /foo+/y; -console.log(myRegex.sticky); // true +console.log(myRegex.sticky); // true myRegex.sticky = 1; // ไม่สามารถแก้ไขค่าได้ มีไว้อ่านอย่างเดียว ถ้าอยู่ในโหมดสตริคท์จะเกิด TypeError +console.log(myRegex.sticky); // true ``` ### RegExp From 69f70d8390a854bd1aee8309f006197af2dfe520 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 17:08:26 +0700 Subject: [PATCH 269/757] no message --- examples_book/Chapter08.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 7ceea59..70ed880 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -498,8 +498,8 @@ console.log(regex2.test("FOO")); // false ``` ```js -var myRegex = new RegExp("foo", "y"); // จะเสมือนเขียน var myRegex = /foo/y; -console.log(myRegex.exec("foo_abc")); // ["foo"] +var myRegex = new RegExp("foo", "y"); // จะเสมือนเขียน var myRegex = /foo/y; +console.log(myRegex.exec("foo_abc")); // [ 'foo', index: 0, input: 'foo_abc', groups: undefined ] ``` ### พร็อพเพอร์ตี้ flags @@ -587,10 +587,10 @@ console.log(result) // true ```js var result = /\p{Uppercase_Letter}/u.test( "THAI" ); -console.log(result) +console.log(result) // true ``` ```js var result = /\p{General_Category=Uppercase_Letter}/u.test( "THAI" ); -console.log(result) +console.log(result) // true ``` \ No newline at end of file From 37edc80a54b93ed8bf37293dff0f6bd93d55da73 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 17:09:35 +0700 Subject: [PATCH 270/757] no message --- examples_book/Chapter08.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter08.md b/examples_book/Chapter08.md index 70ed880..89bff91 100644 --- a/examples_book/Chapter08.md +++ b/examples_book/Chapter08.md @@ -580,17 +580,17 @@ console.log(result); // true ```js var result = /\p{Script=Greek}+/u.test("μετά"); -console.log(result) // true +console.log(result); // true var result = /\p{Script=Thai}+/u.test("หนังสือไทย"); -console.log(result) // true +console.log(result); // true ``` ```js var result = /\p{Uppercase_Letter}/u.test( "THAI" ); -console.log(result) // true +console.log(result); // true ``` ```js var result = /\p{General_Category=Uppercase_Letter}/u.test( "THAI" ); -console.log(result) // true +console.log(result); // true ``` \ No newline at end of file From d262f5fe9bb777a2a3ff3d1d807c1abac9acce3d Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 17:20:42 +0700 Subject: [PATCH 271/757] no message --- examples_book/Chapter10.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index 6a6c6fc..1f2c119 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -231,7 +231,7 @@ console.log(Math.max( 34, 67, ...[-134, -20, -7, 33, 10], 2, -90, 1)); // 67 ```js // จะเหมือนเขียนเป็น let array = [ 34, 67, -134, -20, -7, 33, 10 , 2, -90, 1]; let array = [ 34, 67, ...[-134, -20, -7, 33, 10], 2, -90, 1]; -console.log(array); // [34, 67, -134, -20, -7, 33, 10, 2, -90, 1] +console.log(array); // [ 34, 67, -134, -20, -7, 33, 10, 2, -90, 1 ] ``` * ตัวอย่างที่ 3 สามารถใช้โอเปอเรเตอร์สเปรดร่วมกับวิธีดีสตรัคเตอร์ริ่ง (ที่ใช้กับอาร์เรย์) From ef32eecbfd9193089dbba691997172a5b6467bd3 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 10 Sep 2023 17:22:33 +0700 Subject: [PATCH 272/757] no message --- examples_book/Chapter10.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index 1f2c119..56c95f0 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -241,7 +241,7 @@ let a,b; let spreadArr = []; [a, b, ...spreadArr] = [-134, -20, -7, 33, 10]; console.log(a, b); // -134 -20 -console.log(spreadArr); // [-7, 33, 10] +console.log(spreadArr); // [ -7, 33, 10 ] ``` ## พารามิเตอร์แบบดีสตรัคเตอร์ From 73b94b713ea139191ec8c52300ed924abe5505a9 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 06:15:55 +0700 Subject: [PATCH 273/757] no message --- examples_book/Chapter10.md | 2 +- examples_book/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index 56c95f0..23f60c2 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -413,7 +413,7 @@ console.log(typeof sayBye); // undefined ```js if(true) { - console.log(typeof sayHello); // undefined + // console.log(typeof sayHello); // ถ้าอ้างถึง sayHello ตรงนี้ จะเกิด ReferenceError let sayHello = function() { // ประกาศฟังก์ชั่น // ซอร์สโค้ดฟังก์ชั่น } diff --git a/examples_book/README.md b/examples_book/README.md index e6f58ae..b7cfa75 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -31,7 +31,7 @@ https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVz * [พื้นฐาน React](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0ODU5NiI7fQ) -### หมายเหตุ [สามารถทดลองรันโค้ดตัวอย่างในหนังสือได้ (ควรเปิดบนคอม)](https://www.patanasongsivilai.com/example/javascript_book/) +### หมายเหตุ [สามารถทดลองรันโค้ดตัวอย่างในหนังสือได้ (ควรเปิดบนคอม)](https://www.patanasongsivilai.com/example/javascript_code/) #### ปล. เล่มนี้ตามรูปข้างล่างเนื้อหาเก่าแล้ว (ปัจจุบันไม่มีตีพิมพ์เพิ่ม) From bf6b1b34461c6731212766b2a21df91c834c6fe4 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 06:19:34 +0700 Subject: [PATCH 274/757] no message --- examples_book/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/README.md b/examples_book/README.md index b7cfa75..ef4c266 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -31,7 +31,7 @@ https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVz * [พื้นฐาน React](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0ODU5NiI7fQ) -### หมายเหตุ [สามารถทดลองรันโค้ดตัวอย่างในหนังสือได้ (ควรเปิดบนคอม)](https://www.patanasongsivilai.com/example/javascript_code/) +### หมายเหตุ [สามารถทดลองรันโค้ดตัวอย่างในหนังสือได้ (ควรเปิดบนคอม ไม่แนะนำให้เปิดบนมือถือ หรือแท็บเล็ต)](https://www.patanasongsivilai.com/example/javascript_code/) #### ปล. เล่มนี้ตามรูปข้างล่างเนื้อหาเก่าแล้ว (ปัจจุบันไม่มีตีพิมพ์เพิ่ม) From f77ee2afbdb104f5b40c5f5143263b0d30f58826 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 10:11:58 +0700 Subject: [PATCH 275/757] no message --- examples_book/Chapter10.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index 23f60c2..02038f1 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -517,7 +517,7 @@ arrowFunc(); ```js // ใส่เครื่องหมายวงเล็บ เพื่อครอบอ็อบเจ็กต์ที่ถูกรีเทิร์นออกมา let getFont = () => ( { color: "red", size: 200 } ); -console.log(getFont()); // {color: "red", size: 200} +console.log(getFont()); // { color: 'red', size: 200 } /* จะเสมือนเขียนเป็น let getFont = function() { return {color: "red", size: 200}; From 5bdda46a08b0e8d6f149a37c0d7466f9f4f50879 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 11:05:31 +0700 Subject: [PATCH 276/757] no message --- examples_book/Chapter03.md | 2 +- examples_book/mylib.js | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter03.md b/examples_book/Chapter03.md index dadffec..c5a4c77 100644 --- a/examples_book/Chapter03.md +++ b/examples_book/Chapter03.md @@ -759,7 +759,7 @@ myFunction(100,200,300,400); // 100 200 function myFunction (param1, param2) { console.log(arguments); } -myFunction(100,200,300,400); // [100, 200, 300, 400] +myFunction(100,200,300,400); // [Arguments] { ‘0’: 100, ‘1’: 200, ‘2’: 300, ‘3’: 400 } ``` ### ข้อควรระวังในการประกาศฟังก์ชั่น diff --git a/examples_book/mylib.js b/examples_book/mylib.js index c0d6acd..6ba0dce 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -20,8 +20,17 @@ } else if( typeof data === 'object'){ let str = "{ "; - for(const [key, value] of Object.entries(data)){ - str += ""+key+": "+ toString(value) + ", "; + + if( data.toString().includes("Arguments")){ + for(const [key, value] of Object.entries(data)){ + str += `'${key}': ${toString(value)}, `; + } + str ="[Arguments] " + str; + + } else { + for(const [key, value] of Object.entries(data)){ + str += `${key}: ${toString(value)}, `; + } } return (str.length >2) ? str.slice(0, -2) + ' }': '{}'; From 2dec48bb395a24beceb4fb4d730de0c2306db21c Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 11:59:54 +0700 Subject: [PATCH 277/757] no message --- examples_book/Chapter10.md | 4 ++-- examples_book/md2html.js | 2 +- examples_book/mylib.js | 19 ++++++++++++------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index 02038f1..93358fa 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -578,12 +578,12 @@ console.log(arrowFunc.name); // จะแสดงชื่อ "arrowFun ```js // เขียนแบบฟังก์ชั่นลูกศร var arrowFunc = () => console.log(arguments); // ไม่สามารถใช้อ็อบเจ็กต์ arguments ได้ -arrowFunc(1, 2, 3); // [] +arrowFunc(1, 2, 3); // ถ้ารันบนเว็บเบราเซอร์จะเกิด error แต่บน Node.js ไม่เกิด error // เขียนแบบฟังก์ชั่นธรรมดา var arrowFunc2 = function() { return console.log(arguments); // ฟังก์ชั่นธรรมดาสามารถใช้อ็อบเจ็กต์ arguments ได้ตามปกติ }; -arrowFunc2(1, 2, 3); // [1, 2, 3] +arrowFunc2(1, 2, 3); // [Arguments] { '0': 1, '1': 2, '2': 3 } ``` ```js diff --git a/examples_book/md2html.js b/examples_book/md2html.js index d7f6163..5fc8c88 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -51,7 +51,7 @@ async function genHTML(fileName){ allLines += `
    - +
    `; diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 6ba0dce..82f9a85 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -1,5 +1,5 @@ let resultAreaId = ""; - + function toString(data) { if(data == null || data == undefined ) { return ""+ data; @@ -21,7 +21,7 @@ } else if( typeof data === 'object'){ let str = "{ "; - if( data.toString().includes("Arguments")){ + if( data.toString().includes("Arguments")){ for(const [key, value] of Object.entries(data)){ str += `'${key}': ${toString(value)}, `; } @@ -76,12 +76,16 @@ d = "-0"; } + if(d === "@not use Arguments"){ // fix bugs + throw new ReferenceError("arguments is not defined"); + } + if(d.startsWith('#')){ d = d.substring(1); // เมื่อเจอ # นำหน้า ต้องการให้สตริง html มันทำงานในเว็บเบราเซอร์ } else { d = decodeHtml(d); // ไม่ต้องการให้สตริง html ทำงานในเว็บเบราเซอร์ } - + display.innerHTML += d + " "; } display.innerHTML += "
    "; @@ -97,12 +101,12 @@ textCodeArea.classList.add("notrun"); } } - - function evalCodeBtn(count) { - resultAreaId = `#displayResult${count}`; + + function runCodeBtn(countTarget) { + resultAreaId = `#displayResult${countTarget}`; clearDisplay(resultAreaId); - let textCodeArea = document.querySelector(`#codeArea${count}`); + let textCodeArea = document.querySelector(`#codeArea${countTarget}`); let codeTxt = textCodeArea.value; if( codeTxt.includes("")>0 ) { @@ -118,6 +122,7 @@ console.log("#ผลการรัน:"); codeTxt = codeTxt.replaceAll(/-false/g, "'@negzero'"); // fix bugs ถ้าเป็นเลข -false ต้องแสดง -0 เลยต้องแทนด้วย '@negzero' //codeTxt = codeTxt.replaceAll(/-0.(?++++Error++++"); From 1ef0a8a4f4e53e83a7be2c140facc72276190942 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 12:22:02 +0700 Subject: [PATCH 278/757] no message --- examples_book/Chapter10.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index 93358fa..1914f08 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -614,13 +614,13 @@ printItem(); // "IIFE" */ ```js var array = [1, 2, 3, 4]; array.forEach( (value, index, arr) => arr[index] = value *2 ); -console.log(array); // [2, 4, 6, 8] +console.log(array); // [ 2, 4, 6, 8 ] /* จะเสมือนใช้ฟังก์ชั่นคอลแบ็คแบบปกติ var array = [1, 2, 3, 4]; array.forEach(function(value, index, arr) { return arr[index] = value * 2; }); -console.log(array); // [2, 4, 6, 8] */ +console.log(array); // [ 2, 4, 6, 8 ] */ ``` ### การใช้ this ในฟังก์ชั่นลูกศร From 309e4ccf06e76c32a764b52679c51575426ef82c Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 13:35:38 +0700 Subject: [PATCH 279/757] no message --- examples_book/Chapter10.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index 1914f08..17518dd 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -657,6 +657,8 @@ console.log(array); // [ 2, 4, 6, 8 ] */ ``` +* หมายเหตุ วิธีรันโค้ดนี้ให้ copy โค้ดจาวาสคริปต์ข้างล่าง ไปแปะไว้ในโครง ของโครงสร้าง HTML ข้างบน แล้วถึงกดรันได้ + ```js let obj ={ value : "JavaScript", @@ -678,6 +680,8 @@ obj.printValue(); // "Message: JavaScript" obj.init(); ``` +* หมายเหตุ วิธีรันโค้ดนี้ให้ copy โค้ดจาวาสคริปต์ข้างล่าง ไปแปะไว้ในโครง ของโครงสร้าง HTML ข้างบน แล้วถึงกดรันได้ + ```js let obj ={ value : "JavaScript", From c3085e50ca904666755e7627d33ade2dfc60db6d Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 13:44:18 +0700 Subject: [PATCH 280/757] no message --- examples_book/Chapter10.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index 17518dd..d0224ef 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -657,7 +657,7 @@ console.log(array); // [ 2, 4, 6, 8 ] */ ``` -* หมายเหตุ วิธีรันโค้ดนี้ให้ copy โค้ดจาวาสคริปต์ข้างล่าง ไปแปะไว้ในโครง ของโครงสร้าง HTML ข้างบน แล้วถึงกดรันได้ +* หมายเหตุ วิธีรันโค้ดนี้ให้ copy โค้ดจาวาสคริปต์ข้างล่าง ไปแปะไว้ใน ของโครงสร้าง HTML ข้างบน แล้วถึงกดรันได้ ```js let obj ={ @@ -680,7 +680,7 @@ obj.printValue(); // "Message: JavaScript" obj.init(); ``` -* หมายเหตุ วิธีรันโค้ดนี้ให้ copy โค้ดจาวาสคริปต์ข้างล่าง ไปแปะไว้ในโครง ของโครงสร้าง HTML ข้างบน แล้วถึงกดรันได้ +* หมายเหตุ วิธีรันโค้ดนี้ให้ copy โค้ดจาวาสคริปต์ข้างล่าง ไปแปะไว้ใน ของโครงสร้าง HTML ข้างบน แล้วถึงกดรันได้ ```js let obj ={ From b42ea2450e1226500eab8478ea00b632380f04e9 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 13:51:31 +0700 Subject: [PATCH 281/757] no message --- examples_book/Chapter10.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index d0224ef..55f0fe8 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -657,7 +657,7 @@ console.log(array); // [ 2, 4, 6, 8 ] */ ``` -* หมายเหตุ วิธีรันโค้ดนี้ให้ copy โค้ดจาวาสคริปต์ข้างล่าง ไปแปะไว้ใน ของโครงสร้าง HTML ข้างบน แล้วถึงกดรันได้ +* หมายเหตุ วิธีรันโค้ดนี้ให้ copy โค้ดจาวาสคริปต์ข้างล่าง ไปแปะไว้ในโครงสร้าง HTML ข้างบน แล้วถึงกดรันได้ ```js let obj ={ @@ -680,7 +680,7 @@ obj.printValue(); // "Message: JavaScript" obj.init(); ``` -* หมายเหตุ วิธีรันโค้ดนี้ให้ copy โค้ดจาวาสคริปต์ข้างล่าง ไปแปะไว้ใน ของโครงสร้าง HTML ข้างบน แล้วถึงกดรันได้ +* หมายเหตุ วิธีรันโค้ดนี้ให้ copy โค้ดจาวาสคริปต์ข้างล่าง ไปแปะไว้ในโครงสร้าง HTML ข้างบน แล้วถึงกดรันได้ ```js let obj ={ From 51eb2eeb4c5c4f76d7545a778d6ae29e3f236f21 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 13:59:23 +0700 Subject: [PATCH 282/757] no message --- examples_book/Chapter10.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index 55f0fe8..02f8e1b 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -806,8 +806,8 @@ function factorial(value) { } } console.log(factorial(4)); // จะได้ค่าเป็น 24 เพราะ 4! = 4 x 3 x 2 x 1 = 24 -// จะเกิด RangeError เพราะ stack frame โตเกินไป จนใช้หน่วยความจำหมด -console.log(factorial(200000)); +// จะเกิด RangeError เพราะ stack frame โตมากเกินไป จนใช้หน่วยความจำหมด +console.log(factorial(200000)); ``` ```js From efd44b5d2281efed2373dc59d0f48d3ea4465646 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 14:54:18 +0700 Subject: [PATCH 283/757] no message --- examples_book/Chapter10.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index 02f8e1b..09c5d6d 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -932,9 +932,7 @@ let arr = [ function foo(param1, param2, ) { console.log(arguments); } -``` -```js foo( "abc", "def", ); // [Arguments] { '0': 'abc', '1': 'def' } ``` From 8a04940881f4f1d406f0577ee4c52a5e8f23eef3 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 14:57:35 +0700 Subject: [PATCH 284/757] no message --- examples_book/Chapter10.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index 09c5d6d..231f931 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -950,5 +950,5 @@ foo( "abc", ); // แสดงผลลัพธ์ -[Arguments] { '0': 'def', '1': 'abc' } +// [Arguments] { '0': 'def', '1': 'abc' } ``` From 193cb718640608f387afb614b33caaa1348e976e Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 15:12:10 +0700 Subject: [PATCH 285/757] no message --- examples_book/Chapter09.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index 526ebed..93581e6 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -113,7 +113,7 @@ array.forEach(function(printLog){ ### สรุปขอบเขตการมองเห็นตัวแปรแบบ let ```js -console.log(count); // undefined หรือเกิด ReferenceError (ขึ้นอยู่กับจาวาสคริปต์เอ็นจิ้น) +console.log(count); // เกิด ReferenceError let count = 89; // จะมองเห็นตัวแปร count ตั้งแต่จุดนี้เป็นต้นไป if(true) { console.log(count); // 89 From c1c07c984daaec21b0f9fb084e1b3c65f92e054e Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 15:14:09 +0700 Subject: [PATCH 286/757] no message --- examples_book/Chapter09.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index 93581e6..7b88123 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -122,7 +122,7 @@ if(true) { ```js var count = 89; -let count = 12; // เกิด error เพราะประกาศชื่อตัวแปรซ้ำกัน +let count = 12; // เกิด SyntaxError เพราะประกาศชื่อตัวแปรซ้ำกัน ``` ```js From 111e71da9cc0de676f80dd947d285d2cee0c6f4a Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 15:22:39 +0700 Subject: [PATCH 287/757] no message --- examples_book/Chapter09.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index 7b88123..476c615 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -140,9 +140,9 @@ console.log(count); // 89 ```js const MAX_COUNT = 100; // ประกาศถูกต้องตามไวยากรณ์ -const MAX_VALUE; // เกิด error เพราะไม่ได้กำหนดค่าตั้งต้นให้แต่แรก +const MAX_VALUE; // เกิด SyntaxError เพราะไม่ได้กำหนดค่าตั้งต้นให้แต่แรก const MESSAGE = "Hello"; // ประกาศถูกต้องตามไวยากรณ์ -MESSAGE = "Bye"; // เกิด error เพราะไปแก้ไขตัวแปรค่าคงที่ภายหลังประกาศใช้งานแล้ว ซึ่งจะทำไม่ได้ +MESSAGE = "Bye"; // เกิด TypeError เพราะไปแก้ไขตัวแปรค่าคงที่ภายหลังประกาศใช้งานแล้ว ซึ่งจะทำไม่ได้ ``` ```js From 29f0d7b80366b2810427dbdb9e9f2f5790ca04d9 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 16:17:27 +0700 Subject: [PATCH 288/757] no message --- examples_book/Chapter09.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index 476c615..5aeb085 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -146,7 +146,7 @@ MESSAGE = "Bye"; // เกิด TypeError เพราะไปแก้ไข ``` ```js -console.log(count); // undefined หรือเกิด ReferenceError (ขึ้นอยู่กับจาวาสคริปต์เอ็นจิ้น) +console.log(count); // เกิด ReferenceError const count = 89; // จะมองเห็นตัวแปร count ตั้งแต่จุดนี้เป็นต้นไป if(true) { console.log(count); // 89 From 50397bd6ada392a86521ed530cca3ccd1ad03a9f Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 16:24:33 +0700 Subject: [PATCH 289/757] no message --- examples_book/Chapter09.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index 5aeb085..ba2d644 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -157,8 +157,8 @@ if(true) { var message = "foo"; let count = 100; // ประกาศตัวแปรค่าคงที่ -const message = "bar"; // เกิด error เพราะประกาศตัวแปรชื่อซ้ำกัน -const count = 1; // เกิด error เพราะประกาศตัวแปรชื่อซ้ำกัน +const message = "bar"; // เกิด SyntaxError เพราะประกาศตัวแปรชื่อซ้ำกัน +const count = 1; // เกิด SyntaxError เพราะประกาศตัวแปรชื่อซ้ำกัน ``` ```js @@ -184,11 +184,11 @@ const obj = { }; obj.value = 1; // สามารถแก้ไขค่าพร็อพเพอร์ตี้ภายในอ็อบเจ็กต์ได้ console.log(obj.value); // 1 -obj = 10; // จะเกิด error เพราะแก้ไขตัวแปรค่าคงที่ไม่ได้ +obj = 10; // จะเกิด TypeError เพราะแก้ไขตัวแปรค่าคงที่ไม่ได้ ``` ```js -for (const i=0; i < 10; i++) { // จะ error เพราะ i++ ได้ไปแก้ไขตัวแปร i ซึ่งเป็นค่าคงที่ มันจะทำไม่ได้ +for (const i=0; i < 10; i++) { // เกิด TypeError เพราะ i++ ไปแก้ไขตัวแปร i ซึ่งเป็นค่าคงที่ จะทำไม่ได้ // ซอร์สโค้ด } ``` From e70b08b4a398315f8abed907429a6dcfa5f3054a Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 16:32:11 +0700 Subject: [PATCH 290/757] no message --- examples_book/Chapter09.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index ba2d644..012f6f1 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -356,7 +356,7 @@ let action = { undo: false }; let save, undo; -{save, undo} = action; // เกิด error +{save, undo} = action; // เกิด SyntaxError ``` ```js From 547d6b8dcf840a688e99a8f47188a3479e5f68cd Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 16:33:13 +0700 Subject: [PATCH 291/757] no message --- examples_book/Chapter09.md | 1 - 1 file changed, 1 deletion(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index 012f6f1..9d2a0bb 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -367,7 +367,6 @@ let action = { let save, undo; ({save, undo} = action); // ใส่วงเล็บครอบทั้งประโยคจะไม่เกิด error console.log(save, undo); // true false - ``` ```js From 7cacbb51e88643210d918e99dcaad3285a271042 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 16:36:05 +0700 Subject: [PATCH 292/757] no message --- examples_book/Chapter09.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index 9d2a0bb..ec83859 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -404,7 +404,7 @@ console.log(save, undo, moveOption, stopOption); // "success none move stop" ```js let action = { - save : "succes", + save : "success", undo : "none", option : ["move", "stop", "slow"] }; From 4dc2ff373211229f94b0c6c288083357556c5e7f Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 16:40:58 +0700 Subject: [PATCH 293/757] no message --- examples_book/Chapter09.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index ec83859..5059ea9 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -499,8 +499,8 @@ console.log(rest) // { bar: 2, zoo: 3 } ```js let obj = {foo: 1, bar: 2, zoo: 3}; -let {...rest, zoo} = obj; // ...rest วางไว้ด้านหน้าไม่ได้ จะเกิด error -let {foo, ...rest1, ...rest2} = obj; // ...rest1 , ...rest2 ใช้ซ้ำกันไม่ได้ จะเกิด error +let {...rest, zoo} = obj; // ...rest วางไว้ด้านหน้าไม่ได้ จะเกิด SyntaxError +let {foo, ...rest1, ...rest2} = obj; // ...rest1 , ...rest2 ใช้ซ้ำกันไม่ได้ จะเกิด SyntaxError ``` From 9b7104e74dbdf94a5e0d9d28050735bd522516d9 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 21:45:42 +0700 Subject: [PATCH 294/757] no message --- examples_book/Chapter11.md | 2 +- examples_book/mylib.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter11.md b/examples_book/Chapter11.md index 8b6fe8d..1a3a5b2 100644 --- a/examples_book/Chapter11.md +++ b/examples_book/Chapter11.md @@ -23,7 +23,7 @@ let div = `
    console.log(div); /* แสดงผลลัพธ์เป็น
    -

    Hello world

    +

    Hello world

    */ ``` diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 82f9a85..a64c5d6 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -62,7 +62,8 @@ .replaceAll(/>/g, ">") .replaceAll(/"/g, '"') .replaceAll(/'/g, "'") - .replaceAll(/\s/g, " "); + .replaceAll(/\n/g,'
    ') + .replaceAll(/\s/g, " "); } console.log = function(...data){ From 9aff8f4a0a47d14c4c732e4da4c62fdf628bd879 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 21:48:18 +0700 Subject: [PATCH 295/757] no message --- examples_book/Chapter11.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter11.md b/examples_book/Chapter11.md index 1a3a5b2..a413e53 100644 --- a/examples_book/Chapter11.md +++ b/examples_book/Chapter11.md @@ -18,13 +18,13 @@ console.log(msg); // แสดงคำว่า `One` "Two" ‘Three’ ```js let div = `
    -

    Hello world

    +

    Hello world

    `; console.log(div); /* แสดงผลลัพธ์เป็น
    -

    Hello world

    -
    +

    Hello world

    +
    */ ``` From 878eeaa846270b7f74fa915f7c94314a106bf77a Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Sep 2023 21:53:53 +0700 Subject: [PATCH 296/757] no message --- examples_book/Chapter11.md | 9 +++++++++ examples_book/mylib.js | 1 + 2 files changed, 10 insertions(+) diff --git a/examples_book/Chapter11.md b/examples_book/Chapter11.md index a413e53..8315fb1 100644 --- a/examples_book/Chapter11.md +++ b/examples_book/Chapter11.md @@ -89,6 +89,15 @@ Last line`; console.log(msg); ``` +* โค้ดข้างบนจะแสดงผลดังนี้ (ไม่ต้องกดรัน) +```js +First line // This is not a comment +/* +This is not a comment +*/ +Last line +``` + ### ความยาวของเทมเพลตสตริง ```js diff --git a/examples_book/mylib.js b/examples_book/mylib.js index a64c5d6..151ef4c 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -63,6 +63,7 @@ .replaceAll(/"/g, '"') .replaceAll(/'/g, "'") .replaceAll(/\n/g,'
    ') + .replaceAll(/\t/g, "        ") .replaceAll(/\s/g, " "); } From 6a5d494cd7a6745ffb79c2b9e48a5deab725e708 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 07:11:56 +0700 Subject: [PATCH 297/757] no message --- examples_book/Chapter11.md | 6 ------ examples_book/Chapter12.md | 7 ++++--- examples_book/md2html.js | 5 ++++- examples_book/mylib.js | 4 ++-- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/examples_book/Chapter11.md b/examples_book/Chapter11.md index 8315fb1..6f7149c 100644 --- a/examples_book/Chapter11.md +++ b/examples_book/Chapter11.md @@ -106,7 +106,6 @@ JavaScript String`; console.log(msg.length); // 20 console.log(msg.trim().length); // 19 - ``` ## นิพจน์ในเทมเพลตสตริง @@ -141,11 +140,6 @@ console.log(`My name is ${name}`); ## การติดแท็ก -```js -let n = 1, a = 3, b = 6; -console.log(divTag`${n}) Hello world : ${a * b} items`); // บรรทัด 2 -``` - ```js function divTag(strings, ...values) { //console.log(strings[0]); // "" diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md index d1a0505..ef643ac 100644 --- a/examples_book/Chapter12.md +++ b/examples_book/Chapter12.md @@ -39,9 +39,10 @@ console.log(typeof symObj2); // "object" ``` ```js -let sym = Symbol("example"); -console.log(sym == Object(sym)); -// ถ้าใช้บน Firefox จะได้เป็น true แต่ถ้าใช้บน Google Chrome จะเป็น fasle +let sym1 = Symbol("example1"); +console.log(sym1 == Object(sym1)); // true +let sym2 = Symbol("example2"); +console.log(sym2 == Object(sym1)); // false ``` ## ใช้ซิมโบลเป็นคีย์ในอ็อบเจ็กต์ diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 5fc8c88..8ac7415 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -70,7 +70,8 @@ async function genHTML(fileName){ } if(isCode && !line.startsWith("```js") && !line.startsWith("```html")){ - lineCodes += `${line}\n`; + line = line.replaceAll(/\$\$/g, "@-@"); // fix bugs กรณีที่ line มี $$ วางติดกันอยู่ในสตริง + lineCodes += `${line}\n`; } if(last) { @@ -78,6 +79,8 @@ async function genHTML(fileName){ let html = templateHTML.replace("${headline}", headline) .replace("${allLines}", allLines) .replace("${fileName}", fileName); + + html = html.replaceAll(/@-@/g, "$$$"); // fix bugs fs.writeFile(`${fileName}.html`, html, function (err) { if (err) throw err; console.log(`${fileName}.html is Saved!`); diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 151ef4c..564d306 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -78,7 +78,7 @@ d = "-0"; } - if(d === "@not use Arguments"){ // fix bugs + if(d === "@not_use_Arguments"){ // fix bugs throw new ReferenceError("arguments is not defined"); } @@ -124,7 +124,7 @@ console.log("#ผลการรัน:"); codeTxt = codeTxt.replaceAll(/-false/g, "'@negzero'"); // fix bugs ถ้าเป็นเลข -false ต้องแสดง -0 เลยต้องแทนด้วย '@negzero' //codeTxt = codeTxt.replaceAll(/-0.(?++++Error++++"); From 8b98e120c2e1ce9dda9fae06c7e644cf32996381 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 07:18:02 +0700 Subject: [PATCH 298/757] no message --- examples_book/Chapter12.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md index ef643ac..bb97ed3 100644 --- a/examples_book/Chapter12.md +++ b/examples_book/Chapter12.md @@ -40,8 +40,8 @@ console.log(typeof symObj2); // "object" ```js let sym1 = Symbol("example1"); -console.log(sym1 == Object(sym1)); // true let sym2 = Symbol("example2"); +console.log(sym1 == Object(sym1)); // true console.log(sym2 == Object(sym1)); // false ``` From feeab68fd6784cda0f3de346092f1a19c6b5f311 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 11:17:02 +0700 Subject: [PATCH 299/757] no message --- examples_book/Chapter12.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md index bb97ed3..99ecfd9 100644 --- a/examples_book/Chapter12.md +++ b/examples_book/Chapter12.md @@ -62,7 +62,7 @@ Object.defineProperties(obj, { }); console.log(obj[lastSym]); // 300 Object.defineProperty(obj, sym, { writable: false }); // กำหนดให้พร็อพเพอร์ตี้ ไม่สามารถแก้ไขค่าได้ -obj[sym] = 1; // จะเกิด error เพราะไม่สามารถแก้ไขค่าได้ (อยู่ในโหมดสตริคท์) +obj[sym] = 1; // ถ้าอยู่ในโหมดสตริคท์ จะเกิด TypeError เพราะไม่สามารถแก้ไขค่าได้ ``` ## การแชร์ซิมโบล From eac9266c3369d775882a847df1b5ca5a883e583a Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 11:24:09 +0700 Subject: [PATCH 300/757] no message --- examples_book/Chapter12.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md index 99ecfd9..6c9fc3b 100644 --- a/examples_book/Chapter12.md +++ b/examples_book/Chapter12.md @@ -109,7 +109,7 @@ for (let i in obj) { // "car" // "zoo" let keys = Object.getOwnPropertyNames(obj); -console.log(keys); // ["car", "zoo"] +console.log(keys); // [ "car", "zoo" ] ``` ```js From 7bcafb406ec06fa5183706416d7da55377adf153 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 14:17:16 +0700 Subject: [PATCH 301/757] no message --- examples_book/Chapter12.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md index 6c9fc3b..9338a4a 100644 --- a/examples_book/Chapter12.md +++ b/examples_book/Chapter12.md @@ -109,7 +109,7 @@ for (let i in obj) { // "car" // "zoo" let keys = Object.getOwnPropertyNames(obj); -console.log(keys); // [ "car", "zoo" ] +console.log(keys); // [ 'car', 'zoo' ] ``` ```js @@ -130,7 +130,7 @@ let obj = { "bar" : "200" } // จะได้เป็นสตริงที่เขียนอยู่ในรูปแบบของ JSON -console.log(JSON.stringify(obj)); // ‘{"bar" : "200"}’ +console.log(JSON.stringify(obj)); // '{"bar" : "200"}' ``` ## แปลงซิมโบลเป็นสตริง From 7d4b039ecee9501e2b67ddaacab639b0a11f8978 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 14:20:22 +0700 Subject: [PATCH 302/757] no message --- examples_book/Chapter12.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md index 9338a4a..01d603c 100644 --- a/examples_book/Chapter12.md +++ b/examples_book/Chapter12.md @@ -119,7 +119,7 @@ obj["zoo"] = "200"; obj[Symbol("foo")] = "foo"; obj[Symbol("bar")] = "bar"; let keys = Object.getOwnPropertySymbols(obj); -console.log(keys); // [Symbol(foo), Symbol(bar)] +console.log(keys); // [ Symbol(foo), Symbol(bar) ] ``` ## JSON.stringify() From 5f6025517b1e3bbb9e7183a066dac750aefc046f Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 14:23:37 +0700 Subject: [PATCH 303/757] no message --- examples_book/Chapter12.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md index 01d603c..766df3b 100644 --- a/examples_book/Chapter12.md +++ b/examples_book/Chapter12.md @@ -130,7 +130,7 @@ let obj = { "bar" : "200" } // จะได้เป็นสตริงที่เขียนอยู่ในรูปแบบของ JSON -console.log(JSON.stringify(obj)); // '{"bar" : "200"}' +console.log(JSON.stringify(obj)); // {"bar":"200"} ``` ## แปลงซิมโบลเป็นสตริง From cabf4684b907a30a059a1404ca11f030c813bac8 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 14:31:59 +0700 Subject: [PATCH 304/757] no message --- examples_book/Chapter12.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md index 766df3b..9cb874f 100644 --- a/examples_book/Chapter12.md +++ b/examples_book/Chapter12.md @@ -158,6 +158,6 @@ new String(sym); // TypeError let sym= Symbol("foo"); console.log(sym) // Symbol(foo) console.log(String(sym) === `Symbol(${"foo"})`); // true -console.log(sym.toString()); // "Symbol(foo)" +console.log(sym.toString()); // Symbol(foo) console.log(sym.description); // "foo" ``` \ No newline at end of file From eb98b98530766abf203a010fcff1680202afdccd Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 14:41:05 +0700 Subject: [PATCH 305/757] no message --- examples_book/Chapter13.md | 4 ++-- examples_book/md.css | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index c6d7cba..5e86ba2 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -121,8 +121,8 @@ let obj1 = { x: 1 }; let obj2 = { y: 2 }; let obj3 = { z: 3 }; let merged = Object.assign(obj1, obj2, obj3); -console.log(merged); // { x: 1, y : 2, z: 3 } -console.log(obj1); // { x: 1, y : 2, z: 3 } +console.log(merged); // { x: 1, y: 2, z: 3 } +console.log(obj1); // { x: 1, y: 2, z: 3 } console.log(merged === obj1); // true console.log(merged === obj2); // false console.log(merged === obj3); // false diff --git a/examples_book/md.css b/examples_book/md.css index a1b8a7c..e93a78d 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -46,9 +46,10 @@ textarea { background-color: #ECFFEF; position: fixed; left: 0; - top:15; + top:5; width: 135px; display: block; + overflow-y: auto; } .picture-left-menu { From b4ec075c2ac8011548973bd4f8b7591560d019c9 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 15:07:38 +0700 Subject: [PATCH 306/757] no message --- examples_book/Chapter13.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 5e86ba2..02d01ee 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -449,7 +449,7 @@ let car = { }; let driver = { __proto__: car, - speed: 100, + speed: 100, drive() { console.log("Drive a taxi") ; } @@ -458,7 +458,7 @@ function startCar() { return super.drive() + " :100"; // บรรทัด a - เกิด SytnaxError } driver.drive = startCar; // กำหนดค่าทับพร็อพเพอร์ตี้ driver.drive -driver.drive(); // เกิด error +driver.drive(); // เกิด SyntaxError ``` From c0093d8687d32f7a2c004a39cfb45b4911a97fba Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 15:43:24 +0700 Subject: [PATCH 307/757] no message --- examples_book/Chapter13.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 02d01ee..fd63254 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -458,10 +458,9 @@ function startCar() { return super.drive() + " :100"; // บรรทัด a - เกิด SytnaxError } driver.drive = startCar; // กำหนดค่าทับพร็อพเพอร์ตี้ driver.drive -driver.drive(); // เกิด SyntaxError +driver.drive(); ``` - ```js let car = { drive() { @@ -472,10 +471,10 @@ let driver = { __proto__: car, speed: 100, drive: function() { // บรรทัด a -- ไม่ได้ประกาศเมธอดแบบย่อ - super.drive(); - } // สิ้นสุดการประกาศ drive() + super.drive(); // บรรทัด b - เกิด SyntaxError + } // สิ้นสุดการประกาศ drive() }; -driver.drive(); // SyntaxError +driver.drive(); ``` ## เมธอด Object.is() From c1de55cdfe0ddbf4089f4b6c592d163bdbc2943e Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 15:45:22 +0700 Subject: [PATCH 308/757] no message --- examples_book/Chapter13.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index fd63254..2e6bb78 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -455,7 +455,7 @@ let driver = { } }; function startCar() { - return super.drive() + " :100"; // บรรทัด a - เกิด SytnaxError + return super.drive() + " :100"; // บรรทัด a - เกิด SyntaxError } driver.drive = startCar; // กำหนดค่าทับพร็อพเพอร์ตี้ driver.drive driver.drive(); From 94e94c91dbc2d0914ff95d0ff285f5940d47fac6 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 15:47:02 +0700 Subject: [PATCH 309/757] no message --- examples_book/Chapter13.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 2e6bb78..5a789b1 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -437,7 +437,7 @@ driver.drive(); // "Drive a car. It has speed: 100" ```js function startCar() { - console.log( super.drive()); // เกิด SytnaxError + console.log( super.drive()); // เกิด SyntaxError } ``` From 0da8e0b435c9d2b5063b9e96cae26e9ed59e2d47 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 15:55:41 +0700 Subject: [PATCH 310/757] no message --- examples_book/Chapter13.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 5a789b1..2db8012 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -556,7 +556,7 @@ for (let v of Object.values(obj)) { // สกัดส่วนข้อม ```js let obj = { foo: 1, bar: 2 }; let array = Object.entries(obj); -console.log(array); // [ [ ‘foo’, 1 ], [ ‘bar’, 2 ] ] +console.log(array); // [ [ 'foo', 1 ], [ 'bar', 2 ] ] ``` ```js @@ -566,7 +566,7 @@ let obj = { bar: 2, }; let array = Object.entries(obj); -console.log(array); // [ [ ‘bar’, 2 ] ] +console.log(array); // [ [ 'bar', 2 ] ] ``` ```js @@ -582,7 +582,7 @@ bar: 2 */ ```js let obj = { foo: 1, bar: 2 }; let map = new Map(Object.entries(obj)); -console.log(map); // Map(2) { ‘foo’ => 1, ‘bar’ => 2 } +console.log(map); // Map(2) { 'foo' => 1, 'bar' => 2 } ``` ## เมธอด Object.getOwnPropertyDescriptors() @@ -608,14 +608,14 @@ console.log(Object.getOwnPropertyDescriptors(obj)); ```js let array = [["name", "somchai"], ["age", 65]]; let obj = Object.fromEntries(array); -console.log(obj); // { name: ‘somchai’, age: 65 } +console.log(obj); // { name: 'somchai', age: 65 } ``` ```js let map = new Map([["name", "somchai"], ["age", 65]]); // สร้างแม็พขึ้นมาก่อน -console.log(map); // Map(2) { ‘name’ => ‘somchai’, ‘age’ => 65 } +console.log(map); // Map(2) { 'name' => 'somchai', 'age' => 65 } let obj = Object.fromEntries(map) -console.log(obj); // { name: ‘somchai’, age: 65 } +console.log(obj); // { name: 'somchai', age: 65 } ``` ## เมธอด Object.hasOwn() @@ -641,40 +641,40 @@ console.log( bar.hasOwnProperty("fooProp") ); // false -- bar ไม่ใ ```js let obj1 = {a: "foo", b: "bar"}; let obj2 = {...obj1 }; // ใช้โอเปอเรเตอร์สเปรด ประกาศสมาชิก -console.log(obj2) // { a: ‘foo’, b: ‘bar’ } +console.log(obj2) // { a: 'foo', b: 'bar' } // แก้ไขอ็อบเจ็กต์ obj1 ก็ไม่กระทบต่อ obj2 obj1.a = "zoo"; -console.log(obj1); // { a: ‘zoo’, b: ‘bar’ } -console.log(obj2); // { a: ‘foo’, b: ‘bar’ } +console.log(obj1); // { a: 'zoo', b: 'bar' } +console.log(obj2); // { a: 'foo', b: 'bar' } ``` ```js let obj1 = {a: "foo", b: "bar"}; let obj2 = {...obj1, c: "zoo"}; -console.log(obj2) // { a: ‘foo’, b: ‘bar’, c: ‘zoo’ } +console.log(obj2) // { a: 'foo', b: 'bar', c: 'zoo' } ``` ```js let obj1 = {a:"foo", b:"bar"}; let obj2 = {x:"zoo", y:"car"}; let obj3 = {...obj1, d:"car", ...obj2}; -console.log(obj3) // { a: ‘foo’, b: ‘bar’, d: ‘car’, x: ‘zoo’, y: ‘car’ } +console.log(obj3) // { a: 'foo', b: 'bar', d: 'car', x: 'zoo', y: 'car' } ``` ```js let obj1 = {a:"foo", b:"bar"}; let obj2 = {a:"zoo", ...obj1}; -console.log(obj2) // { a: ‘foo’, b: ‘bar’ } +console.log(obj2) // { a: 'foo', b: 'bar' } let obj3 = {...obj1, a:"zoo"}; -console.log(obj3) // { a: ‘zoo’, b: ‘bar’ } +console.log(obj3) // { a: 'zoo', b: 'bar' } ``` ```js console.log( {...undefined}); // {} console.log( {...null} ); // {} console.log( {...123} ); // {} -console.log( {..."abc"} ); // { ‘0’: ‘a’, ‘1’: ‘b’, ‘2’: ‘c’ } -console.log( {...["foo", "bar"]}); // { ‘0’: ‘foo’, ‘1’: ‘bar’ +console.log( {..."abc"} ); // { '0': 'a', '1': 'b', '2': 'c' } +console.log( {...["foo", "bar"]}); // { '0': 'foo', '1': 'bar' ``` ## Optional Chaining From 062f34dfa21f0502a2733ef5beb9f0a0cdc2ee46 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 15:58:22 +0700 Subject: [PATCH 311/757] no message --- examples_book/Chapter13.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 2db8012..5075658 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -601,6 +601,19 @@ let obj = { [Symbol("zoo")]: 3 }; console.log(Object.getOwnPropertyDescriptors(obj)); + +/* แสดงผลลัพธ์ +{ + foo: { value: 1, writable: true, enumerable: true, configurable: true }, + bar: { + get: [Function: get bar], + set: undefined, + enumerable: true, + configurable: true + }, + [Symbol(zoo)]: { value: 3, writable: true, enumerable: true, configurable: true } +} +*/ ``` ## เมธอด Object.fromEntries() From 678846ef7776a3c7c604ea4024c5db4c44104461 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 16:48:22 +0700 Subject: [PATCH 312/757] no message --- examples_book/Chapter13.md | 2 +- examples_book/mylib.js | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 5075658..242195a 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -470,7 +470,7 @@ let car = { let driver = { __proto__: car, speed: 100, - drive: function() { // บรรทัด a -- ไม่ได้ประกาศเมธอดแบบย่อ + drive: function() { // บรรทัด a -- ไม่ได้ประกาศเมธอดแบบย่อ super.drive(); // บรรทัด b - เกิด SyntaxError } // สิ้นสุดการประกาศ drive() }; diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 564d306..9940de3 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -4,6 +4,13 @@ if(data == null || data == undefined ) { return ""+ data; + } else if (data instanceof Map) { + let str = `Map(${data.size}) { `; + for(const [key, value] of data.entries()){ + str += `'${key}' => ${toString(value)}, `; + } + return str.slice(0, -2) + ' }'; + } else if( data instanceof Array){ let str = "[ "; for(const value of data) { From 9e034de1cba1f4b214e880ee31e3af6958aff0cd Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 17:25:32 +0700 Subject: [PATCH 313/757] no message --- examples_book/Chapter10.md | 2 +- examples_book/md.css | 9 +++++++++ examples_book/mylib.js | 32 ++++++++++++++++++++++++-------- 3 files changed, 34 insertions(+), 9 deletions(-) diff --git a/examples_book/Chapter10.md b/examples_book/Chapter10.md index 231f931..a4e55d9 100644 --- a/examples_book/Chapter10.md +++ b/examples_book/Chapter10.md @@ -578,7 +578,7 @@ console.log(arrowFunc.name); // จะแสดงชื่อ "arrowFun ```js // เขียนแบบฟังก์ชั่นลูกศร var arrowFunc = () => console.log(arguments); // ไม่สามารถใช้อ็อบเจ็กต์ arguments ได้ -arrowFunc(1, 2, 3); // ถ้ารันบนเว็บเบราเซอร์จะเกิด error แต่บน Node.js ไม่เกิด error +arrowFunc(1, 2, 3); // ถ้ารันบนเว็บเบราเซอร์จะเกิด ReferenceError แต่บน Node.js ไม่เกิด error // เขียนแบบฟังก์ชั่นธรรมดา var arrowFunc2 = function() { return console.log(arguments); // ฟังก์ชั่นธรรมดาสามารถใช้อ็อบเจ็กต์ arguments ได้ตามปกติ diff --git a/examples_book/md.css b/examples_book/md.css index e93a78d..d010a39 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -13,6 +13,7 @@ .main { margin-top: 60px; margin-left: 160px; + margin-right: 15px; } .sale { @@ -68,6 +69,14 @@ textarea { border: 0.5px #023020; } +div.display-result { + white-space: pre-wrap; + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-wrap: break-word; +} + .header { background-color: #3CB371; position: fixed; diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 9940de3..e116fe1 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -9,7 +9,8 @@ for(const [key, value] of data.entries()){ str += `'${key}' => ${toString(value)}, `; } - return str.slice(0, -2) + ' }'; + + return (str == `Map(${data.size}) { ` ) ? str.slice(0, -2) + ' }': `Map(${data.size}) { `; } else if( data instanceof Array){ let str = "[ "; @@ -25,21 +26,36 @@ } else if( data instanceof Date){ return data.toString(); - } else if( typeof data === 'object'){ - let str = "{ "; - - if( data.toString().includes("Arguments")){ + } else if( typeof data === 'object'){ + + + if( data.toString().includes("Arguments")){ + let str = "[Arguments] { "; + for(const [key, value] of Object.entries(data)){ str += `'${key}': ${toString(value)}, `; } - str ="[Arguments] " + str; + + for(const sym of Object.getOwnPropertySymbols(data)){ // get properties of Symbol + str += `'[${sym.toString()}]': ${toString(data[sym])}, `; + } + + return (str == "[Arguments] { " ) ? str.slice(0, -2) + " }": "[Arguments] {}"; } else { + let str = "{ "; + for(const [key, value] of Object.entries(data)){ str += `${key}: ${toString(value)}, `; - } + } + + for(const sym of Object.getOwnPropertySymbols(data)){ // get properties of Symbol + str += `[${sym.toString()}]: ${toString(data[sym])}, `; + } + + return (str.length >2) ? str.slice(0, -2) + " }": "{}"; } - return (str.length >2) ? str.slice(0, -2) + ' }': '{}'; + } else if( typeof data === 'string'){ return `'${data}'`; From 466e16d05a8eef6e23e97e5ae7a4661fd9b21402 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 17:52:42 +0700 Subject: [PATCH 314/757] no message --- examples_book/Chapter03.md | 2 +- examples_book/mylib.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter03.md b/examples_book/Chapter03.md index c5a4c77..d058468 100644 --- a/examples_book/Chapter03.md +++ b/examples_book/Chapter03.md @@ -759,7 +759,7 @@ myFunction(100,200,300,400); // 100 200 function myFunction (param1, param2) { console.log(arguments); } -myFunction(100,200,300,400); // [Arguments] { ‘0’: 100, ‘1’: 200, ‘2’: 300, ‘3’: 400 } +myFunction(100,200,300,400); // [Arguments] { '0': 100, '1': 200, '2': 300, '3': 400 } ``` ### ข้อควรระวังในการประกาศฟังก์ชั่น diff --git a/examples_book/mylib.js b/examples_book/mylib.js index e116fe1..4e3c230 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -10,7 +10,7 @@ str += `'${key}' => ${toString(value)}, `; } - return (str == `Map(${data.size}) { ` ) ? str.slice(0, -2) + ' }': `Map(${data.size}) { `; + return (str != `Map(${data.size}) { ` ) ? str.slice(0, -2) + ' }': `Map(${data.size}) {}`; } else if( data instanceof Array){ let str = "[ "; @@ -30,17 +30,17 @@ if( data.toString().includes("Arguments")){ - let str = "[Arguments] { "; + let str = "[Arguments] { "; for(const [key, value] of Object.entries(data)){ str += `'${key}': ${toString(value)}, `; } for(const sym of Object.getOwnPropertySymbols(data)){ // get properties of Symbol - str += `'[${sym.toString()}]': ${toString(data[sym])}, `; + //str += `${sym.toString()}: ${toString(data[sym])}, `; } - return (str == "[Arguments] { " ) ? str.slice(0, -2) + " }": "[Arguments] {}"; + return (str != "[Arguments] { " ) ? str.slice(0, -2) + " }": "[Arguments] {}"; } else { let str = "{ "; From 8e9f33b4d938148e14401b496976c0d5465c7b3e Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 20:31:57 +0700 Subject: [PATCH 315/757] no message --- examples_book/Chapter13.md | 4 ++-- examples_book/mylib.js | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 242195a..af943b6 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -562,7 +562,7 @@ console.log(array); // [ [ 'foo', 1 ], [ 'bar', 2 ] ] ```js let foo = Symbol("foo"); let obj = { - [foo]: 1, + [foo]: 1, // มีคีย์เป็นซิมโบล bar: 2, }; let array = Object.entries(obj); @@ -571,7 +571,7 @@ console.log(array); // [ [ 'bar', 2 ] ] ```js let obj = { foo: 1, bar: 2 }; -for (let [k,v] of Object.entries(obj)) { // สกัดคีย์กับข้อมูลจากอ็อบเจ็กต์ obj ออกมา +for (let [k, v] of Object.entries(obj)) { // สกัดคีย์กับข้อมูลจากอ็อบเจ็กต์ obj ออกมา console.log(`${k}: ${v}`); } /* แสดงผลลัพธ์ diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 4e3c230..0ebbc14 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -100,7 +100,7 @@ if(d == '@negzero'){ // fix bugs d = "-0"; } - + if(d === "@not_use_Arguments"){ // fix bugs throw new ReferenceError("arguments is not defined"); } @@ -147,7 +147,10 @@ console.log("#ผลการรัน:"); codeTxt = codeTxt.replaceAll(/-false/g, "'@negzero'"); // fix bugs ถ้าเป็นเลข -false ต้องแสดง -0 เลยต้องแทนด้วย '@negzero' //codeTxt = codeTxt.replaceAll(/-0.(?++++Error++++"); From fce037aa992312e4b1523640d62ad8c2f143e03b Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 20:56:08 +0700 Subject: [PATCH 316/757] no message --- examples_book/Chapter13.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index af943b6..6656475 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -569,6 +569,14 @@ let array = Object.entries(obj); console.log(array); // [ [ 'bar', 2 ] ] ``` +```js +let obj = { foo: 1, [Symbol("bar")]: 2 }; +// เข้าถึงคีย์ของ obj รวมทั้งที่เป็นซิมโบลด้วย +console.log(Reflect.ownKeys(obj).map( (k)=>[k, obj[k]])); // [ [ 'foo', 1 ], [ Symbol(bar), 2 ] ] +// เข้าถึงคีย์ของ obj ที่เป็นซิมโบลอย่างเดียว +console.log(Object.getOwnPropertySymbols(obj).map( (k)=>[k, obj[k]])); // [ [ Symbol(bar), 2 ] ] +``` + ```js let obj = { foo: 1, bar: 2 }; for (let [k, v] of Object.entries(obj)) { // สกัดคีย์กับข้อมูลจากอ็อบเจ็กต์ obj ออกมา From d50c37d50bccf2038c5de3194db582aa0d2b7322 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 22:56:14 +0700 Subject: [PATCH 317/757] no message --- examples_book/Chapter13.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 6656475..d625f09 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -661,25 +661,25 @@ console.log( bar.hasOwnProperty("fooProp") ); // false -- bar ไม่ใ ## การกระจายพร็อพเพอร์ตี้ไปให้อีกอ็อบเจ็กต์ ```js let obj1 = {a: "foo", b: "bar"}; -let obj2 = {...obj1 }; // ใช้โอเปอเรเตอร์สเปรด ประกาศสมาชิก -console.log(obj2) // { a: 'foo', b: 'bar' } +let obj2 = {...obj1 }; // ใช้โอเปอเรเตอร์สเปรด ประกาศสมาชิก +console.log(obj2) // { a: 'foo', b: 'bar' } // แก้ไขอ็อบเจ็กต์ obj1 ก็ไม่กระทบต่อ obj2 obj1.a = "zoo"; -console.log(obj1); // { a: 'zoo', b: 'bar' } -console.log(obj2); // { a: 'foo', b: 'bar' } +console.log(obj1); // { a: 'zoo', b: 'bar' } +console.log(obj2); // { a: 'foo', b: 'bar' } ``` ```js let obj1 = {a: "foo", b: "bar"}; let obj2 = {...obj1, c: "zoo"}; -console.log(obj2) // { a: 'foo', b: 'bar', c: 'zoo' } +console.log(obj2) // { a: 'foo', b: 'bar', c: 'zoo' } ``` ```js let obj1 = {a:"foo", b:"bar"}; let obj2 = {x:"zoo", y:"car"}; let obj3 = {...obj1, d:"car", ...obj2}; -console.log(obj3) // { a: 'foo', b: 'bar', d: 'car', x: 'zoo', y: 'car' } +console.log(obj3) // { a: 'foo', b: 'bar', d: 'car', x: 'zoo', y: 'car' } ``` ```js @@ -695,7 +695,7 @@ console.log( {...undefined}); // {} console.log( {...null} ); // {} console.log( {...123} ); // {} console.log( {..."abc"} ); // { '0': 'a', '1': 'b', '2': 'c' } -console.log( {...["foo", "bar"]}); // { '0': 'foo', '1': 'bar' +console.log( {...["foo", "bar"]}); // { '0': 'foo', '1': 'bar' } ``` ## Optional Chaining From e36bc60bc0fe9676068f8970ea27a6617352ce50 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 12 Sep 2023 23:17:47 +0700 Subject: [PATCH 318/757] no message --- examples_book/Chapter13.md | 4 ++-- examples_book/mylib.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index d625f09..308a3cd 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -685,9 +685,9 @@ console.log(obj3) // { a: 'foo', b: 'bar', d: 'car', x: 'zoo', y: 'car' } ```js let obj1 = {a:"foo", b:"bar"}; let obj2 = {a:"zoo", ...obj1}; -console.log(obj2) // { a: 'foo', b: 'bar' } +console.log(obj2) // { a: 'foo', b: 'bar' } let obj3 = {...obj1, a:"zoo"}; -console.log(obj3) // { a: 'zoo', b: 'bar' } +console.log(obj3) // { a: 'zoo', b: 'bar' } ``` ```js diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 0ebbc14..51e0068 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -45,7 +45,7 @@ } else { let str = "{ "; - for(const [key, value] of Object.entries(data)){ + for(const [key, value] of Object.entries(data)){ str += `${key}: ${toString(value)}, `; } From 03ea387eedd5f75679b2339d3b2f2b54ba7df70a Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 13 Sep 2023 00:01:32 +0700 Subject: [PATCH 319/757] no message --- examples_book/Chapter13.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 308a3cd..5f8d6bc 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -712,7 +712,7 @@ let data = { }; console.log(data.parent.child.name.firstName); // "สมชาย" console.log(data.parent.child.name.surname); // undefined -console.log(data.parent.child.NAME.firstName); // บรรทัด a -- เกิด error +console.log(data.parent.child.NAME.firstName); // บรรทัด a - เกิด SyntaxError console.log(data.parent.child.NAME?.firstName); // undefined console.log(data.parent.child.name?.firstName); // "สมชาย" @@ -720,7 +720,7 @@ console.log(data.parent.child.name?.firstName); // "สมชาย" console.log(data.parent.child.NAME?.["firstName"]); // undefined console.log(data.parent.child.name?.["firstName"]); // "สมชาย" -console.log(data.parent.child.name.surname?); // วาง ? ไว้ท้ายสุด เกิด error ทำไม่ได้ +console.log(data.parent.child.name.surname?); // วาง ? ไว้ท้ายสุด เกิด SyntaxError ทำไม่ได้ ``` ```js From b1acabc65f28758391597e4b5ed6249b190c15f0 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 13 Sep 2023 07:26:59 +0700 Subject: [PATCH 320/757] no message --- examples_book/Chapter12.md | 7 +++++++ examples_book/md.css | 13 ++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md index 9cb874f..fba56e9 100644 --- a/examples_book/Chapter12.md +++ b/examples_book/Chapter12.md @@ -152,6 +152,13 @@ console.log(String(sym)); // Symbol(foo) new String(sym); // TypeError ``` +```js +let sym = Symbol("foo"); +console.log(`${sym.toString()}`); // Symbol(foo) +console.log(`${String(sym)}`); // Symbol(foo) +console.log(`${sym}`) // TypeError +``` + ## พร็อพเพอร์ตี้ description ```js diff --git a/examples_book/md.css b/examples_book/md.css index d010a39..a2c63e9 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -34,9 +34,9 @@ } textarea { - font-size: 13pt; - background-color: #F5F5F5; - width: 100%; + font-size: 13em; + background-color: #F5F5F5; + width: 100%; } .describe { @@ -47,10 +47,12 @@ textarea { background-color: #ECFFEF; position: fixed; left: 0; - top:5; + top: 0; width: 135px; + height: 100%; display: block; - overflow-y: auto; + /*overflow-y: scroll;**/ + overflow: auto; } .picture-left-menu { @@ -69,6 +71,7 @@ textarea { border: 0.5px #023020; } +/*wrap text*/ div.display-result { white-space: pre-wrap; white-space: -moz-pre-wrap; From 60b29a5ed37d5047371ad73b51509451deadf28d Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 13 Sep 2023 10:43:11 +0700 Subject: [PATCH 321/757] no message --- examples_book/display_html.php | 12 +++++++++ examples_book/md.css | 16 +++++++++--- examples_book/md2html.js | 18 ++++++++----- examples_book/mylib.js | 47 ++++++++++++++++++++-------------- examples_book/run_md2html.bat | 3 +++ 5 files changed, 66 insertions(+), 30 deletions(-) create mode 100644 examples_book/display_html.php create mode 100644 examples_book/run_md2html.bat diff --git a/examples_book/display_html.php b/examples_book/display_html.php new file mode 100644 index 0000000..13beb85 --- /dev/null +++ b/examples_book/display_html.php @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/examples_book/md.css b/examples_book/md.css index a2c63e9..800a0ad 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -27,7 +27,7 @@ font-weight: bold; border: none; color: white; - padding: 4px 16px; + padding: 4px 20px; text-decoration: none; margin: 0px 2px 20px 0px; cursor: pointer; @@ -56,8 +56,16 @@ textarea { } .picture-left-menu { - text-align:left; - margin:10px 0px 5px 20px; + text-align:left; + padding-left: 20px; + padding-top: 5px; + margin-bottom: 10px; +} + +.link-menu { + text-align: left; + font-size: 0.98em; + padding-left: 20px; } .display-result { @@ -66,7 +74,7 @@ textarea { background-color: #606060; color: white; text-align: left; - margin-top: 1px; + margin-top: 3px; margin-bottom: 3px; border: 0.5px #023020; } diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 8ac7415..4d63856 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -41,21 +41,25 @@ async function genHTML(fileName){ if(line.startsWith("```js")){ btnValue = "Run"; } else if(line.startsWith("```html")) { - btnValue = "Download HTML"; + btnValue = "Open HTML"; } } else if(line.startsWith("```")){ isCode = false const rows = lineCodes.split('\n').length-1; - allLines += `
    - -
    - - + allLines += `
    +
    + + +
    +
    + +
    `; - lineCodes = ""; + lineCodes = ""; + } else if(line.startsWith("#")) { line = line.replace(/#/g, ""); if(line.includes("โค้ดบทที่")) { diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 51e0068..a0a4bd1 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -26,8 +26,16 @@ } else if( data instanceof Date){ return data.toString(); - } else if( typeof data === 'object'){ + } else if( data instanceof Window){ + return `Window`; + + } else if( typeof data === 'string'){ + return `'${data}'`; + + } else if(typeof data == 'bigint') { + return `${data}n`; + } else if( typeof data === 'object'){ if( data.toString().includes("Arguments")){ let str = "[Arguments] { "; @@ -54,14 +62,7 @@ } return (str.length >2) ? str.slice(0, -2) + " }": "{}"; - } - - - } else if( typeof data === 'string'){ - return `'${data}'`; - - } else if(typeof data == 'bigint') { - return `${data}n`; + } } else { return String(data); // recursive @@ -90,6 +91,15 @@ .replaceAll(/\s/g, " "); } + function dowloadfile(content){ + const link = document.createElement("a"); + const file = new Blob([content], { type: 'text/plain' }); + link.href = URL.createObjectURL(file); + link.download = "sample.html"; + link.click(); + URL.revokeObjectURL(link.href); + } + console.log = function(...data){ let display = document.querySelector(resultAreaId); for( let d of data){ @@ -106,7 +116,7 @@ } if(d.startsWith('#')){ - d = d.substring(1); // เมื่อเจอ # นำหน้า ต้องการให้สตริง html มันทำงานในเว็บเบราเซอร์ + d = d.substring(1); // เมื่อเจอ # นำหน้า เป็นการบอกว่าต้องการให้สตริง html มันทำงานในเว็บเบราเซอร์ } else { d = decodeHtml(d); // ไม่ต้องการให้สตริง html ทำงานในเว็บเบราเซอร์ } @@ -128,6 +138,7 @@ } function runCodeBtn(countTarget) { + resultAreaId = `#displayResult${countTarget}`; clearDisplay(resultAreaId); @@ -135,14 +146,9 @@ let codeTxt = textCodeArea.value; if( codeTxt.includes("")>0 ) { - const link = document.createElement("a"); - const content = codeTxt; - const file = new Blob([content], { type: 'text/plain' }); - link.href = URL.createObjectURL(file); - link.download = "sample.html"; - link.click(); - URL.revokeObjectURL(link.href); - } else { + document.querySelector(`#form${countTarget}`).submit(); + } else { + try { console.log("#ผลการรัน:"); codeTxt = codeTxt.replaceAll(/-false/g, "'@negzero'"); // fix bugs ถ้าเป็นเลข -false ต้องแสดง -0 เลยต้องแทนด้วย '@negzero' @@ -158,8 +164,11 @@ if(e.stack) { console.log("#" + e.stack + ""); } - } + } + } + textCodeArea.classList.add("run-already"); //btn.value = "Run again"; + return false; } \ No newline at end of file diff --git a/examples_book/run_md2html.bat b/examples_book/run_md2html.bat new file mode 100644 index 0000000..9361ce1 --- /dev/null +++ b/examples_book/run_md2html.bat @@ -0,0 +1,3 @@ +node "C:\xampp\htdocs\javascript\examples_book\md2html.js" +start http://localhost/javascript/examples_book/ +pause \ No newline at end of file From 765f0468455402a81cbae5d222241f85fcd74a7b Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 13 Sep 2023 19:16:52 +0700 Subject: [PATCH 322/757] no message --- examples_book/md2html.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 4d63856..b22af08 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -49,7 +49,7 @@ async function genHTML(fileName){ const rows = lineCodes.split('\n').length-1; allLines += `
    -
    +
    From 90fa0b6d503e8328aad449474e0011d3ecb921b2 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 13 Sep 2023 20:21:12 +0700 Subject: [PATCH 323/757] no message --- examples_book/deploy_html.bat | 2 ++ examples_book/deploy_html.py | 23 +++++++++++++++++++++++ examples_book/display_html.php | 1 - 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 examples_book/deploy_html.bat create mode 100644 examples_book/deploy_html.py diff --git a/examples_book/deploy_html.bat b/examples_book/deploy_html.bat new file mode 100644 index 0000000..5584ee3 --- /dev/null +++ b/examples_book/deploy_html.bat @@ -0,0 +1,2 @@ +"C:/Users/Adminstrators/anaconda3/python.exe" "C:/xampp/htdocs/javascript/examples_book/deploy_html.py" +pause \ No newline at end of file diff --git a/examples_book/deploy_html.py b/examples_book/deploy_html.py new file mode 100644 index 0000000..59a0467 --- /dev/null +++ b/examples_book/deploy_html.py @@ -0,0 +1,23 @@ +# py -m pip install requests +import requests +import os + +url = 'http://localhost/deploy/javascript_bookcodes.php' + + +data = {'token': "@E45!a5;6x76top8$3@spG-+"} + + + +directory ='./' +for fname in os.listdir(directory): + fulll_filefname = os.path.join(directory, fname) + if os.path.isfile(fulll_filefname) == False: + continue + + if fname.endswith('.html') and fname != "template.html": + with open(fulll_filefname, 'r', encoding='utf-8') as f: + data['content'] = f.read() + data['filename'] = fname + res = requests.post(url=url, data = data) + print("Upload %s -> %s" % (fname, res.text)) \ No newline at end of file diff --git a/examples_book/display_html.php b/examples_book/display_html.php index 13beb85..1e85854 100644 --- a/examples_book/display_html.php +++ b/examples_book/display_html.php @@ -1,5 +1,4 @@ Date: Wed, 13 Sep 2023 22:07:15 +0700 Subject: [PATCH 324/757] no message --- examples_book/md.css | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/examples_book/md.css b/examples_book/md.css index 800a0ad..bf1cd53 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -44,13 +44,12 @@ textarea { } .left-menu { - background-color: #ECFFEF; position: fixed; left: 0; top: 0; width: 135px; height: 100%; - display: block; + background-color: #ECFFEF; /*overflow-y: scroll;**/ overflow: auto; } @@ -65,7 +64,10 @@ textarea { .link-menu { text-align: left; font-size: 0.98em; - padding-left: 20px; + padding-left: 0px; + display: table-cell; + text-align: center; + vertical-align: middle; } .display-result { From 9d859beb6d0cda95a995cefdf6d156927481d309 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 14 Sep 2023 17:00:28 +0700 Subject: [PATCH 325/757] no message --- examples_book/Chapter13.md | 2 +- examples_book/deploy_html.py | 5 +++-- examples_book/md.css | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 5f8d6bc..e55a966 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -571,7 +571,7 @@ console.log(array); // [ [ 'bar', 2 ] ] ```js let obj = { foo: 1, [Symbol("bar")]: 2 }; -// เข้าถึงคีย์ของ obj รวมทั้งที่เป็นซิมโบลด้วย +// เข้าถึงคีย์ของ obj รวมทั้งคีย์ที่เป็นซิมโบลด้วย console.log(Reflect.ownKeys(obj).map( (k)=>[k, obj[k]])); // [ [ 'foo', 1 ], [ Symbol(bar), 2 ] ] // เข้าถึงคีย์ของ obj ที่เป็นซิมโบลอย่างเดียว console.log(Object.getOwnPropertySymbols(obj).map( (k)=>[k, obj[k]])); // [ [ Symbol(bar), 2 ] ] diff --git a/examples_book/deploy_html.py b/examples_book/deploy_html.py index 59a0467..89f192c 100644 --- a/examples_book/deploy_html.py +++ b/examples_book/deploy_html.py @@ -15,9 +15,10 @@ if os.path.isfile(fulll_filefname) == False: continue - if fname.endswith('.html') and fname != "template.html": + if (fname.endswith('.html') and fname != "template.html") or fname == "mylib.js" or fname == "md.css" : with open(fulll_filefname, 'r', encoding='utf-8') as f: data['content'] = f.read() data['filename'] = fname res = requests.post(url=url, data = data) - print("Upload %s -> %s" % (fname, res.text)) \ No newline at end of file + print("Upload %s -> %s" % (fname, res.text)) + diff --git a/examples_book/md.css b/examples_book/md.css index bf1cd53..d931ec0 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -56,15 +56,15 @@ textarea { .picture-left-menu { text-align:left; - padding-left: 20px; - padding-top: 5px; + padding-left: 25px; + padding-top: 10px; margin-bottom: 10px; } .link-menu { text-align: left; font-size: 0.98em; - padding-left: 0px; + padding-left: 15px; display: table-cell; text-align: center; vertical-align: middle; From d21ee3512b5609cdff5c825d11c82ea0ff6b103e Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 15 Sep 2023 17:36:07 +0700 Subject: [PATCH 326/757] no message --- examples_book/deploy_html.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/deploy_html.py b/examples_book/deploy_html.py index 89f192c..5675678 100644 --- a/examples_book/deploy_html.py +++ b/examples_book/deploy_html.py @@ -2,7 +2,7 @@ import requests import os -url = 'http://localhost/deploy/javascript_bookcodes.php' +url = 'http://localhost/deploy/deploy_javascript_bookcodes.php' data = {'token': "@E45!a5;6x76top8$3@spG-+"} From 8f569a91406af8e9bdd970db3719f5537175ee8e Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 16 Sep 2023 08:34:29 +0700 Subject: [PATCH 327/757] Delete examples_book/deploy_html.bat --- examples_book/deploy_html.bat | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 examples_book/deploy_html.bat diff --git a/examples_book/deploy_html.bat b/examples_book/deploy_html.bat deleted file mode 100644 index 5584ee3..0000000 --- a/examples_book/deploy_html.bat +++ /dev/null @@ -1,2 +0,0 @@ -"C:/Users/Adminstrators/anaconda3/python.exe" "C:/xampp/htdocs/javascript/examples_book/deploy_html.py" -pause \ No newline at end of file From 201b23a0141228920eb36cc58220621f194944c4 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 16 Sep 2023 08:34:59 +0700 Subject: [PATCH 328/757] Delete examples_book/deploy_html.py --- examples_book/deploy_html.py | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 examples_book/deploy_html.py diff --git a/examples_book/deploy_html.py b/examples_book/deploy_html.py deleted file mode 100644 index 5675678..0000000 --- a/examples_book/deploy_html.py +++ /dev/null @@ -1,24 +0,0 @@ -# py -m pip install requests -import requests -import os - -url = 'http://localhost/deploy/deploy_javascript_bookcodes.php' - - -data = {'token': "@E45!a5;6x76top8$3@spG-+"} - - - -directory ='./' -for fname in os.listdir(directory): - fulll_filefname = os.path.join(directory, fname) - if os.path.isfile(fulll_filefname) == False: - continue - - if (fname.endswith('.html') and fname != "template.html") or fname == "mylib.js" or fname == "md.css" : - with open(fulll_filefname, 'r', encoding='utf-8') as f: - data['content'] = f.read() - data['filename'] = fname - res = requests.post(url=url, data = data) - print("Upload %s -> %s" % (fname, res.text)) - From ea27b7773412c8cb317e4f936ff9f6c39ed4cfd6 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 16 Sep 2023 08:37:24 +0700 Subject: [PATCH 329/757] no message --- examples_book/.gitignore | 3 ++- examples_book/md2html.js | 42 ---------------------------------------- 2 files changed, 2 insertions(+), 43 deletions(-) diff --git a/examples_book/.gitignore b/examples_book/.gitignore index 5990abf..a9a53dd 100644 --- a/examples_book/.gitignore +++ b/examples_book/.gitignore @@ -1,3 +1,4 @@ node_modules/ *.html -*.json \ No newline at end of file +*.json +deploy* \ No newline at end of file diff --git a/examples_book/md2html.js b/examples_book/md2html.js index b22af08..cc9fb35 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -107,48 +107,6 @@ let files = [ "chapter02", "chapter03", "chapter04","chapter05", "chapter06", } })(); -//genHTML("chapter03"); -//genHTML("chapter04"); -//genHTML("chapter05"); -//genHTML("chapter06"); -//genHTML("chapter07"); -//genHTML("chapter08"); -//genHTML("chapter09"); -//genHTML("chapter10"); -//genHTML("chapter11"); -//genHTML("chapter12"); -//genHTML("chapter13"); -//genHTML("chapter14"); -//genHTML("chapter15"); -//genHTML("chapter16"); -//genHTML("chapter17"); -//genHTML("chapter18"); -//genHTML("chapter19"); -//genHTML("chapter20"); - - -/* -genHTML("chapter02") -.then(() => genHTML("chapter03")) -.then(() => genHTML("chapter04")) -.then(() => genHTML("chapter05")) -.then(() => genHTML("chapter06")) -.then(() => genHTML("chapter07")) -.then(() => genHTML("chapter08")) -.then(() => genHTML("chapter09")) -.then(() => genHTML("chapter10")) -.then(() => genHTML("chapter11")) -.then(() => genHTML("chapter12")) -.then(() => genHTML("chapter13")) -.then(() => genHTML("chapter14")) -.then(() => genHTML("chapter15")) -.then(() => genHTML("chapter16")) -.then(() => genHTML("chapter17")) -.then(() => genHTML("chapter18")) -.then(() => genHTML("chapter19")) -.then(() => genHTML("chapter20")) -*/ - async function countline(fileName){ let count = 0; return eachLine(`${fileName}.md`, function(line, last) { From dff044b8e10bf377783068635d59da67157643ac Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 16 Sep 2023 11:08:32 +0700 Subject: [PATCH 330/757] no message --- examples_book/Chapter13.md | 3 +-- examples_book/mylib.js | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index e55a966..5f342e2 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -620,8 +620,7 @@ console.log(Object.getOwnPropertyDescriptors(obj)); configurable: true }, [Symbol(zoo)]: { value: 3, writable: true, enumerable: true, configurable: true } -} -*/ +} */ ``` ## เมธอด Object.fromEntries() diff --git a/examples_book/mylib.js b/examples_book/mylib.js index a0a4bd1..be69cdc 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -45,7 +45,7 @@ } for(const sym of Object.getOwnPropertySymbols(data)){ // get properties of Symbol - //str += `${sym.toString()}: ${toString(data[sym])}, `; + str += `${sym.toString()}: ${toString(data[sym])}, `; } return (str != "[Arguments] { " ) ? str.slice(0, -2) + " }": "[Arguments] {}"; From 6b6defaf4fad257e6afb80627111a34cc6ddd1e3 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 16 Sep 2023 11:22:08 +0700 Subject: [PATCH 331/757] no message --- examples_book/Chapter13.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index 5f342e2..b0442e6 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -690,11 +690,11 @@ console.log(obj3) // { a: 'zoo', b: 'bar' } ``` ```js -console.log( {...undefined}); // {} -console.log( {...null} ); // {} -console.log( {...123} ); // {} -console.log( {..."abc"} ); // { '0': 'a', '1': 'b', '2': 'c' } -console.log( {...["foo", "bar"]}); // { '0': 'foo', '1': 'bar' } +console.log( {...undefined}); // {} +console.log( {...null} ); // {} +console.log( {...123} ); // {} +console.log( {..."abc"} ); // { 0: 'a', 1: 'b', 2: 'c' } +console.log( {...["foo", "bar"]}); // { 0: 'foo', 1: 'bar' } ``` ## Optional Chaining From 604f34b4e30242797168461e0ec11749c31c05ea Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 16 Sep 2023 11:28:49 +0700 Subject: [PATCH 332/757] no message --- examples_book/Chapter13.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter13.md b/examples_book/Chapter13.md index b0442e6..e35f0f7 100644 --- a/examples_book/Chapter13.md +++ b/examples_book/Chapter13.md @@ -711,7 +711,7 @@ let data = { }; console.log(data.parent.child.name.firstName); // "สมชาย" console.log(data.parent.child.name.surname); // undefined -console.log(data.parent.child.NAME.firstName); // บรรทัด a - เกิด SyntaxError +console.log(data.parent.child.NAME.firstName); // บรรทัด a - เกิด TypeError console.log(data.parent.child.NAME?.firstName); // undefined console.log(data.parent.child.name?.firstName); // "สมชาย" From 2e6725db7766fdec5b5c974cc1da55e666df1fbb Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 16 Sep 2023 23:42:04 +0700 Subject: [PATCH 333/757] no message --- examples_book/md.css | 72 ++++++++++++++++++++++++---------------- examples_book/md2html.js | 2 +- examples_book/mylib.js | 25 +++++++------- 3 files changed, 57 insertions(+), 42 deletions(-) diff --git a/examples_book/md.css b/examples_book/md.css index d931ec0..fe59fc3 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -12,13 +12,13 @@ .main { margin-top: 60px; - margin-left: 160px; - margin-right: 15px; + margin-left: 20%; + margin-right: 20%; } .sale { margin-top: 0px; - margin-left: 160px; + margin-left: 20%; } /*input[type=button], input[type=submit], input[type=reset] {*/ @@ -43,31 +43,50 @@ textarea { margin:3px; } -.left-menu { +.picture-ads { position: fixed; - left: 0; - top: 0; - width: 135px; - height: 100%; - background-color: #ECFFEF; - /*overflow-y: scroll;**/ - overflow: auto; + left: 7%; + top: 10%; + text-align:left; + padding-left: 25px; + z-index: 15; } -.picture-left-menu { - text-align:left; - padding-left: 25px; - padding-top: 10px; - margin-bottom: 10px; +.show-menu{ + position: fixed; + left: 7%; + top: 5; + z-index: 103; } -.link-menu { +.my-btn{ + padding: 5px; + border: 2px solid; + border-color: #e7e7e7; + background: #558415; + color: white; + padding: 12px 28px; + font-size: 16px; + cursor: pointer; +} + +.left-menu { + width: 200%; + height: 100%; + margin-top:15px; + padding-left:20px; + padding-bottom:20px; + background-color: #BDDB94; + /*overflow-y: scroll;**/ + overflow: auto; + z-index: 102; text-align: left; - font-size: 0.98em; - padding-left: 15px; - display: table-cell; - text-align: center; - vertical-align: middle; + font-size: 0.9em; + display: none; +} + +.show-menu:hover .left-menu { + display: block; } .display-result { @@ -95,9 +114,9 @@ div.display-result { position: fixed; left: 0; top:0; - width: 100%; - margin-left: 160px; - z-index: 1000; + text-align: center; + width: 100%; + z-index: 10; } .footer { @@ -119,9 +138,6 @@ div.display-result { .main { margin-left: 10px; } - .header { - margin-left: 10px; - } .sale { margin-left: 10px; } diff --git a/examples_book/md2html.js b/examples_book/md2html.js index cc9fb35..f29c408 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -55,7 +55,7 @@ async function genHTML(fileName){
    - +
    `; lineCodes = ""; diff --git a/examples_book/mylib.js b/examples_book/mylib.js index be69cdc..09da2dc 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -1,4 +1,4 @@ - let resultAreaId = ""; + let _resultAreaId = ""; function toString(data) { if(data == null || data == undefined ) { @@ -101,7 +101,7 @@ } console.log = function(...data){ - let display = document.querySelector(resultAreaId); + let display = document.querySelector(_resultAreaId); for( let d of data){ if( typeof d !== 'string'){ d = toString(d); @@ -126,27 +126,26 @@ display.innerHTML += "
    "; } - function clearDisplay(displayAreaId, textAreaId=undefined) { - let display = document.querySelector(displayAreaId); - display.innerHTML = ""; + function clearDisplay(targetCount) { + let displayResult = document.querySelector(`#displayResult${targetCount}`); + displayResult.innerHTML = ""; - if(textAreaId){ - let textCodeArea = document.querySelector(textAreaId); + let textCodeArea = document.querySelector(`#codeArea${targetCount}`); + if(textCodeArea.classList.contains("run-already")){ textCodeArea.classList.remove("run-already"); textCodeArea.classList.add("notrun"); } } - function runCodeBtn(countTarget) { + function runCodeBtn(targetCount) { + clearDisplay(targetCount); - resultAreaId = `#displayResult${countTarget}`; - clearDisplay(resultAreaId); - - let textCodeArea = document.querySelector(`#codeArea${countTarget}`); + _resultAreaId = `#displayResult${targetCount}`; + let textCodeArea = document.querySelector(`#codeArea${targetCount}`); let codeTxt = textCodeArea.value; if( codeTxt.includes("")>0 ) { - document.querySelector(`#form${countTarget}`).submit(); + document.querySelector(`#form${targetCount}`).submit(); } else { try { From 8f9c596f9517941841cadd3bd31562d0f895b569 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 17 Sep 2023 13:24:02 +0700 Subject: [PATCH 334/757] no message --- examples_book/.gitignore | 3 ++- examples_book/md.css | 13 +++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/examples_book/.gitignore b/examples_book/.gitignore index a9a53dd..d3fb275 100644 --- a/examples_book/.gitignore +++ b/examples_book/.gitignore @@ -1,4 +1,5 @@ node_modules/ *.html *.json -deploy* \ No newline at end of file +deploy* +*.bat \ No newline at end of file diff --git a/examples_book/md.css b/examples_book/md.css index fe59fc3..df08b48 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -45,7 +45,7 @@ textarea { .picture-ads { position: fixed; - left: 7%; + right: 7%; top: 10%; text-align:left; padding-left: 25px; @@ -54,14 +54,14 @@ textarea { .show-menu{ position: fixed; - left: 7%; + left: 2%; top: 5; z-index: 103; } -.my-btn{ +.my-btn-menu { padding: 5px; - border: 2px solid; + border: ๅpx solid; border-color: #e7e7e7; background: #558415; color: white; @@ -71,7 +71,7 @@ textarea { } .left-menu { - width: 200%; + width: 120%; height: 100%; margin-top:15px; padding-left:20px; @@ -114,7 +114,8 @@ div.display-result { position: fixed; left: 0; top:0; - text-align: center; + padding-left: 20%; + text-align: left; width: 100%; z-index: 10; } From 07373dada78bf3aa5c9ad59b94bd504044fce3b1 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 17 Sep 2023 13:29:53 +0700 Subject: [PATCH 335/757] Delete examples_book/run_md2html.bat --- examples_book/run_md2html.bat | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 examples_book/run_md2html.bat diff --git a/examples_book/run_md2html.bat b/examples_book/run_md2html.bat deleted file mode 100644 index 9361ce1..0000000 --- a/examples_book/run_md2html.bat +++ /dev/null @@ -1,3 +0,0 @@ -node "C:\xampp\htdocs\javascript\examples_book\md2html.js" -start http://localhost/javascript/examples_book/ -pause \ No newline at end of file From eb01d2781199d765471e1d81fc423b1313a3c874 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 17 Sep 2023 19:16:28 +0700 Subject: [PATCH 336/757] no message --- examples_book/md.css | 60 ++++++++++++++++++++++++---------------- examples_book/md2html.js | 31 +++++++++++++-------- 2 files changed, 55 insertions(+), 36 deletions(-) diff --git a/examples_book/md.css b/examples_book/md.css index df08b48..149fdbd 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -39,41 +39,62 @@ textarea { width: 100%; } -.describe { +.describe-1 { + margin:3px; +} + +.describe-2 { margin:3px; } .picture-ads { position: fixed; right: 7%; - top: 10%; + bottom: 2%; text-align:left; - padding-left: 25px; + padding-left: 0; z-index: 15; } -.show-menu{ +.header { + background-color: #3CB371; position: fixed; - left: 2%; - top: 5; + width: 100%; + height: 7%; + left: 0; + top:0; + z-index: 10; +} + +.headline { + padding-left: 20%; + text-align: left; + font-weight: 500; + font-size: 1.5em; +} + +.main-menu{ + position: fixed; + left: 7%; + top: 14; z-index: 103; } -.my-btn-menu { - padding: 5px; - border: ๅpx solid; - border-color: #e7e7e7; +.btn-menu { + border: 1px solid; + border-color: #508010; background: #558415; color: white; - padding: 12px 28px; - font-size: 16px; + padding: 0.7rem 28px; + font-size: 15px; cursor: pointer; } .left-menu { width: 120%; height: 100%; - margin-top:15px; + margin-top:12px; + padding-top:15px; padding-left:20px; padding-bottom:20px; background-color: #BDDB94; @@ -85,7 +106,7 @@ textarea { display: none; } -.show-menu:hover .left-menu { +.main-menu:hover .left-menu { display: block; } @@ -109,16 +130,7 @@ div.display-result { word-wrap: break-word; } -.header { - background-color: #3CB371; - position: fixed; - left: 0; - top:0; - padding-left: 20%; - text-align: left; - width: 100%; - z-index: 10; -} + .footer { background-color: #3CB371; diff --git a/examples_book/md2html.js b/examples_book/md2html.js index f29c408..6d61b47 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -35,7 +35,7 @@ async function genHTML(fileName){ return eachLine(`${fileName}.md`, function(line, last) { //line = line.trim(); - if(line.startsWith("```js") || line.startsWith("```html")){ + if(line.startsWith("```js") || line.startsWith("```html")){ // start codes isCode = true; count++; if(line.startsWith("```js")){ @@ -44,7 +44,7 @@ async function genHTML(fileName){ btnValue = "Open HTML"; } - } else if(line.startsWith("```")){ + } else if( isCode==true && line.startsWith("```")){ // reach to end of codes isCode = false const rows = lineCodes.split('\n').length-1; @@ -60,17 +60,24 @@ async function genHTML(fileName){ lineCodes = ""; - } else if(line.startsWith("#")) { - line = line.replace(/#/g, ""); - if(line.includes("โค้ดบทที่")) { - headline = line; - } else { - allLines += `

    ${line}

    `; - } + } else if(isCode==false) { // not codes - } else if(line.startsWith("*") && !line.startsWith("*/")){ - line = line.replace(/\*/g, ""); - allLines += `

    ${line}

    `; + if(line.startsWith("#")) { + line = line.replace(/#/g, ""); + if(line.includes("โค้ดบทที่")) { + headline = line; + } else { + allLines += `

    ${line}

    `; + } + + } else if(line.startsWith("*") && !line.startsWith("*/")){ + line = line.replace(/\*/g, "\u2022 "); + allLines += `

    ${line}

    `; + + } else { + allLines += `

    ${line}

    `; + } + } if(isCode && !line.startsWith("```js") && !line.startsWith("```html")){ From d3995ce9cf4d11fe66444954dede2dcfc5c407f2 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 07:57:34 +0700 Subject: [PATCH 337/757] no message --- examples_book/Chapter14.md | 23 +++++++++++------------ examples_book/md.css | 31 +++++++++++++++++++++++-------- 2 files changed, 34 insertions(+), 20 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index ac6df17..50333c9 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -64,17 +64,6 @@ let carObj = new Car("red"); console.log(carObj.color); // "red" (ไม่แนะนำให้เข้าถึงโดยตรงด้วยวิธีนี้) ``` -```js -class Car { - intField(param) { - this.color = param; // บรรทัด a - } -} -let carObj = new Car(); -carObj.intField("red") // this.color ถูกสร้างขึ้นมา -console.log(carObj.color); // "red" (ไม่แนะนำให้เข้าถึงโดยตรงด้วยวิธีนี้) -``` - ```js let c1 = new Car("red"); let c2 = new Car("black"); @@ -103,11 +92,21 @@ new Car(); class Car { color; // undefined var speed = 100; // ทำไม่ได้ - let weight = 50; // ทำไม่ได้ + let weight = 50; // ทำไม่ได้ const height = 1.5; // ทำไม่ได้ } ``` +```js +class Car { + intField(param) { + this.color = param; // บรรทัด a + } +} +let carObj = new Car(); +carObj.intField("red") // this.color ถูกสร้างขึ้นมา +console.log(carObj.color); // "red" (ไม่แนะนำให้เข้าถึงโดยตรงด้วยวิธีนี้) +``` ### ประกาศเมธอด diff --git a/examples_book/md.css b/examples_book/md.css index 149fdbd..5c8c7bc 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -14,6 +14,7 @@ margin-top: 60px; margin-left: 20%; margin-right: 20%; + overflow:auto; } .sale { @@ -47,13 +48,18 @@ textarea { margin:3px; } -.picture-ads { +.ads { position: fixed; - right: 7%; - bottom: 2%; + /*right: 7%;*/ + right:35; + top: 80; text-align:left; - padding-left: 0; - z-index: 15; + /*padding-left: 0;*/ + z-index: 15; +} + +.img-ads { + width: 200; } .header { @@ -75,9 +81,10 @@ textarea { .main-menu{ position: fixed; - left: 7%; - top: 14; + left: 5; + top: 80; z-index: 103; + } .btn-menu { @@ -85,9 +92,10 @@ textarea { border-color: #508010; background: #558415; color: white; - padding: 0.7rem 28px; + padding: 0.7rem 5rem; font-size: 15px; cursor: pointer; + } .left-menu { @@ -156,5 +164,12 @@ div.display-result { } .footer { display: block; + } + .ads { + display: none; + } + .main-menu { + display: none; } + } \ No newline at end of file From d2ee801b118c42b60a1802989b013cdeb2bb77ee Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 07:57:50 +0700 Subject: [PATCH 338/757] no message --- examples_book/Chapter14.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 50333c9..0ac7851 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -62,9 +62,7 @@ class Car { } let carObj = new Car("red"); console.log(carObj.color); // "red" (ไม่แนะนำให้เข้าถึงโดยตรงด้วยวิธีนี้) -``` -```js let c1 = new Car("red"); let c2 = new Car("black"); let c3 = new Car("white"); From b4e24cba2910cbfc8f114b36500be5c9132aeb6b Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 17:31:50 +0700 Subject: [PATCH 339/757] no message --- examples_book/Chapter14.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 0ac7851..4f54f94 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -89,9 +89,9 @@ new Car(); ```js class Car { color; // undefined - var speed = 100; // ทำไม่ได้ - let weight = 50; // ทำไม่ได้ - const height = 1.5; // ทำไม่ได้ + var speed = 100; // ทำไม่ได้ เกิด SyntaxError + let weight = 50; // ทำไม่ได้ เกิด SyntaxError + const height = 1.5; // ทำไม่ได้ เกิด SyntaxError } ``` From e3eba11bc75e74990339a7fc3286027328d115c3 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 17:39:29 +0700 Subject: [PATCH 340/757] no message --- examples_book/Chapter14.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 4f54f94..f7ee29d 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -146,7 +146,7 @@ carObj.drive(); // "Stop a car" * ตัวอย่างที่ 1 ```js -let car = new Car(); // จะเกิด error เพราะมองไม่เห็น Car ที่ประกาศอยู่ข้างล่าง +let car = new Car(); // จะเกิด ReferenceError เพราะมองไม่เห็น Car ที่ประกาศอยู่ข้างล่าง class Car { // คลาสจะถูกมองเห็นตั้งแต่บรรทัดนี้เป็นต้นไป // สมาชิกคลาส } @@ -157,7 +157,7 @@ class Car { // คลาสจะถูกมองเห็นตั้งแ ```js class Car { } -let car = Car(); // จะเกิด error เพราะไม่ใช่ new +let car = Car(); // จะเกิด TypeError เพราะไม่ใช่ new ``` * ตัวอย่างที่ 3 From 909ad0d29c3eb6f2ff7f0765619ad28f516a6c2e Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 17:46:31 +0700 Subject: [PATCH 341/757] no message --- examples_book/Chapter14.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index f7ee29d..2f416f5 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -375,9 +375,7 @@ console.log(carObj.speed); // 100 carObj.speed = 60; console.log(carObj.speed); // 60 console.log(carObj.speedValue); // 60 (เข้าถึงได้ แต่ไม่ควรเข้าถึงด้วยวิธีนี้ โดยตรง) -``` -```js let desc = Object.getOwnPropertyDescriptor(Car.prototype, "speed"); console.log("get" in desc); // true console.log("set" in desc); // true From 2f47aa264f10a2f0391803e8f4390a3db81c9273 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 17:49:44 +0700 Subject: [PATCH 342/757] no message --- examples_book/Chapter14.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 2f416f5..7f75cec 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -505,9 +505,7 @@ let carObj = new Car(); for (let prop in carObj) { console.log(prop) // จะไม่เข้ามาทำงานในประโยค for } -``` -```js for (let prop in Car) { console.log(prop) } From b76ed9291da3853b2e170e4182efb53abe4db178 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 17:59:52 +0700 Subject: [PATCH 343/757] no message --- examples_book/Chapter14.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 7f75cec..c95266f 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1004,7 +1004,7 @@ class Car { } let carObj = new Car(); console.log(carObj.speed); // undefined -console.log(carObj.#speed); // เกิด error +console.log(carObj.#speed); // เกิด SyntaxError ``` ```js From d092801ee9ed6ce77d331950898e20903c90350c Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 18:01:59 +0700 Subject: [PATCH 344/757] no message --- examples_book/Chapter14.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index c95266f..94bca18 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1021,7 +1021,7 @@ let carObj = new Car(); // เมื่ออินสแตนซ์ถู class Car { constuctor() { this.speed = 100; // บรรทัด a -- ทำงานได้ปกติ - this.#value = 1; // บรรทัด b -- เกิด error + this.#value = 1; // บรรทัด b -- เกิด SyntaxError } } ``` From 0c583a673fba2034c5dcd3214c17b8b3b0d9b67a Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 18:03:41 +0700 Subject: [PATCH 345/757] no message --- examples_book/Chapter14.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 94bca18..966d331 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1038,7 +1038,7 @@ class Car { }*/ } let carObj = new Car(); -carObj.#drive(); // เกิด error +carObj.#drive(); // เกิด SyntaxError ``` ### ฟิวด์สแตติกที่เป็น private From ba378302f05b497e0aaa9f6d3fa79215a94b30a5 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 18:04:59 +0700 Subject: [PATCH 346/757] no message --- examples_book/Chapter14.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 966d331..ad28c5d 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1051,7 +1051,7 @@ class Car { }*/ } console.log(Car.speed); // undefined -console.log(Car.#speed ); // error +console.log(Car.#speed ); // SyntaxError ``` ### เมธอดสแตติกที่เป็น private From 260ba16e45f2dfa154fb935d78e8cce2a1f50df6 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 19:08:14 +0700 Subject: [PATCH 347/757] no message --- examples_book/Chapter14.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index ad28c5d..96072be 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1065,7 +1065,7 @@ class Car { console.log( #drive in Car ); // true }*/ } -Car.#drive(); // เกิด error +Car.#drive(); // เกิด SyntaxError ``` ```js From f98cbf13fda73e9a05fe963b93e3c99d70783d68 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 19:10:44 +0700 Subject: [PATCH 348/757] no message --- examples_book/Chapter14.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 96072be..cc52de6 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1214,7 +1214,7 @@ class SuperClass { } class MyClass extends SuperClass { showMsg() { - console.log("Result:", this.#superField); // บรรทัด a -- เกิด error + console.log(“Result:”, this.#superField); // บรรทัด a -- เกิด SyntaxError } } ``` From b769d4ba3c9b876b404fa13eda3c81814063ea62 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 19:13:21 +0700 Subject: [PATCH 349/757] no message --- examples_book/Chapter14.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index cc52de6..82a46d9 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1214,7 +1214,7 @@ class SuperClass { } class MyClass extends SuperClass { showMsg() { - console.log(“Result:”, this.#superField); // บรรทัด a -- เกิด SyntaxError + console.log("Result:", this.#superField); // บรรทัด a -- เกิด SyntaxError } } ``` From f5ffc3abdb580045b92b9d14f852a8d1f2fddc66 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 19:42:46 +0700 Subject: [PATCH 350/757] no message --- examples_book/Chapter14.md | 2 +- examples_book/mylib.js | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 82a46d9..343f72c 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1562,7 +1562,7 @@ class SuperClass { class MyClass extends SuperClass { // สืบทอด showMsg() มาด้วย } -SuperClass.showMsg(); // error +MyClass.showMsg(); // TypeError ``` ```js diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 09da2dc..e45979d 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -115,8 +115,8 @@ throw new ReferenceError("arguments is not defined"); } - if(d.startsWith('#')){ - d = d.substring(1); // เมื่อเจอ # นำหน้า เป็นการบอกว่าต้องการให้สตริง html มันทำงานในเว็บเบราเซอร์ + if(d.startsWith('@html')){ + d = d.substring(5); // เมื่อเจอ @html นำหน้า เป็นการบอกว่าต้องการให้สตริง html มันทำงานในเว็บเบราเซอร์ } else { d = decodeHtml(d); // ไม่ต้องการให้สตริง html ทำงานในเว็บเบราเซอร์ } @@ -149,7 +149,7 @@ } else { try { - console.log("#ผลการรัน:"); + console.log("@htmlผลการรัน:"); codeTxt = codeTxt.replaceAll(/-false/g, "'@negzero'"); // fix bugs ถ้าเป็นเลข -false ต้องแสดง -0 เลยต้องแทนด้วย '@negzero' //codeTxt = codeTxt.replaceAll(/-0.(?++++Error++++"); - console.log("#Uncaught " + e + ""); + console.log("@html++++Error++++"); + console.log("@htmlUncaught " + e + ""); if(e.stack) { - console.log("#" + e.stack + ""); + console.log("@html" + e.stack + ""); } } From c2608e95479953bc00be6b32a80051647c798523 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 19:48:25 +0700 Subject: [PATCH 351/757] no message --- examples_book/Chapter14.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 343f72c..97b7ae7 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1575,7 +1575,7 @@ class SuperClass { class MyClass extends SuperClass { // สืบทอด showMsg() มาด้วย } -SuperClass.showMsg(); // 1 +MyClass.showMsg(); // 1 ``` ## เบื้องหลังสมาชิกของอินสแตนซ์ From 4ad9e0535e7885af0deed5923efb6de349173fb3 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 20:15:34 +0700 Subject: [PATCH 352/757] no message --- examples_book/Chapter14.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 97b7ae7..a773922 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1592,7 +1592,7 @@ class MyClass { set pubFieldValue(field) { } } let inst = new MyClass(); -console.log(Object.keys(inst)) // [ ‘pubField’ ] +console.log(Object.keys(inst)) // [ 'pubField' ] ``` ```js @@ -1606,7 +1606,7 @@ class MyClass { static get pubFieldValue() { } static set pubFieldValue(field) { } } -console.log(Object.keys(MyClass)) // [ ‘pubField’ ] +console.log(Object.keys(MyClass)) // [ 'pubField' ] ``` ### การแชร์เมธอดระหว่างอินสแตนซ์ From 3288c2e5028502d3a4daea6eff833ecd52cf4cb5 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 22:23:48 +0700 Subject: [PATCH 353/757] no message --- examples_book/Chapter14.md | 2 +- examples_book/md.css | 20 +++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index a773922..0af3894 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -182,7 +182,7 @@ for(let c in car) { ```js class Car { constructor() { - Car = 100; // จะเกิด error + Car = 100; // ไม่สามารถเปลี่ยนแปลง Car ได้เลย } } Car = 100; // กำหนดค่าใหม่ให้กับตัวแปร Car จากข้างนอกคลาส จะสามารถทำได้ diff --git a/examples_book/md.css b/examples_book/md.css index 5c8c7bc..cf09e68 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -11,7 +11,7 @@ } .main { - margin-top: 60px; + margin-top: 70px; margin-left: 20%; margin-right: 20%; overflow:auto; @@ -52,7 +52,7 @@ textarea { position: fixed; /*right: 7%;*/ right:35; - top: 80; + top: 70; text-align:left; /*padding-left: 0;*/ z-index: 15; @@ -66,7 +66,7 @@ textarea { background-color: #3CB371; position: fixed; width: 100%; - height: 7%; + height: 8%; left: 0; top:0; z-index: 10; @@ -74,6 +74,7 @@ textarea { .headline { padding-left: 20%; + margin-top: 5px; text-align: left; font-weight: 500; font-size: 1.5em; @@ -81,19 +82,20 @@ textarea { .main-menu{ position: fixed; - left: 5; - top: 80; + left: 10; + top: 15; z-index: 103; } .btn-menu { border: 1px solid; - border-color: #508010; - background: #558415; + border-color: #5A8A1A; + border-radius: 20px; + background: #558415; color: white; - padding: 0.7rem 5rem; - font-size: 15px; + padding: 0.5rem 3rem; + font-size: 14px; cursor: pointer; } From 4f1ec435235dc791a82503068a174ff981734499 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 22:59:31 +0700 Subject: [PATCH 354/757] no message --- examples_book/Chapter14.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 0af3894..4f9b7f2 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -157,7 +157,7 @@ class Car { // คลาสจะถูกมองเห็นตั้งแ ```js class Car { } -let car = Car(); // จะเกิด TypeError เพราะไม่ใช่ new +let car = Car(); // จะเกิด TypeError เพราะไม่ได้ใช้ new ``` * ตัวอย่างที่ 3 From a6892bb6219f1e086ae15338848a4a0380ab0b65 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 23:25:06 +0700 Subject: [PATCH 355/757] no message --- examples_book/Chapter14.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 4f9b7f2..2cf4a1b 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -675,9 +675,10 @@ class Calculation { } class Division extends Calculation { constructor() { - // ปราศจาก super(); จะเกิด error + // ปราศจากการเรียกใช้ super() } } +new Division(); // เกิด ReferenceError ``` ## การสืบทอดคลาสหลายระดับชั้น From ce46cc2d4d4ee3a8102d2000110664390d2bae8c Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 18 Sep 2023 23:46:53 +0700 Subject: [PATCH 356/757] no message --- examples_book/Chapter14.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter14.md b/examples_book/Chapter14.md index 2cf4a1b..e0afca6 100644 --- a/examples_book/Chapter14.md +++ b/examples_book/Chapter14.md @@ -1528,7 +1528,7 @@ class MyClass { } // แสดงผลลัพธ์ // "myFiled1" -// "Static line a" +// "Static line b" // "myFiled2" // "Static line d" ``` From 1ae9463fdf7f97cc1cf28604b99db4e0aa137a48 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 06:23:01 +0700 Subject: [PATCH 357/757] no message --- examples_book/Chapter15.md | 5 +++++ examples_book/md.css | 13 ++++++++----- examples_book/md2html.js | 8 ++++++-- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 00d2c90..f5bbd0c 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -195,6 +195,11 @@ console.log(array.includes(+0)); // true ### flat() +หมายเหตุ ในหัวข้อ flat() โค้ดต่อไปนี้จะเป็นการประกาศตัวแปร arr1 ขึ้นมา จึงต้องก็อปปี้ไปรันในโค้ดถัดๆ ไปด้วย มิฉะนั้นจะหาตัวแปร arr1 ไม่เจอ +```js +let arr1 = [1, 2, 3, [4, 5, 6, [7, 8, 9, [10, 11, 12]]]]; +``` + ```js let arr2 = arr1.flat(); // arr2 มีสมาชิกซ้อนกัน 3 ระดับ console.log(arr2); // [ 1, 2, 3, 4, 5, 6, [ 7, 8, 9, [ 10, 11, 12 ] ] ] diff --git a/examples_book/md.css b/examples_book/md.css index cf09e68..510a0c4 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -1,3 +1,7 @@ +body { + +} + .notrun { background-color: #F0F0F0; margin-top: 3px; @@ -35,18 +39,17 @@ } textarea { - font-size: 13em; + font-size: 1.0em; background-color: #F5F5F5; width: 100%; } -.describe-1 { +.describe { margin:3px; + font-family: 'Noto Sans Thai', sans-serif; + font-size:16px; } -.describe-2 { - margin:3px; -} .ads { position: fixed; diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 6d61b47..9f5ec1f 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -72,10 +72,14 @@ async function genHTML(fileName){ } else if(line.startsWith("*") && !line.startsWith("*/")){ line = line.replace(/\*/g, "\u2022 "); - allLines += `

    ${line}

    `; + allLines += `

    ${line}

    `; + + } else if(line.startsWith("หมายเหตุ")){ + line = line.replace(/หมายเหตุ/g, "หมายเหตุ"); + allLines += `

    ${line}

    `; } else { - allLines += `

    ${line}

    `; + allLines += `

    ${line}

    `; } } From 1cd16cd4c697449254dc6d54f6bb254212a8c477 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 06:42:17 +0700 Subject: [PATCH 358/757] no message --- examples_book/Chapter15.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index f5bbd0c..9996f10 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -21,10 +21,10 @@ let array1 = Array.from(a); console.log(array1); // [ 1, 2, 3 ] let str = "456"; let array2 = Array.from(str); -console.log(array2); // ["4", "5", "6"] +console.log(array2); // [ '4', '5', '6' ] let set = new Set([7, 8, 9]); let array3 = Array.from(set); -console.log(array3); // [7, 8, 9] +console.log(array3); // [ 7, 8, 9 ] ``` ```js @@ -195,7 +195,7 @@ console.log(array.includes(+0)); // true ### flat() -หมายเหตุ ในหัวข้อ flat() โค้ดต่อไปนี้จะเป็นการประกาศตัวแปร arr1 ขึ้นมา จึงต้องก็อปปี้ไปรันในโค้ดถัดๆ ไปด้วย มิฉะนั้นจะหาตัวแปร arr1 ไม่เจอ +หมายเหตุ โค้ดต่อไปนี้จะเป็นการประกาศตัวแปร arr1 ขึ้นมา จึงต้องก็อปปี้ไปรันในโค้ดถัดๆ ไป ภายในในหัวข้อ flat()ด้วย มิฉะนั้นจะหาตัวแปร arr1 ไม่เจอ ```js let arr1 = [1, 2, 3, [4, 5, 6, [7, 8, 9, [10, 11, 12]]]]; ``` From 8fee6595df7562b5b99fbd1d8ab50ad584993923 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 06:45:11 +0700 Subject: [PATCH 359/757] no message --- examples_book/Chapter15.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 9996f10..779b4d1 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -40,14 +40,14 @@ console.log(array); // [ undefined, "foo", "bar", undefined ] ```js let a = Array.from( { length: 4 } ); // มีสมาชิกทั้งหมด 4 ตัว ที่มีค่าเป็น undefined -console.log(a); // [undefined, undefined, undefined, undefined] +console.log(a); // [ undefined, undefined, undefined, undefined ] ``` ```js let b = Array( 4 ); console.log(b); // [ <4 empty items> ] let c = Array.apply( null, { length: 4 } ); -console.log(c); // [undefined, undefined, undefined, undefined] +console.log(c); // [ undefined, undefined, undefined, undefined ] ``` ```js From e631139494955374c2edd4998318cd9a6acf879f Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 07:29:19 +0700 Subject: [PATCH 360/757] no message --- examples_book/mylib.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/examples_book/mylib.js b/examples_book/mylib.js index e45979d..98fa28d 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -13,6 +13,7 @@ return (str != `Map(${data.size}) { ` ) ? str.slice(0, -2) + ' }': `Map(${data.size}) {}`; } else if( data instanceof Array){ + alert(Object.getPrototypeOf(data)); let str = "[ "; for(const value of data) { str += ""+ toString(value) + ", "; @@ -37,7 +38,8 @@ } else if( typeof data === 'object'){ - if( data.toString().includes("Arguments")){ + if( data.toString().includes("Arguments")){ + //let str = `Arguments(${data.length}) { ` let str = "[Arguments] { "; for(const [key, value] of Object.entries(data)){ @@ -49,6 +51,7 @@ } return (str != "[Arguments] { " ) ? str.slice(0, -2) + " }": "[Arguments] {}"; + //return (str != `Arguments(${data.length}) { ` ) ? str.slice(0, -2) + " }": `Arguments(${data.length}) {}`; } else { let str = "{ "; From a3a82bcb79c0647d580f0387e79007e8595732b4 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 10:11:01 +0700 Subject: [PATCH 361/757] no message --- examples_book/Chapter15.md | 2 +- examples_book/mylib.js | 29 ++++++++++++++++++++--------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 779b4d1..b573d1c 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -35,7 +35,7 @@ let obj = { }; let array = Array.from(obj); console.log(obj.length); // 4 -console.log(array); // [ undefined, "foo", "bar", undefined ] +console.log(array); // [ undefined, 'foo', 'bar', undefined ] ``` ```js diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 98fa28d..674a7e1 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -1,19 +1,30 @@ let _resultAreaId = ""; + function collectionToStr(data) { + let name = data.toString().split(/\s/g)[1].slice(0,-1); + let strBegin = `${name}(${data.size}) { `; + + let str = strBegin; + for(const [key, value] of data.entries()){ + str += `'${key}' => ${toString(value)}, `; + } + + return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; + } + function toString(data) { if(data == null || data == undefined ) { return ""+ data; - } else if (data instanceof Map) { - let str = `Map(${data.size}) { `; - for(const [key, value] of data.entries()){ - str += `'${key}' => ${toString(value)}, `; - } - - return (str != `Map(${data.size}) { ` ) ? str.slice(0, -2) + ' }': `Map(${data.size}) {}`; + } else if (data instanceof Map || data instanceof Set) { + return collectionToStr(data); } else if( data instanceof Array){ - alert(Object.getPrototypeOf(data)); + if(data.length>0 && !(0 in data)) { + return `[ <${data.length} empty items> ]`; + + } + let str = "[ "; for(const value of data) { str += ""+ toString(value) + ", "; @@ -68,7 +79,7 @@ } } else { - return String(data); // recursive + return String(data); // stop recursive } } From ac21b32c7ca03c235db601891b19b1d0859ac92f Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 13:29:24 +0700 Subject: [PATCH 362/757] no message --- examples_book/Chapter15.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index b573d1c..3bbfb83 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -56,17 +56,17 @@ let obj = { 1: "foo", 2: "bar" }; -let toUpper = function (value,index){ // ฟังก์ชั่นคอลแบ็ค +let toUpper = function (value,index) { // ฟังก์ชั่นคอลแบ็ค if (typeof value == "string") { - return value.toUpperCase(); // รีเทิร์นสตริงตัวพิมพ์ใหญ่ + return value.toUpperCase(); // รีเทิร์นสตริงตัวพิมพ์ใหญ่ } else { return "index_" + index; // รีเทิร์นข้อความที่ขึ้นต้นด้วยคำว่า "index_" แล้วตามด้วยอินเด็กซ์ } }; let array = Array.from( obj, toUpper ); console.log(array); -// จะแปลงจาก [ undefined, "foo", "bar", undefined ] -// ให้กลายมาเป็น [ "index_0", "FOO", "BAR", "index_3" ] +// จะแปลงจาก [ undefined, 'foo', 'bar', undefined ] +// ให้กลายมาเป็น [ 'index_0', 'FOO', 'BAR', 'index_3' ] ``` ```js From abd64cfe3644e2a6a3b2125845343797605b7e14 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 13:32:31 +0700 Subject: [PATCH 363/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 3bbfb83..f032e56 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -79,7 +79,7 @@ let array = Array.from( obj, function (value,index) { // console.log(this === obj); // true return this[index]; },obj); // อากิวเมนต์ตัวที่สาม -console.log(array); // [ undefined, "foo", "bar", undefined ] +console.log(array); // [ undefined, 'foo', 'bar', undefined ] ``` ### copyWithin() From 3899f138837163b3d61f2332636630f4a7fa6a74 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 13:40:46 +0700 Subject: [PATCH 364/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index f032e56..3a9bc65 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -106,7 +106,7 @@ console.log(a4); // [ 3, 4, 2, 3, 4, 5 ] ```js let array = Array.of("a", "b", "c", "d"); -console.log(array); // ["a", "b", "c", "d"]; +console.log(array); // [ 'a', 'b', 'c', 'd' ] array.fill( 1 ); console.log(array); // [ 1, 1, 1, 1 ] ``` From 820dddb5c3772f4719decbc3457738ec8f002719 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 14:12:18 +0700 Subject: [PATCH 365/757] no message --- examples_book/Chapter15.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 3a9bc65..4e34ade 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -126,21 +126,21 @@ console.log(array); // [ null, 10, 10, 10, null ] ```js let a = ["red", "green", "blue", "yellow"]; function search(value, index, array) { // ฟังก์ชั่นคอลแบ็ค - //console.log(array); // ["red", "green", "blue", "yellow"] + //console.log(array); // [ 'red', 'green', 'blue', 'yellow' ] return value == "blue"; } let result = a.find(search); -console.log(result); // "blue" +console.log(result); // 'blue' ``` ```js let a = ["red", "green", "blue", "yellow"]; let result = a.find( function (value, index, array) { - //console.log(array); // ["red", "green", "blue", "yellow"] + //console.log(array); // [ 'red', 'green', 'blue', 'yellow' ] //console.log(this === a); // true return this[index] == "blue"; }, a); // อากิวเมนต์ตัวที่สอง -console.log(result); // "blue" +console.log(result); // 'blue' ``` ### findIndex() From 443a8abd0e87faa294fa4afaaf41482534a0b42e Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 14:42:07 +0700 Subject: [PATCH 366/757] no message --- examples_book/Chapter15.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 4e34ade..d57096b 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -148,7 +148,7 @@ console.log(result); // 'blue' ```js let a = ["red", "green", "blue", "yellow"]; function search (value ,index, array) { // ฟังก์ชั่นคอลแบ็ค - // console.log(array); // ["red", "green", "blue", "yellow"] + // console.log(array); // [ 'red', 'green', 'blue', 'yellow' ] return value == "blue"; }; let result = a.findIndex( search ); @@ -158,7 +158,7 @@ console.log(result); // 2 ```js let a = ["red", "green", "blue", "yellow"]; let result = a.findIndex( function (value, index, array){ - // console.log(array); // ["red", "green", "blue", "yellow"] + // console.log(array); // [ 'red', 'green', 'blue', 'yellow' ] // console.log(this === a); // true return this[index] == "blue"; }, a); // อากิวเมนต์ตัวที่สอง From 950ede1481c96326e0ef0fc8fd3be3ad2a47c79c Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 14:58:16 +0700 Subject: [PATCH 367/757] no message --- examples_book/Chapter15.md | 2 +- examples_book/mylib.js | 43 ++++++++++++++++++++++---------------- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index d57096b..edf85f7 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -363,7 +363,7 @@ set.add( undefined ); set.add( undefined ); set.add({}); // บรรทัด a set.add({}) // บรรทัด b -console.log(set); // Set {1, "1", true, null, undefined, Object {}, Object {}} +console.log(set); // Set { 1, "1", true, null, undefined, Object {}, Object {} } console.log(set.size); // 7 ``` diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 674a7e1..bb3b40d 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -1,28 +1,34 @@ let _resultAreaId = ""; - function collectionToStr(data) { - let name = data.toString().split(/\s/g)[1].slice(0,-1); - let strBegin = `${name}(${data.size}) { `; - - let str = strBegin; - for(const [key, value] of data.entries()){ - str += `'${key}' => ${toString(value)}, `; - } - - return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; - } - function toString(data) { if(data == null || data == undefined ) { return ""+ data; - } else if (data instanceof Map || data instanceof Set) { - return collectionToStr(data); + } else if (data instanceof Map) { + let name = data.toString().split(/\s/g)[1].slice(0,-1); + let strBegin = `${name}(${data.size}) { `; + + let str = strBegin; + for(const [key, value] of data.entries()){ + str += `'${key}' => ${toString(value)}, `; + } + + return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; + + } else if(data instanceof Set) { + let name = data.toString().split(/\s/g)[1].slice(0,-1); + let strBegin = `${name}(${data.size}) { `; + + let str = strBegin; + for(const [key, value] of data.entries()){ + str += `${toString(value)}, `; + } + + return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; } else if( data instanceof Array){ if(data.length>0 && !(0 in data)) { - return `[ <${data.length} empty items> ]`; - + return `[ <${data.length} empty items> ]`; } let str = "[ "; @@ -51,7 +57,8 @@ if( data.toString().includes("Arguments")){ //let str = `Arguments(${data.length}) { ` - let str = "[Arguments] { "; + let strBegin = "[Arguments] { "; + let str = strBegin; for(const [key, value] of Object.entries(data)){ str += `'${key}': ${toString(value)}, `; @@ -61,7 +68,7 @@ str += `${sym.toString()}: ${toString(data[sym])}, `; } - return (str != "[Arguments] { " ) ? str.slice(0, -2) + " }": "[Arguments] {}"; + return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; //return (str != `Arguments(${data.length}) { ` ) ? str.slice(0, -2) + " }": `Arguments(${data.length}) {}`; } else { From 301a46efd5c3d87ac155b3cbadb2b17e1d20e0aa Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 15:00:22 +0700 Subject: [PATCH 368/757] no message --- examples_book/Chapter15.md | 2 +- examples_book/promotion_cover_book_156854.png | Bin 0 -> 1371251 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 examples_book/promotion_cover_book_156854.png diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index edf85f7..25390ce 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -348,7 +348,7 @@ let set = new Set(); set.add( 1 ); set.add("2"); set.add({id : 1}); -console.log(set); // Set {1, "2", Object {id: 1}} +console.log(set); // Set(3) {1, "2", Object {id: 1}}} ``` ```js diff --git a/examples_book/promotion_cover_book_156854.png b/examples_book/promotion_cover_book_156854.png new file mode 100644 index 0000000000000000000000000000000000000000..a76ec655b60b0939ba0ae9b3b6c40d93f7922154 GIT binary patch literal 1371251 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 z%0A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ᕳW*kqC-8}`FF^0Y*C=EGO?BniMo6t#HXG3 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%0D>5K;*_i9$EYvS7X^w z&vpK1S#t(aPE)dj#$O4d@HCEASjb3?*`BoehVg7ysYjL%F)j6@_uv)g)H~vlp-)=PWAo!gw(|IdEg1J23h_%Q!PNi; z6#JF?Ro=%jbJ;0I82ixh4+iu6LFah{dJTL(&WoS{Hut6BWwNPC*+nP-d18FEghm>L zSwCz7AyPKH;3m|q=B@3UbY>e@w2I&Ur|($@YzDEK`{QROuafO%o=OdclmmBTO|*3@ zJXK;4j%4>=`5TDb_8^l#G-S%Kf8fZjU@03Km(I==0>sC=rgguxWOcoGjFUFbH!iJ=`BhSL&PXeSqFDOy+8FmIC{d;`@n2fc zA40Yt7rbMUpYgkS53)*}f@?Oh;ix`{pN_bHky`<^N7)EtD}z<_;NU^lIr4Leh*Ewu zroxEwanA0YIonvq7GC)jsR~AX0SpxTIss)rt9iw4-yZ*oh&2xUbAN}$^E#pDNJ2Et z7?7KENBOxorHm3OD?zP>6aePxL1>x%;ggb8Sbhkn!O1@9_)w7OtP8At1z(b!aS1%A zieD#nN4Z56@~>I@Uc*s!exU|IAhnaCS^LszeU;dR28BQ@rW{Rh$DY_G3^q%R1E2S` zh)9-*+^F;HLKQ*49|+NPV@An3QT&m<;@K5cj0g!=HdDm$V{8Pe&i^vEZ?N=Of70dJ z1IK(eUt^wZEj1uP{@8C>YC}xpcZKl#y}X=E32yik2|~j$w=D$uGK2qf5$e z()^IEE3QB8LGUhd^HU&tVT5$?#gdVg`vcCdkR2taSZzQ)c}W zOx%AH9Y{r9Cjp_9HTq%%*;2RNq#jGDTnqRlQl7}%Z;$2p%$j>HKc9nbYd_8=**Iuk z=4ApHyi@}3L+#d+bq0)7sc)=RT^Xw`m7_>=2>tz>?6(}+MxG>V5=gOTD`*7<7_(1L z@S}ai&JM;*+IVkXqBGp8=PQcElr;%l{gA`N2rm$*OUeEk%Xv^;C>-ow^Tx0Dfi z3Z>4}2d)GiIh)#V$PU^PaQnz*un*?hAV;6Xk*0MFcWlgKyax+~U7dZ=yZKz%Silwv zg-O^zzeJ8o$so&0G!2mrVj1@a9 zWU;5wPC!q$q#`~?=->GGAnAMd-}5(@*tPkFFx&bb!DsD%@ciTc4P6Apy^1ix$>ao{ zT_NoPLofM*rb4Xyx?3af6Q;NSKWEdn10qRKi>E{~mD$oPKz~WCQ2U!Ot`AU~c&X~v z_Ptx&)-ATITN}Ci#h3)ZIm%7~;7Xe-GZTjn{DB}PeUsx948SUKx>Y%J<6j8-~7!l$#6lc z&<#f=2^><@V&%Ff9wVMC;X5uN7G=dF1T{T;I+ucQF|ZbkhptVxrXgek2Xy)ukAzS zD~OBX1nkZGngk#fBKSs`=y&lc&wi*UMNVq(GtqJa6LHy!aq}XV-iMNdddE4j5d)x< zzrq-jE5TA2bO(?M*GXZpuD|}BG;ckC{vG^hUdB;yUYIhz*lk-AlO4qUY*<5^;$dg+~6fo0Qn(X&fiP7Y1elq5;^fmQ-!wcBmhtXabY9{2!`KjGeN-m-Zg zd+O)S-iK#YO2Ujhlx&;1xjAmS>1M9G?x$RF#TCrV%rF=Xsjmj`wk!i;)k4|58-iQQ z_vt?Gtvj<&qt6~yU{rxo1rBlrEK3{amF${Xl_dWR=fXbGfg*@C)FfGKiD)6xVMAw^=&Q^C4UPSn zSkKfg+LX?`4ojjCICg_g-|($8tQAQno*a61h#}*v!A@c~}p* zFHu>sDfhWuMP@E&B#kSy#1?<%oT>MHmF$CGCXjk%1)1yM33*BFhoM$EbX7#laws!J z@sQKF>3x66#GoXpyLdP>=jO1V{~qeM?0~q3t_4)a9N!_>Pl}r`sj4hR*F4f9rzYND zNo+Q3ZNa|!5jQ{M!8Bg~Li}%ELFbL1pqK5UnL6y8sIzYN0A1YY2Slqo)Ot;3E;*a3 zIf1xDGra>pPOxs+LATpwki^)YOKrSOIN2eb=n%9T+}LhmQ{rag4?R>miC>oZGD){g z^BBufhRorWLI@m^J`&d=m6^Q!dqGGy=yr%k^#+aGt@r#HS7y+ zz`Avhpn;?vk6w4qu=2#*-p_`F9ur+9_qLeWm!+wVFyaP-dFpP1>bZ~R`WHWzMk4Y` z3+F}eq#b|NtcpKZo0;%x zI5_O62CNg~d9^Zt1g%x`H> zOG^>~aFzfpL00c*;%-t1mBr+@Zer~vA|bR%jj^IO5<;OD$}XcYtX_PC$M-v$tru$S zJSKJ9l+5F4-~3$6#&XwU+gT4LUuIy*#nD1ITw;JNaW>?Ho=&22k}PIi4FN1yCYlZ-3E_d<0i)O6DHV`G z(~*ZzA%o@6AUMr416;`it<&k4Kg;*cn>X|L$3LDEPB_8*-H|~*&xd+;lUleeCH(nQ z5w?~9S<9YR^04aldi>}|KjQrJ&u91UU0i$3wRjTkGIWNg-D(Zxh9;qK7`?nKX}nVk zHTuv|1x6JZRp56}0Z|AJWdt&rT~-kYgH@CkOOk9!ZXV%Rzk{ps`}+}hB><}`$`w7Z zN}aK$2-xoDbh-so<6}HcuVXR{85f1folI7&RW{usM}RB=t;7q=drdz=*{d-iW$fRHm`g z0$U_XBCV76CWHblAXg9jd5j(i0tP zWeSxL3>tY#>(w7ced|&jf0!~fs7mViAg1ywHbvKpX=#^%w$Lv-lfBP=I4UV|e8 zTDxX&pL900GJ!##su5BS3MyC3y;lZM($Fz;Si7i(9?M~15(Wi0(4JWDC~kVglPMql zU{-ziIvTHhAA@q9F{ehZLfoa)zTbE>ay7Sx4wHx6i~0ZaA}UG0lLw7!)7L3m>?TPR z8}BRM^9<`JsR|OSGHfi7>D9%jTD-hOm64>z8b~{~SqBIyMLgL=VQAJAMTsl@)p*wr z`@t{}YUq8t3}DIm*p3*ZYsLp9ok58eI%G|UEQ`snxRLbo8#weouLdzW?+w7MbNfYa z!>Nstl_}NS0$!){8<$32sN~qb@EykA`YF6X?gtxu9~NU$Uz?Q4s6X|fKnEA*{iH|>u znkD@T602Y$tr!R%a{$eCJr<*`k=3qIL*Kdc{Vv~ey7cE4nfEmVCuJtx#WB}!;^cd+ zW|P%n5X{o*uA%VyTvN<5r*r;HZDu^Eo3M!OR?Hz)z`VffD=@H>txWo0sVsAkeLTC# zq}~R$gHAH6{@;CG$2PR{B>+onZhrQO%x-DW$Rymd+GpZ!k_gq%#9cbA=wAC``1h@$ z2UeKcWI~e@!{<`=6AS8ANaSk+V0~{KZoa^RG@|mF6xD)o!$`d$| zad(w7jFnwVA(YP*lRcr~2^;Ikw_dm}fpGac-O;t;mKyE&a4ASxdTYi`c1zy_6KK3!b`qlqr zuf)NMVV0O5HX7y_v`Ii58oMw3=&n($(NT;lFsi_)0>9-7h&j6n$`FZYdkI4S%cNN&p;OhNy`1k58+Q)LzN{|!G1Ml2d9Wj z?<(udo`hdHt})3@$QUb2R(<6%(szCi$4;p&3d_cVz!@%*OOgBegpx$pO~H35LPcpS z13n2zV2P=_i6PvNAD+B-!y^wQHBXWQ#qL4YUdna;@fvp}z?sK+t27rYnus_SrM zL2fG+vy`^T%k~Fg*)EZ!x|KeQVs!s6FQb3ju_ROk0ytI)?VWQ3fAj{LO_7@opwpll z6lm8+6)Q8O$~;4fjnb{zZpGQVV3>4eqok-((m-Js0edh0C#r6VY`UEJi$FhRTc>8sx-1nrCdV*LewiuHe}*I zuH%xMe)wjZt+h0*CdI;D!biT6X4!-N0K8h~WTnU4`DbI*Ca}Dk0mNtgjAQy1d&Cp! z0GcDxWRcXmHa+3wm9RQiTuH<`8@E$t8L7%xNOyDZ>$mWL$6T|adU%OQXoIOBLi!hZDFK*;(=vZtUiAmlNW8rmz37fH;AK^=LW@<6inqS z{%WJm57&BJ{(}TpmBdv*P4}p@PvnU=RY|Ti+s^s}BPDdpl7Um=$=-r6z{EuUmoTtS zJp1Q8uzvAceQ15i`&T<$e$}k;O%o3+WzRC_D#mh~QY&T-583|b_o5yb^a9^ZByG{c z3hL~r0|KyAUeRwPjKvm_<+5ec;|V8>VX2tI^jePg+9ncG27pK1|Dmi~x6X9gPF{L!Nx#dDwgT*fCRa2?n9EjU7H9XePIy{eYL zt7R~FrT%zFzxn58&zObfl&qS z$rZ3=yI)Ckdro4-WL9oG0YmYHC|m-GRWHPwWaZ?mdvc9N=XUTba7O@3m=v<8EwTbj zLW?L_)6$%>rNO#dN#|ckk%XyXD+0^KwUqfi%ToJNh|@9~ zt`l5~JS{j;jq|YjCOVbFf|9g1i#a{uf^0kAOmAg(K44Nc2vv=)-~m};Qp?OSRJPfP zZ)nXUoi&^p9>%VG*34^U4kDHxp0Gni`ebWz$1<{~gV{vN=H{6(Bd?b(yK9QoMakq_ zK1uY=?@^0aK7dT8!v(*x31uB1Aa|OZHIy(|vM9!HHf1Lr2IA3@L*P-=Ji|U~8o$z& znqtN;nal)a3E?TH(tG{WXhtPG|KH%6OX#Cm_{ghh9C0ky`x#p-2fZ-O)ERFP4cq~h zFO5p(zxD>wjT=d@SX;U54obwv;!vwiSH}hr5kO@aQ9Wepn-n`qaP%yW*)u>t{1wDj zWEdu;uw8`tZ;Z(IGgevx;K;&M>}(p$ed8_c8EZ0b*NB9kp<@pH?8T_Je4P1O!I*B+ z%VU~;h|UJ4FR#=D4Dy!D(e={0%>al?=MfhL-EY4OFI0h7$bKR zF}kpS3}b5fSboE+=#@69XPbnrWPP%fqAq^iD>bnpI`Z*vgY7$+XPz;+2b515^>Aw*cF$(MnG)6^P721NNun42 zG4s!UC`F@Y2t4Itk5yrlR$h_3{gXJK`4;Y!hc!FLe6!AE-vZAWdX4EOlrdSy!OJC{ zu`r2)G8W0$WyY~mJiaRv+|a89RaeTohlZb{V^1O!;Z1^vVXR3;3x4MGkL|j zMa4@toz8}t6jf6UYKpqH_yK#lDw*X>cQcb#V7$_03|LipBt=f$4f&Ei&8IH;4(FWq z=S(IU+k?c&djQ$U{$zF?5h!g zbzmKB^y=TQ3M{jlvNR=55{e}g$HzSGas0)zpKUy^WHM^N<|X>CdFBehwC|yM6}aEWgE8NgDu5p49`p!A5G71^^O~j%>6qC!opBy(~WEm=9*lU7H{&$ZfG-agE~b2# zek44V_@oR$8^g?yTi=DkA6l<8J&&0|mn4p9;}QmSvk(^FE4y33*vbqosrkT#R^`E< zpm*pv{NcT6_BEV$5wwM$NR#uyssI-BPKRO~7Rs>^ZRM$G6}=^X;T6A<(`_+$;0kq`{dL z?uyML*NFiQtjRSjeExOJwOcf`LtKdid&<-~|3&zLuhOfRG>edd&J9~hSINGhjTJv) zDQWv>0M?RBTo@A@*K*yLUP~islj@kmUV0Av_!=Ws?AtyK0X{@cv;??HU$%;+b*}-R zTo9?FOvC3RRKKL0>QFrJ7|PQQWBO6Yl6LBpUIPc8dS2p3#Zb=YDFfslNGp{huw7%| zE{TVQYvXH;Uw~6V*DWc03+d)=mJ)8A#{a=}sBiuVef6!(99_rX-K8~`;)|htO|D0d zPIBXKoo5l+);OL|@uV}@@rGwmRRZdjRKAN}6vH&brMB$HJ4`@dR)PHLGt7wC@aVVW zPVc7cB(yRC34O{u!4ki?%%Kd#`#WPXOK9s=%)I-#aQaC^zJO3-ZKUY;XX(7} z>(G9Qx_uhfcVM~?jz==-F{4vfM?)(B8K)YH8Aa1aNGx(qjl58rYa4Qp$np%s>68ZDCt131wCY1kmKGE6#&KhmAx2|cHHbJ3CDe2nU0AdrRkE&dXR)Vu;6MH`Uw=6~l z4KX{nDh5Sv(j~<=@L;wZ^djFW_Hto1hrKK2Wt&gu_|${C;x;E`P37@@_Ht!9%Tv6~ zOxYox09by>lmJ*|PF)3j*_!4vmwlJ_ocdHI2RS?Z7|#(dphr^@T7~^(D?Z-8mXm_j zG_=QJepg~(l@*0+aqBBiH>U3*Axy*zOA-i246K9M2S@LHH?P1DL|PuuZ37qyxFmiB z{eIs}I-9K~uX^RHxbOY$M-T-6kFV9fhrvF>!KF#n@~+qlHTqQ#lIji*7y+G%5P(3ucf_aHlf`n*QM$(I?rI+Bj~iC`vTRA_6mpF6naj2Y2dRwaZG}11%rsrU zqO_DzvgBEpjZgdsy3;q)l11c7EmJ0}DpD0*UYRs_L}uh@dR9g=#{3y!p(&T#E|{@0 z8YMJ!XrzKGwq+A|sjKMa!b~`VTYt#f$fE zlD?nfrY9WE{5k)dqCQ5NRjkfnwysICoH46zuB8F5mgcYWc4k9$DaB4am^+{O9^-HO zB&Cz1#Ei)c$kPn)FSRV;qpX6lPh?9fDD|gOH@eAFHn_V^-e~!eZc4wUl8ORsGnk zbHw1@$Old8uqaN48~x#Ifqvd&+4^_SKmgFmD53MlbLsuy0-Q1@OdTo;lhmkukH8O% z7nh`+62+vQfc}|hFnIY>QL#lM6k)7phn>-|Ymf^_d+^#=VRMD*^TT8>+qO^hh)u_H zj5|inb=Z@48MA_)0a(EnR;e0JrrGV4OyU_|=9V4sReKMgyW$7@!+oA;5<+)-F@bH9 znlV+I4T8$H`FwISC%LPTl-l{?E(Botl{UK$ThBV3jKTm|0_2SVtb^D2M(=#jslZU; zH%tYThi95)2E5A4(s)k2`OR<8E4X_VX>_!A zs|wr^z>ef=%iI-s#o&<$fIAN?j8Gjj&eJdiec%>7w>>$A|6Pf}>6 zQcbr8X;~23feHFrsX4Afz44>0`qB^4Dnm=!qE{!+Qe2bRxS!+GirCKaa*O=Q4`uPy zPa_NJC;<@C!~j^qpS+dvZPOGDjngfMCf`*-Z+ZlQjMYGyF5p$+{g{(G!0;gAT6|Z>3D-38Qk*LjP(@c(qEoOGI4(_;nFi&sv-lGbP zDsT^}z%K$=0%Hm5!7P|%6IOZHm5UWutXfH zIC;tTa=<#bwW0@>FtAdgab*SdLQ(n-b53G*^SGehWRonL0r3TWBjpiLNz3{?ZE2XQ)+_%03ZNKL_t(H|Ex#SfB6$}Qjfl6F_Bdy zfi{de89OWSu~}kV-O+D#nUU47ZS4Q`4%%1WWDMK0T;tiHSe}r5dvf2H*v~hs}TS~D@5;oKdZF$qx9Q%?lllVg~ zOWfjDKZoAa9!x!V*_rpTY7VVr!0K;b&-9mm$RQW)fWd%Lk^v{1=;JoSgO0^L{W!cM z*3(UL!+w;FXkqzCI;4#+xp-8)h>qVeRy&b}F=JPh)C+AGjsj*adIvU6*eI z^8*7s+o{EmfBbef#vNQ0Fz_?1Y(Q#DYUj{6J{PI5yr;Z=iP5xN|6g^9)_wdN#Q*#m zY7|(Z2Z?PMn~riAs2=sShM<(%DJh(QV&g`3eeQKk&E@PI_nFvw8=a@V3$c?!xJ7NPn1b}RZl&hLlerVQTDo=1``lxO~ z?Q0hi{n34yJ$yZ@wNIMOvF`NOV%Y_15EC_A{G>!lH}^bZkD(t~Dk?RLs#h`n#lOM3 z*U`*~O^go{l8owF)Jq?U;X9aZR%J|80iDWYCXJbEx-5{Jq`+1#*rja%tgEs)p5kv| z+zt$YwcX2ERk`Mxwo8||9)2SL>tJ@l(R<(BD_}eEtyK)(VYFx0J4^Mszl!Sm9Kn-4}bW>hAC!D-J8uJ`$~4OM#k=U z_ii~l{!s<)_7yN==F*q(PF)&DD@hV_l=1!$^V(PqXdStV=CKnbVN7X9D66C_WYR8v z7an72NTnpRENAwTKCP?Pn#uT&H(bLBk2#)Tn`ZI9cHyb|-M((46S(VE;8y`ymU1b` z4S;p@W}k^LA`}z%B^HyUa!c4tW^3lFl-VMtp@o5^aK&(UA8UFDU>W9s09dlA=Gv4= z!HM1^XVkZtl=AI)k3*c+iXK??sv!0hIxnc@3fps7a8koES*Lv-Op7h`aW*+Eyh0Nd z8RDJ%I|HyRMUWPBYnHKWSQRt~|Mlwx?>P^rU6}>*iY?1YYYH6(#^;8vus0QhW7kof zuz~zx_n~I{l#?xb4F~r}Tbcaq#dw!pPd^*b+)s+1S-u9I3CSX<49JkV1#VhmC5o!) z5dE)5G5w;)ASg&(Idnev1A;ex7+NCTJg|N|`~1fdKmXCVu}3#hG{vA^l&Y1cRF07~ z{!B7B{4C?&z61gVX~Ni_oQ*TL2dtD73qNro6iH-`@a|S@+M*wbbWE}M!M|eelw_bR|#vBWx*dF-zD{|&`` zHskpr?Zh&YvUtqLQ5Je`jv|#^5DP8gVfAq6r=&~bETs@Rp{fyDHZ}2|6Zx7|P}!Q) z$|%YbHxGvFV5g!`8u5M;`MPb3pPfTJKQI&Tw%cS+*~L{hYS877Kl>p3^hSu|Ar){! z0HEP#8^iN5H*)#Fu&!((hUw%6+*<~oWF;cNsPsw0Nz3rpt>f1JeiN&7i`_{?>ZaIE zMKf^>i_!$b$%R-l_!lr;e6b}xaizBYwf~3WYZswB@%j}I%|(KxJVX-NrzRA!Gij~az*aXSRGPZ!F9B95DVr;&Xdc+z4FgxBrJh<5 zR^o%`FsO1OPtmt4<2CpHGs6|xkb$*|(0GFFbaN)Oi`-uAT=CU%7oWZPGM;zX{n@1I zEU1JrNoLj_+JRY>nlP{**J4gg8iY>39#!7?0G3tx^!y56+332*jW2s3Q5NH;IlAVU zh3p8xI?!%5di_1R0!!3dc|a^n2Ze_I$VWbs*S_|(c)mZBvfRNe{mzgOn#swMOwdH5 zx-Ktx!3((NnrjU6N~DC#hVCN?;XS&?j!te=fxATohRc_q84ODjni4a1U7!PHCW!VL zg>$S$^N>jfc1C3t_`)X5B~8o5_5#EH&$FD;TO?E!-OD5FOFDR-&(^7HIQbFB;q9>5 z`HkK9>OiyA?-r#U9ps%{u3A*f=~*I`6~8PS z17OXU33XAls3Cx*mi#hHlc+Y75eiTx|6VAIJjpr9U&X`fhZ%|1w!F)ss=cCwuwLd2 z0>`k)8;P(P9r{j&S5~aWXSGtC5Uk<^XPkCEOiMFH@8X+VXmhLwvsJc>N)xKkL3bmp zc9RV+`XJqlE}&&4P>QzXSGPq;A1o}~W}ECjhmk(!zUccOgVksnup_ccA~bR6;Mq+Y z*fe+CivIU+kp9Q_m|B`o{i;up`5=MV%iGuj&PbA*$jt;q$TV49k-Yma>E8c%V`v@K zZI1lkA0oT(B0Nd&vsOO-{nd8v1&=3r_9F?iIx{U7U(B<`yuTD6bm(^_%sEM9+qY>c zeMgc8l})i@2b&)Ik6%0DU+xvM(5%OT^1(6P9$)a>#(3p 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

    (?leHQucaEdjF2U5;caG4}0vI6^ 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

    TUGF3pD2Bx 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

    m{1QZp+kj=jeuF-iu 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 {S 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≦;_WhP|8+CjTspSP`w{^GVyGIId*zoomYz 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 toU{zJCW1yJRl@9}R^` Date: Tue, 19 Sep 2023 15:01:23 +0700 Subject: [PATCH 369/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 25390ce..e006bf1 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -348,7 +348,7 @@ let set = new Set(); set.add( 1 ); set.add("2"); set.add({id : 1}); -console.log(set); // Set(3) {1, "2", Object {id: 1}}} +console.log(set); // Set(3) { 1, “2”, Object {id: 1} } ``` ```js From 9d1ff59f69cd0a4fe2b51713597d3b69f89899a4 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 15:02:56 +0700 Subject: [PATCH 370/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index e006bf1..3554588 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -348,7 +348,7 @@ let set = new Set(); set.add( 1 ); set.add("2"); set.add({id : 1}); -console.log(set); // Set(3) { 1, “2”, Object {id: 1} } +console.log(set); // Set(3) { 1, '2', Object {id: 1} } ``` ```js From 4cec94f53b0582dc01c59fa9a590fecca5da7a82 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 15:07:59 +0700 Subject: [PATCH 371/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 3554588..08fd8b6 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -348,7 +348,7 @@ let set = new Set(); set.add( 1 ); set.add("2"); set.add({id : 1}); -console.log(set); // Set(3) { 1, '2', Object {id: 1} } +console.log(set); // Set(3) { 1, '2', { id: 1} } ``` ```js From 114d3c4578c907c4d1bd453be5bdd0415fa60d5b Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 15:09:38 +0700 Subject: [PATCH 372/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 08fd8b6..16f0d87 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -348,7 +348,7 @@ let set = new Set(); set.add( 1 ); set.add("2"); set.add({id : 1}); -console.log(set); // Set(3) { 1, '2', { id: 1} } +console.log(set); // Set(3) { 1, '2', { id: 1 } } ``` ```js From d531256b9aaa8265824b3b2739111e0261b412ff Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 15:13:43 +0700 Subject: [PATCH 373/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 16f0d87..95b81b3 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -363,7 +363,7 @@ set.add( undefined ); set.add( undefined ); set.add({}); // บรรทัด a set.add({}) // บรรทัด b -console.log(set); // Set { 1, "1", true, null, undefined, Object {}, Object {} } +console.log(set); // Set(7) { 1, '1', true, null, undefined, {}, {} } console.log(set.size); // 7 ``` From ff182ed4b49102dbe150cc89b7f798905a0a9f9a Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 15:15:23 +0700 Subject: [PATCH 374/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 95b81b3..a71db25 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -370,7 +370,7 @@ console.log(set.size); // 7 ```js let set = new Set(); set.add(1).add(2).add(3); // เรียกเมธอด add() ต่อเนื่องกันได้ -console.log(set); // Set {1, 2, 3} +console.log(set); // Set(3) { 1, 2, 3 } ``` ### คอนสตรัคเตอร์ของเซท From 1b535d2e326128d7274eddeaaeabe1507a7b9a6e Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 15:56:43 +0700 Subject: [PATCH 375/757] no message --- examples_book/Chapter15.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index a71db25..8e0d851 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -377,15 +377,15 @@ console.log(set); // Set(3) { 1, 2, 3 } ```js let set1 = new Set( ["a", "b", "c"] ); -console.log(set1); // Set {"a", "b", "c"} +console.log(set1); // Set(3) { 'a', 'b', 'c' } let set2 = new Set( "def" ); -console.log(set2); // Set {"d", "e", "f"} +console.log(set2); // Set(3) { 'd', 'e', 'f' } ``` ```js let set1 = new Set( ["a", "b", "c"] ); let set2 = new Set( set1); // สร้าง set2 จาก set1 ที่มีอยู่ก่อนแล้ว -console.log(set2); // Set {"a", "b", "c"} +console.log(set2); // Set(3) { 'a', 'b', 'c' } ``` ### วิธีลบสมาชิกของเซท From 962f82924bcc63bb52325a3541036c739a23f689 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 16:45:15 +0700 Subject: [PATCH 376/757] no message --- examples_book/Chapter15.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 8e0d851..5d284c9 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -392,9 +392,9 @@ console.log(set2); // Set(3) { 'a', 'b', 'c' } ```js let set = new Set(["a", "b", "c"]); -console.log(set); // Set {"a", "b", "c"} +console.log(set); // Set(3) { 'a', 'b', 'c' } console.log(set.delete("a")); // true -console.log(set); // Set {"b", "c"} +console.log(set); // Set(2) { 'b', 'c' } set.clear(); console.log(set.size); // 0 ``` @@ -477,22 +477,22 @@ b = null; // อ็อบเจ็กต์ {y: 2} จะรอให้ GC ม ```js let set = new Set(); -let a = { x: 1}, b = { y: 2}; +let a = { x: 1 }, b = { y: 2 }; set.add(a).add(b); -a = null; // อ็อบเจ็กต์ {x: 1} ยังไม่ถูก GC มาเรียกคืนหน่วยความจำ -b = null; // อ็อบเจ็กต์ {y: 2} ยังไม่ถูก GC มาเรียกคืนหน่วยความจำ -console.log(set); // Set {Object {x: 1}, Object {y: 2}} +a = null; // อ็อบเจ็กต์ { x: 1 } ยังไม่ถูก GC มาเรียกคืนหน่วยความจำ +b = null; // อ็อบเจ็กต์ { y: 2 } ยังไม่ถูก GC มาเรียกคืนหน่วยความจำ +console.log(set); // Set(2) { { x: 1 }, { y: 2 } } ``` ```js let wset = new WeakSet(); -let a = { x: 1 }, b = { y: 2}; +let a = { x: 1 }, b = { y: 2 }; wset.add( a); wset.add( b ); console.log(wset.has(a)); // true console.log(wset.has(b)); // true -a = null; // อ็อบเจ็กต์ {x: 1} จะรอให้ GC มาเรียกคืนหน่วยความจำ -b = null; // อ็อบเจ็กต์ {y: 2} จะรอให้ GC มาเรียกคืนหน่วยความจำ +a = null; // อ็อบเจ็กต์ { x: 1 } จะรอให้ GC มาเรียกคืนหน่วยความจำ +b = null; // อ็อบเจ็กต์ { y: 2 } จะรอให้ GC มาเรียกคืนหน่วยความจำ console.log(wset.has(a)); // false console.log(wset.has(b)); // false ``` From 6a59998eaea6e2ea6f853d2f845f9ce76a5b0a48 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 16:52:02 +0700 Subject: [PATCH 377/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 5d284c9..9985492 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -516,7 +516,7 @@ map.set( undefined, "Good"); map.set( undefined, "Bye"); // เลือกใช้สมาชิกตัวนี้ console.log(map); /*แสดงผลลัพธ์เป็น -Map {"1" => "Hi", Object {id: 2} => "World", Object {id: 2} => "World", null => "We", undefined => "Bye"} +Map(5) { '1' => 'Hi', { id: 2 } => 'World', { id: 2 } => 'World', null => 'We', undefined => 'Bye' } */ ``` From b8ab70eedafb9361563757ac8d59be5af842daad Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 16:56:11 +0700 Subject: [PATCH 378/757] no message --- examples_book/Chapter15.md | 2 +- examples_book/mylib.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 9985492..a634263 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -523,7 +523,7 @@ Map(5) { '1' => 'Hi', { id: 2 } => 'World', { id: 2 } => 'World', null => 'We', ```js let map = new Map(); map.set(1, "a").set(2, "b").set(3, "c"); -console.log(map); // Map {1 => "a", 2 => "b", 3 => "c"} +console.log(map); // Map(3) { 1 => 'a', 2 => 'b', 3 => 'c' } ``` ### คอนสตรัคเตอร์ของแม็พ diff --git a/examples_book/mylib.js b/examples_book/mylib.js index bb3b40d..13b0820 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -10,7 +10,7 @@ let str = strBegin; for(const [key, value] of data.entries()){ - str += `'${key}' => ${toString(value)}, `; + str += `${toString(key)} => ${toString(value)}, `; } return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; From 375d3579be80f0333e35c59b162e82bb8124f43a Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 16:58:39 +0700 Subject: [PATCH 379/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index a634263..f79a109 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -530,7 +530,7 @@ console.log(map); // Map(3) { 1 => 'a', 2 => 'b', 3 => 'c' } ```js let map = new Map( [ [1, "a"] , [2, "b"] ]); -console.log(map); // Map {1 => "a", 2 => "b"} +console.log(map); // Map(2) { 1 => 'a', 2 => 'b' } ``` ```js From c36b875a21d7da58cbee8c3349e98bb40acc3e57 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 17:20:00 +0700 Subject: [PATCH 380/757] no message --- examples_book/Chapter15.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index f79a109..05d02d6 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -506,7 +506,7 @@ console.log(map.size) // 0 ```js let map = new Map(); -map.set("1", "Hello" ); +map.set("1", "Hello"); map.set("1", "Hi" ); // เลือกใช้สมาชิกตัวนี้ map.set( {id:2}, "World"); // บรรทัด a map.set( {id:2}, "World"); // บรรทัด b @@ -535,22 +535,22 @@ console.log(map); // Map(2) { 1 => 'a', 2 => 'b' } ```js let map1 = new Map(); -map1.set( 1, "a" ); +map1.set( 1, "a"); map1.set( 2, "b"); let map2 = new Map(map1); -console.log(map2); // Map {1 => "a", 2 => "b"} +console.log(map2); // Map(2) { 1 => 'a', 2 => 'b' } ``` ### วิธีลบสมาชิกของแม็พ ```js let map = new Map(); -map.set( 1, "a" ); +map.set( 1, "a"); map.set( 2, "b"); map.set( 3, "c"); -console.log(map); // Map {1 => "a", 2 => "b", 3 => "c"} +console.log(map); // Map(3) { 1 => 'a', 2 => 'b', 3 => 'c' } console.log(map.delete(1)); // true -console.log(map); // Map {2 => "b", 3 => "c"} +console.log(map); // Map(2) { 2 => 'b', 3 => 'c' } map.clear(); console.log(map.size); // 0 ``` From cc2bd3e3b8722f4fcec132ffc126e9b30cc0b983 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 17:22:07 +0700 Subject: [PATCH 381/757] no message --- examples_book/Chapter15.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 05d02d6..38008ba 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -585,8 +585,8 @@ function log(value, key, mapObj) { let map = new Map( [ [1, "a"] , [2, "b"] ]); map.forEach( log, map); //ระบุค่าอากิวเมนต์ตัวที่สองเป็น map /*แสดงผลลัพธ์เป็น -"[1] = a" -"[2] = b" */ +[1] = a +[2] = b */ ``` ```js From 2c46e9740e9b09f698286204c63c0de5af273ecc Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 17:28:55 +0700 Subject: [PATCH 382/757] no message --- examples_book/Chapter15.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 38008ba..5a79f84 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -416,16 +416,16 @@ console.log(Object.is(0,-0)); // false ```js function log(value1, value2, setObj) { - // console.log(setObj); // Set {"a", "b", "c"} + // console.log(setObj); // Set { 'a', 'b', 'c' } // console.log(this === set); // true console.log(`[${value1}] = ${value2}`); } let set = new Set( ["a", "b", "c"] ); set.forEach( log, set); // ระบุค่าอากิวเมนต์ตัวที่สองเป็น set /*แสดงผลลัพธ์เป็น -"[a] = a" -"[b] = b" -"[c] = c" */ +[a] = a +[b] = b +[c] = c */ ``` ```js From a5edd6bfcbf474ef724bd568c8c4e60752616481 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 17:33:07 +0700 Subject: [PATCH 383/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 5a79f84..e67fbfe 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -578,7 +578,7 @@ console.log(map.has(1)); // true ```js function log(value, key, mapObj) { - // console.log(mapObj); // Map {1 => "a", 2 => "b"} + // console.log(mapObj); // Map(2) { 1 => 'a', 2 => 'b' } // console.log(this === map); // true console.log(`[${key}] = ${value}`); } From e1aed22477fce7b16223df83318a8e4937a39a13 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 17:34:29 +0700 Subject: [PATCH 384/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index e67fbfe..a9218f3 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -640,7 +640,7 @@ let wmap = new WeakMap(); let a = { x: 1 }, b = { y: 2}; wmap.set(a,b); b=null -console.log(wmap.get(a)); // { y: 2} +console.log(wmap.get(a)); // { y: 2 } ``` ## อาร์เรย์ระดับบิต From a2b23445adf0a34edf1e47dc3337407c7a0eac26 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 17:36:23 +0700 Subject: [PATCH 385/757] no message --- examples_book/Chapter15.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index a9218f3..947160e 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -692,12 +692,6 @@ console.log(c[0] == 0x10); // true console.log(d[0] == 0x10); // true ``` -```js -new TypedArray(length); // ระบุความยาว length (จำนวนสมาชิก) ไม่ต้องใช้บัฟเฟอร์ -new TypedArray(typedArr); // สร้างจากอาร์เรย์ระดับบิตตัวอื่น ๆ อีกที -new TypedArray(obj); // สร้างจากอาร์เรย์ หรืออ็อบเจ็กต์ที่ทำตัวเสมือนเป็นอาร์เรย์ -``` - ```js let a = new Float32Array(2); console.log(a.length); // 2 From c2465611a6c0fc9e84b3ce7dd367ef751113d413 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 19:29:13 +0700 Subject: [PATCH 386/757] no message --- examples_book/md.css | 5 ++++- examples_book/mylib.js | 8 ++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/examples_book/md.css b/examples_book/md.css index 510a0c4..82109cf 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -50,7 +50,6 @@ textarea { font-size:16px; } - .ads { position: fixed; /*right: 7%;*/ @@ -83,6 +82,10 @@ textarea { font-size: 1.5em; } +.link-chap { + +} + .main-menu{ position: fixed; left: 10; diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 13b0820..5814bfc 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -26,7 +26,7 @@ return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; - } else if( data instanceof Array){ + } else if( data instanceof Array){ if(data.length>0 && !(0 in data)) { return `[ <${data.length} empty items> ]`; } @@ -54,8 +54,12 @@ return `${data}n`; } else if( typeof data === 'object'){ + let stringTag = data[Symbol.toStringTag]; + if( stringTag == "Float32Array" || stringTag == "Int32Array" || stringTag == "Uint8Array"){ + let arraString = data.toString().replaceAll(/\,/g, ", "); + return `${stringTag}(${data.length}) [ ${arraString} ]`; - if( data.toString().includes("Arguments")){ + } else if( data.toString().includes("Arguments")){ //let str = `Arguments(${data.length}) { ` let strBegin = "[Arguments] { "; let str = strBegin; From a6d7b3f321bddee70535e03901cc4e5549df5054 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 19:59:13 +0700 Subject: [PATCH 387/757] no message --- examples_book/Chapter15.md | 3 ++- examples_book/mylib.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 947160e..91d9ff5 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -187,8 +187,9 @@ console.log(array.indexOf(NaN)); // -1 เพราะไม่เจอส console.log(array.includes(NaN)); // true ``` +หมายเหตุ -0 จะเว้นวรรคแล้วตามด้วยเครื่องหมาย , (เหตุผลเพราะต้องการ fixbug ในหน้าเพจนี้ ไม่เกี่ยวกับหนังสือ) ```js -let array = [-0, NaN, 1]; +let array = [-0 , NaN, 1]; console.log(array.indexOf(+0)); // 0 เพราะเจอค่า -0 อยู่ในอาร์เรย์ที่ตำแหน่งอินเด็กซ์ 0 console.log(array.includes(+0)); // true ``` diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 5814bfc..656f85f 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -178,7 +178,7 @@ codeTxt = codeTxt.replaceAll(/-false/g, "'@negzero'"); // fix bugs ถ้าเป็นเลข -false ต้องแสดง -0 เลยต้องแทนด้วย '@negzero' //codeTxt = codeTxt.replaceAll(/-0.(? Date: Tue, 19 Sep 2023 20:08:43 +0700 Subject: [PATCH 388/757] no message --- examples_book/Chapter15.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 91d9ff5..d0af3f3 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -213,8 +213,8 @@ let arr4 = arr1.flat().flat().flat(); // จับยืดออก 3 ค console.log(arr4); /* แสดงผลลัพธ์ [ - 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, + 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12 ] */ ``` @@ -224,8 +224,8 @@ let arr5 = arr1.flat(3); // จับยืดออก 3 คร console.log(arr5); /* แสดงผลลัพธ์ [ - 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, + 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12 ] */ ``` @@ -235,8 +235,8 @@ let arr6 = arr1.flat(Infinity); // คลี่ออกมาหม console.log(arr6); /* แสดงผลลัพธ์ [ - 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, + 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12 ] */ ``` @@ -259,7 +259,7 @@ let newArr2 = arr.flatMap( function(x) { console.log(newArr2); /* แสดงผลลัพธ์ [ - 1, 2, 2, 4, 3, + 1, 2, 2, 4, 3, 6, 4, 8, 5, 10 ] */ ``` From 9eb26a1479e1ac48b500bb870f0d5f99f2d3baa3 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 20:13:07 +0700 Subject: [PATCH 389/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index d0af3f3..a410592 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -326,7 +326,7 @@ let result = arr.flatMap(value => [value, value * 2]); console.log(result); /* แสดงผลลัพธ์ [ - 1, 2, 2, 4, 3, + 1, 2, 2, 4, 3, 6, 4, 8, 5, 10 ] */ ``` From 6d6fcc7eacd10eb37c5b7112b6162533bb8b2732 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 20:24:59 +0700 Subject: [PATCH 390/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index a410592..1068c63 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -721,7 +721,7 @@ int32 [2] = 3; let result = int32.map( function(i) { return i*i; } ); -console.log(result); // [ 1, 4, 9 ] +console.log(result); // Int32Array(3) [ 1, 4, 9 ] let join = int32.join( "," ); console.log(join); // "1,2,3" ``` From 32983b251addf58ba6d5eed6551b0685f807a750 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 20:26:01 +0700 Subject: [PATCH 391/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 1068c63..8db1112 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -732,7 +732,7 @@ array.sort(); console.log(array); // [1,10, 5] let uint8 = new Uint8Array([1,10, 5]); uint8.sort(); -console.log(uint8); // [1,5,10] +console.log(uint8); // Uint8Array(3) [1,5,10] ``` ```js From eee26744071352689e44b15e1eaa85f43ac73bcf Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 20:27:01 +0700 Subject: [PATCH 392/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 8db1112..69fcece 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -732,7 +732,7 @@ array.sort(); console.log(array); // [1,10, 5] let uint8 = new Uint8Array([1,10, 5]); uint8.sort(); -console.log(uint8); // Uint8Array(3) [1,5,10] +console.log(uint8); // Uint8Array(3) [ 1, 5, 10] ``` ```js From 172c0919322037791f2088981171451b82d6d711 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 20:28:28 +0700 Subject: [PATCH 393/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 69fcece..9727d6b 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -732,7 +732,7 @@ array.sort(); console.log(array); // [1,10, 5] let uint8 = new Uint8Array([1,10, 5]); uint8.sort(); -console.log(uint8); // Uint8Array(3) [ 1, 5, 10] +console.log(uint8); // Uint8Array(3) [ 1, 5, 10 ] ``` ```js From d6820fb31006fa45b354e6f533ad73e4c764df5f Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 19 Sep 2023 20:29:57 +0700 Subject: [PATCH 394/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 9727d6b..0c1c80f 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -753,7 +753,7 @@ uint8[1] = 40; let result1 = Uint8Array.from(uint8, function(i) { return i * i; } ); -console.log(result1); // [ 144, 64 ] +console.log(result1); // Uint8Array(2) [ 144, 64 ] let result2 = Array.from(uint8, function(i) { return i * i; } ); From 6448623ea70c56475fc380b6633fe498902cb95a Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 10:09:23 +0700 Subject: [PATCH 395/757] no message --- examples_book/md.css | 56 ++++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/examples_book/md.css b/examples_book/md.css index 82109cf..df67d3d 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -71,7 +71,7 @@ textarea { height: 8%; left: 0; top:0; - z-index: 10; + z-index: 50; } .headline { @@ -83,47 +83,53 @@ textarea { } .link-chap { - + text-decoration: none; } -.main-menu{ - position: fixed; - left: 10; - top: 15; - z-index: 103; - +.link-chap:hover { + background-color: #EFFEC9; } .btn-menu { + position: fixed; + left: 5; + top: 8; border: 1px solid; border-color: #5A8A1A; - border-radius: 20px; + border-radius: 15px; background: #558415; color: white; - padding: 0.5rem 3rem; + padding: 0.5rem 4.5rem; font-size: 14px; - cursor: pointer; - + cursor: pointer; + z-index: 50; } -.left-menu { - width: 120%; +.hidden-menu { + display:none; +} + +.btn-menu:hover .hidden-menu { + display: block; +} + +.main-menu{ + position: fixed; + left: 0; + top: 30; + height: 100%; + width: 17%; height: 100%; - margin-top:12px; - padding-top:15px; - padding-left:20px; - padding-bottom:20px; + margin-top:18px; + padding-top:12px; + padding-left:10px; + padding-bottom:100px; background-color: #BDDB94; /*overflow-y: scroll;**/ overflow: auto; - z-index: 102; + z-index: 5; text-align: left; - font-size: 0.9em; - display: none; -} - -.main-menu:hover .left-menu { - display: block; + font-size: 0.9em; } .display-result { From 5d073a2e5344b256b4e5d1daebb9bff94ab43b09 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 10:09:47 +0700 Subject: [PATCH 396/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 0c1c80f..34b055b 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -684,7 +684,7 @@ console.log(uint16[0]); // 23312 ```js let buffer = new ArrayBuffer(2); // 2 ไบต์ (16 บิต) let a = new Int16Array(buffer); // มองเห็น 16 บิตของบัฟเฟอร์ -let b = new Int8Array(buffer, 0, 1); // มองเห็น 8 บิตล่างของบัฟเฟอร์ +let b = new Int8Array(buffer, 0, 1); // มองเห็น 8 บิตล่างของบัฟเฟอร์ let c = new Int8Array(buffer, 1, 1); // มองเห็น 8 บิตบนของบัฟเฟอร์ let d = new Int8Array(buffer,1); // เข้าถึงบัฟเฟอร์ตั้งแต่ offset มีค่าเป็น 1 เป็นต้นไป a[0] = 0x105b; // 4187 (เลขฐานสิบ) From 99c686e89ed2b41788de321c152b55aa72996014 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 10:39:17 +0700 Subject: [PATCH 397/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 34b055b..d9674fc 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -364,7 +364,7 @@ set.add( undefined ); set.add( undefined ); set.add({}); // บรรทัด a set.add({}) // บรรทัด b -console.log(set); // Set(7) { 1, '1', true, null, undefined, {}, {} } +console.log(set); // Set(7) { 1, '1', true, null, undefined, {}, {} } console.log(set.size); // 7 ``` From e77e47cd73246761d8a23d3a3877b0cbc2d97ba8 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 10:43:38 +0700 Subject: [PATCH 398/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index d9674fc..e4f1ebf 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -488,7 +488,7 @@ console.log(set); // Set(2) { { x: 1 }, { y: 2 } } ```js let wset = new WeakSet(); let a = { x: 1 }, b = { y: 2 }; -wset.add( a); +wset.add( a ); wset.add( b ); console.log(wset.has(a)); // true console.log(wset.has(b)); // true From 9c8d6941d1f94284830f716a5e039fdd40aee608 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 10:54:50 +0700 Subject: [PATCH 399/757] no message --- examples_book/Chapter15.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index e4f1ebf..e11ee3e 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -606,8 +606,8 @@ let obj = {a:1} ; // --บรรทัด a map.set( obj, "HI"); console.log(map.delete({a:1})); // false --บรรทัด b console.log(map.has({a:1})); // false --บรรทัด c -map.set([],"Bye"); // --บรรทัด d -console.log(map.has([])); // false --บรรทัด f +map.set([ ],"Bye"); // --บรรทัด d +console.log(map.has([ ])); // false --บรรทัด f ``` ### การสร้างแม็พด้วยปีกกา From 35ae034911056f4debbe02db7f7488baf8eb3336 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 10:58:02 +0700 Subject: [PATCH 400/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index e11ee3e..4362980 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -602,7 +602,7 @@ b */ ```js let map = new Map(); -let obj = {a:1} ; // --บรรทัด a +let obj = { a:1 }; // --บรรทัด a map.set( obj, "HI"); console.log(map.delete({a:1})); // false --บรรทัด b console.log(map.has({a:1})); // false --บรรทัด c From 1a833f61a69eef76f7c8f98429e257aa0ac16081 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 10:59:21 +0700 Subject: [PATCH 401/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 4362980..910050c 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -602,7 +602,7 @@ b */ ```js let map = new Map(); -let obj = { a:1 }; // --บรรทัด a +let obj = { a:1 }; // --บรรทัด a map.set( obj, "HI"); console.log(map.delete({a:1})); // false --บรรทัด b console.log(map.has({a:1})); // false --บรรทัด c From e22733bcdd2d54ed25e749b371cf08c369c3ef29 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 11:06:49 +0700 Subject: [PATCH 402/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 910050c..78ecbcb 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -613,7 +613,7 @@ console.log(map.has([ ])); // false --บรรทัด f ### การสร้างแม็พด้วยปีกกา ```js -let map = {}; // จำลองการสร้างแม็พ +let map = { }; // จำลองการสร้างแม็พ let a = { x: 1 }, b = { y: 2 }; map[a] = "foo"; // กำหนดให้ a เป็นค่าคีย์ map[b] = "bar"; // กำหนดให้ b เป็นค่าคีย์ From d4107fb207f49f09918e8144449aa7736b708eb7 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 11:08:26 +0700 Subject: [PATCH 403/757] no message --- examples_book/Chapter15.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 78ecbcb..befde28 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -652,8 +652,8 @@ console.log(buffer.byteLength); // 32 ``` ```js -let buffer = new ArrayBuffer( 32 ); // ระบุความยาว 32 ไบต์ (256 บิต) -console.log(buffer.byteLength); // 32 +let buffer = new ArrayBuffer( 32 ); // ระบุความยาว 32 ไบต์ (256 บิต) +console.log(buffer.byteLength); // 32 let uint16 = new Uint16Array( buffer ); console.log(uint16.length); // สมาชิก 16 ตัว ``` From 89d33dd86ae6fd75216fcb0f53a44396cdc2265b Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 11:14:29 +0700 Subject: [PATCH 404/757] no message --- examples_book/Chapter15.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index befde28..c69433f 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -703,9 +703,9 @@ console.log(b[0], b[1]); // 0 0 let c = new Int32Array([100, 200]); console.log(c[0], c[1]); // 100 200 let likeArray = { - length: 2 - ,0: 300 - ,1: 400 + length: 2, + 0: 300, + 1: 400 } let d = new Uint32Array(likeArray); console.log(d[0], d[1]); // 300 400 From 8eb1291c9f5269f1acf7f5072ff592f68d236c6e Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 11:20:19 +0700 Subject: [PATCH 405/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index c69433f..09d17ad 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -729,7 +729,7 @@ console.log(join); // "1,2,3" ```js var array = [ 10, 1, 5 ]; array.sort(); -console.log(array); // [1,10, 5] +console.log(array); // [ 1, 10, 5 ] let uint8 = new Uint8Array([1,10, 5]); uint8.sort(); console.log(uint8); // Uint8Array(3) [ 1, 5, 10 ] From ebbc28dfc536b9ee98adef10bac387397a9475a2 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 12:04:29 +0700 Subject: [PATCH 406/757] no message --- examples_book/Chapter15.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 09d17ad..3577adc 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -701,7 +701,7 @@ let b = new Float64Array(a); console.log(b.length); // 2 console.log(b[0], b[1]); // 0 0 let c = new Int32Array([100, 200]); -console.log(c[0], c[1]); // 100 200 +console.log(c[0], c[1]); // 100 200 let likeArray = { length: 2, 0: 300, From 68113a75db99943d234689fc19974dac9e8c84dc Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 13:32:18 +0700 Subject: [PATCH 407/757] no message --- examples_book/Chapter15.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 3577adc..9dab9dc 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -772,14 +772,14 @@ console.log(uint8.includes(10)); // false ## เมธอด at() ```js -let array = ['a', 'b', 'c', 'd', 'e']; -console.log(array.at(3)); // 'd' -console.log(array.at(-3)); // 'c' +let array = ["a", "b", "c", "d", "e"]; +console.log(array.at(3)); // "d" +console.log(array.at(-3)); // "c" ``` ```js let str = "abcde"; -console.log(str.at(3)); // 'd' -console.log(str.at(-3)); // 'c' +console.log(str.at(3)); // "d" +console.log(str.at(-3)); // "c" ``` From 3ab794a47a5b7b7b840bcccc53c99c44d824b6f6 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 14:11:28 +0700 Subject: [PATCH 408/757] no message --- examples_book/md2html.js | 9 +- examples_book/mylib.js | 347 +++++++++++++++++++-------------------- 2 files changed, 177 insertions(+), 179 deletions(-) diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 9f5ec1f..b2f5dd2 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -85,17 +85,16 @@ async function genHTML(fileName){ } if(isCode && !line.startsWith("```js") && !line.startsWith("```html")){ - line = line.replaceAll(/\$\$/g, "@-@"); // fix bugs กรณีที่ line มี $$ วางติดกันอยู่ในสตริง + line = line.replaceAll(/\$\$/g, "@-@"); // fix bugs กรณีที่ line มี $$ วางติดกันอยู่ในสตริง เพื่อไม่ให้มันทำงาน (ในบทที่ 11 เรื่องเทมเพลตสตริง) lineCodes += `${line}\n`; } - if(last) { - // writeToHTML(headline, allLines, fileName); + if(last) { let html = templateHTML.replace("${headline}", headline) .replace("${allLines}", allLines) - .replace("${fileName}", fileName); + .replace("${fileName}", fileName); - html = html.replaceAll(/@-@/g, "$$$"); // fix bugs + html = html.replaceAll(/@-@/g, "$$$"); // fix bugs fs.writeFile(`${fileName}.html`, html, function (err) { if (err) throw err; console.log(`${fileName}.html is Saved!`); diff --git a/examples_book/mylib.js b/examples_book/mylib.js index 656f85f..64c2529 100644 --- a/examples_book/mylib.js +++ b/examples_book/mylib.js @@ -1,198 +1,197 @@ - let _resultAreaId = ""; - - function toString(data) { - if(data == null || data == undefined ) { - return ""+ data; +let _resultAreaId = ""; + +function toString(data) { + if(data == null || data == undefined ) { + return ""+ data; - } else if (data instanceof Map) { - let name = data.toString().split(/\s/g)[1].slice(0,-1); - let strBegin = `${name}(${data.size}) { `; - - let str = strBegin; - for(const [key, value] of data.entries()){ - str += `${toString(key)} => ${toString(value)}, `; - } - - return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; - - } else if(data instanceof Set) { - let name = data.toString().split(/\s/g)[1].slice(0,-1); - let strBegin = `${name}(${data.size}) { `; - - let str = strBegin; - for(const [key, value] of data.entries()){ - str += `${toString(value)}, `; - } - - return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; - - } else if( data instanceof Array){ - if(data.length>0 && !(0 in data)) { - return `[ <${data.length} empty items> ]`; - } - - let str = "[ "; - for(const value of data) { - str += ""+ toString(value) + ", "; - } - - if("index" in data) str = str + `index: ${toString(data.index)}, `; - if("input" in data) str = str + `input: ${toString(data.input)}, `; - if("groups" in data) str = str + `groups: ${toString(data.groups)}, `; - return (str.length >2) ? str.slice(0, -2) + ' ]': '[]'; + } else if (data instanceof Map) { + let name = data.toString().split(/\s/g)[1].slice(0,-1); + let strBegin = `${name}(${data.size}) { `; + + let str = strBegin; + for(const [key, value] of data.entries()){ + str += `${toString(key)} => ${toString(value)}, `; + } + + return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; + + } else if(data instanceof Set) { + let name = data.toString().split(/\s/g)[1].slice(0,-1); + let strBegin = `${name}(${data.size}) { `; + + let str = strBegin; + for(const [key, value] of data.entries()){ + str += `${toString(value)}, `; + } + + return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; + + } else if( data instanceof Array){ + if(data.length>0 && !(0 in data)) { + return `[ <${data.length} empty items> ]`; + } + + let str = "[ "; + for(const value of data) { + str += ""+ toString(value) + ", "; + } + + if("index" in data) str = str + `index: ${toString(data.index)}, `; + if("input" in data) str = str + `input: ${toString(data.input)}, `; + if("groups" in data) str = str + `groups: ${toString(data.groups)}, `; + return (str.length >2) ? str.slice(0, -2) + ' ]': '[]'; - } else if( data instanceof Date){ - return data.toString(); + } else if( data instanceof Date){ + return data.toString(); - } else if( data instanceof Window){ - return `Window`; + } else if( data instanceof Window){ + return `Window`; - } else if( typeof data === 'string'){ - return `'${data}'`; - - } else if(typeof data == 'bigint') { - return `${data}n`; - - } else if( typeof data === 'object'){ - let stringTag = data[Symbol.toStringTag]; - if( stringTag == "Float32Array" || stringTag == "Int32Array" || stringTag == "Uint8Array"){ - let arraString = data.toString().replaceAll(/\,/g, ", "); - return `${stringTag}(${data.length}) [ ${arraString} ]`; - - } else if( data.toString().includes("Arguments")){ - //let str = `Arguments(${data.length}) { ` - let strBegin = "[Arguments] { "; - let str = strBegin; + } else if( typeof data === 'string'){ + return `'${data}'`; + + } else if(typeof data == 'bigint') { + return `${data}n`; + + } else if( typeof data === 'object'){ + let stringTag = data[Symbol.toStringTag]; + if( stringTag == "Float32Array" || stringTag == "Int32Array" || stringTag == "Uint8Array"){ + let arraString = data.toString().replaceAll(/\,/g, ", "); + return `${stringTag}(${data.length}) [ ${arraString} ]`; + + } else if( data.toString().includes("Arguments")){ + //let str = `Arguments(${data.length}) { ` + let strBegin = "[Arguments] { "; + let str = strBegin; - for(const [key, value] of Object.entries(data)){ - str += `'${key}': ${toString(value)}, `; - } + for(const [key, value] of Object.entries(data)){ + str += `'${key}': ${toString(value)}, `; + } - for(const sym of Object.getOwnPropertySymbols(data)){ // get properties of Symbol - str += `${sym.toString()}: ${toString(data[sym])}, `; - } + for(const sym of Object.getOwnPropertySymbols(data)){ // get properties of Symbol + str += `${sym.toString()}: ${toString(data[sym])}, `; + } - return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; - //return (str != `Arguments(${data.length}) { ` ) ? str.slice(0, -2) + " }": `Arguments(${data.length}) {}`; + return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; + //return (str != `Arguments(${data.length}) { ` ) ? str.slice(0, -2) + " }": `Arguments(${data.length}) {}`; - } else { - let str = "{ "; + } else { + let str = "{ "; - for(const [key, value] of Object.entries(data)){ - str += `${key}: ${toString(value)}, `; - } + for(const [key, value] of Object.entries(data)){ + str += `${key}: ${toString(value)}, `; + } - for(const sym of Object.getOwnPropertySymbols(data)){ // get properties of Symbol - str += `[${sym.toString()}]: ${toString(data[sym])}, `; - } - - return (str.length >2) ? str.slice(0, -2) + " }": "{}"; - } + for(const sym of Object.getOwnPropertySymbols(data)){ // get properties of Symbol + str += `[${sym.toString()}]: ${toString(data[sym])}, `; + } - } else { - return String(data); // stop recursive + return (str.length >2) ? str.slice(0, -2) + " }": "{}"; + } - } - } + } else { + return String(data); // stop recursive + } +} - function escapeHtml(unsafe) { - return unsafe - .replaceAll(/&/g, "&") - .replaceAll(/</g, "<") - .replaceAll(/>/g, ">") - .replaceAll(/"/g, '"') - .replaceAll(/'/g, "'"); - } +function escapeHtml(unsafe) { + return unsafe + .replaceAll(/&/g, "&") + .replaceAll(/</g, "<") + .replaceAll(/>/g, ">") + .replaceAll(/"/g, '"') + .replaceAll(/'/g, "'"); +} - function decodeHtml(str) { - return str - .replaceAll(/&/g, "&") - .replaceAll(//g, ">") - .replaceAll(/"/g, '"') - .replaceAll(/'/g, "'") - .replaceAll(/\n/g,'
    ') - .replaceAll(/\t/g, "        ") - .replaceAll(/\s/g, " "); +function decodeHtml(str) { + return str + .replaceAll(/&/g, "&") + .replaceAll(//g, ">") + .replaceAll(/"/g, '"') + .replaceAll(/'/g, "'") + .replaceAll(/\n/g,'
    ') + .replaceAll(/\t/g, "        ") + .replaceAll(/\s/g, " "); } - function dowloadfile(content){ - const link = document.createElement("a"); - const file = new Blob([content], { type: 'text/plain' }); - link.href = URL.createObjectURL(file); - link.download = "sample.html"; - link.click(); - URL.revokeObjectURL(link.href); - } +function dowloadfile(content){ + const link = document.createElement("a"); + const file = new Blob([content], { type: 'text/plain' }); + link.href = URL.createObjectURL(file); + link.download = "sample.html"; + link.click(); + URL.revokeObjectURL(link.href); +} - console.log = function(...data){ - let display = document.querySelector(_resultAreaId); - for( let d of data){ - if( typeof d !== 'string'){ - d = toString(d); - } - - if(d == '@negzero'){ // fix bugs - d = "-0"; - } - - if(d === "@not_use_Arguments"){ // fix bugs - throw new ReferenceError("arguments is not defined"); - } - - if(d.startsWith('@html')){ - d = d.substring(5); // เมื่อเจอ @html นำหน้า เป็นการบอกว่าต้องการให้สตริง html มันทำงานในเว็บเบราเซอร์ - } else { - d = decodeHtml(d); // ไม่ต้องการให้สตริง html ทำงานในเว็บเบราเซอร์ - } +console.log = function(...data){ + let display = document.querySelector(_resultAreaId); + for( let d of data){ + if( typeof d !== 'string'){ + d = toString(d); + } + + if(d == '@negzero'){ // fix bugs + d = "-0"; + } - display.innerHTML += d + " "; - } - display.innerHTML += "
    "; + if(d === "@not_use_Arguments"){ // fix bugs + throw new ReferenceError("arguments is not defined"); } + + if(d.startsWith('@html')){ + d = d.substring(5); // เมื่อเจอ @html นำหน้า เป็นการบอกว่าต้องการให้สตริง html มันทำงานในเว็บเบราเซอร์ + } else { + d = decodeHtml(d); // ไม่ต้องการให้สตริง html ทำงานในเว็บเบราเซอร์ + } + + display.innerHTML += d + " "; + } + display.innerHTML += "
    "; +} - function clearDisplay(targetCount) { - let displayResult = document.querySelector(`#displayResult${targetCount}`); - displayResult.innerHTML = ""; +function clearDisplay(targetCount) { + let displayResult = document.querySelector(`#displayResult${targetCount}`); + displayResult.innerHTML = ""; - let textCodeArea = document.querySelector(`#codeArea${targetCount}`); - if(textCodeArea.classList.contains("run-already")){ - textCodeArea.classList.remove("run-already"); - textCodeArea.classList.add("notrun"); - } - } + let textCodeArea = document.querySelector(`#codeArea${targetCount}`); + if(textCodeArea.classList.contains("run-already")){ + textCodeArea.classList.remove("run-already"); + textCodeArea.classList.add("notrun"); + } +} - function runCodeBtn(targetCount) { - clearDisplay(targetCount); - - _resultAreaId = `#displayResult${targetCount}`; - let textCodeArea = document.querySelector(`#codeArea${targetCount}`); - let codeTxt = textCodeArea.value; +function runCodeBtn(targetCount) { + clearDisplay(targetCount); + + _resultAreaId = `#displayResult${targetCount}`; + let textCodeArea = document.querySelector(`#codeArea${targetCount}`); + let codeTxt = textCodeArea.value; - if( codeTxt.includes("")>0 ) { - document.querySelector(`#form${targetCount}`).submit(); - } else { - - try { - console.log("@htmlผลการรัน:"); - codeTxt = codeTxt.replaceAll(/-false/g, "'@negzero'"); // fix bugs ถ้าเป็นเลข -false ต้องแสดง -0 เลยต้องแทนด้วย '@negzero' - //codeTxt = codeTxt.replaceAll(/-0.(?++++Error++++"); - console.log("@htmlUncaught " + e + ""); - if(e.stack) { - console.log("@html" + e.stack + ""); - } - } - - } + if( codeTxt.includes("")>0 ) { + document.querySelector(`#form${targetCount}`).submit(); + } else { + + try { + console.log("@htmlผลการรัน:"); + codeTxt = codeTxt.replaceAll(/-false/g, "'@negzero'"); // fix bugs ถ้าเป็นเลข -false ต้องแสดง -0 เลยต้องแทนด้วย '@negzero' + //codeTxt = codeTxt.replaceAll(/-0.(?++++Error++++"); + console.log("@htmlUncaught " + e + ""); + if(e.stack) { + console.log("@html" + e.stack + ""); + } + } + + } - textCodeArea.classList.add("run-already"); - //btn.value = "Run again"; - return false; - } \ No newline at end of file + textCodeArea.classList.add("run-already"); + //btn.value = "Run again"; + return false; +} \ No newline at end of file From 7d8ad3136c88bc078b332adb48b0dfb003b82c14 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 15:37:10 +0700 Subject: [PATCH 409/757] no message --- examples_book/Chapter16.md | 10 +++---- examples_book/md.css | 55 ++++++++++++++++++++++---------------- examples_book/md2html.js | 19 +++---------- 3 files changed, 41 insertions(+), 43 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 84d548d..83c6f66 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -19,11 +19,11 @@ function createIterator(array) { return iterator; } let iterator = createIterator([1, 5, 10]); -console.log(iterator.next()); // {value: 1, done: false} -console.log(iterator.next()); // {value: 5, done: false} -console.log(iterator.next()); // {value: 10, done: false} -console.log(iterator.next()); // {value: undefined, done: true} -console.log(iterator.next()); // {value: undefined, done: true} +console.log(iterator.next()); // { value: 1, done: false } +console.log(iterator.next()); // { value: 5, done: false } +console.log(iterator.next()); // { value: 10, done: false } +console.log(iterator.next()); // { value: undefined, done: true } +console.log(iterator.next()); // { value: undefined, done: true } ``` ## อิเทอเรเตอร์ที่มีอยู่แล้วในภาษา diff --git a/examples_book/md.css b/examples_book/md.css index df67d3d..0cb3d89 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -1,5 +1,5 @@ body { - + /*font-family: 'Noto Sans Thai', sans-serif;*/ } .notrun { @@ -39,14 +39,13 @@ body { } textarea { - font-size: 1.0em; + font-size: 0.9em; background-color: #F5F5F5; width: 100%; } .describe { margin:3px; - font-family: 'Noto Sans Thai', sans-serif; font-size:16px; } @@ -90,29 +89,26 @@ textarea { background-color: #EFFEC9; } +.group-menu{ + +} + .btn-menu { position: fixed; - left: 5; - top: 8; + left: 0; + top: 0; border: 1px solid; border-color: #5A8A1A; border-radius: 15px; - background: #558415; - color: white; - padding: 0.5rem 4.5rem; - font-size: 14px; + background: #558415; + padding: 0.5rem 4.5rem; cursor: pointer; z-index: 50; -} - -.hidden-menu { + color:white; + font-size:18px; display:none; } -.btn-menu:hover .hidden-menu { - display: block; -} - .main-menu{ position: fixed; left: 0; @@ -125,6 +121,7 @@ textarea { padding-left:10px; padding-bottom:100px; background-color: #BDDB94; + font-size: 16px; /*overflow-y: scroll;**/ overflow: auto; z-index: 5; @@ -138,6 +135,7 @@ textarea { background-color: #606060; color: white; text-align: left; + font-size: 0.9rem; margin-top: 3px; margin-bottom: 3px; border: 0.5px #023020; @@ -152,8 +150,6 @@ div.display-result { word-wrap: break-word; } - - .footer { background-color: #3CB371; position: fixed; @@ -167,11 +163,9 @@ div.display-result { } @media all and (max-width: 768px){ - .left-menu { - display: none; - } .main { - margin-left: 10px; + margin-left: 2%; + margin-right: 2%; } .sale { margin-left: 10px; @@ -182,8 +176,23 @@ div.display-result { .ads { display: none; } + + /* + .headline { + display: none; + } + + .btn-menu { + display: block; + } .main-menu { - display: none; + display: none; + width: 100%; + } + .group-menu:hover .main-menu { + display: block; + margin-top: 10px; } + */ } \ No newline at end of file diff --git a/examples_book/md2html.js b/examples_book/md2html.js index b2f5dd2..e5d6763 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -5,22 +5,11 @@ const fs = Promise.promisifyAll(require('fs')); const lineReader = require('line-reader'); const eachLine = Promise.promisify(lineReader.eachLine); - -let templateHTML = ""; +/*let templateHTML = ""; try { templateHTML = fs.readFileSync('template.html', { encoding: 'utf8' }); } catch (err) { console.log(err); -} - -/*function writeToHTML(headline, allLines, fileName){ - let html = templateHTML.replace("${headline}", headline) - .replace("${allLines}", allLines) - .replace("${fileName}", fileName); - return fs.writeFile(`${fileName}.html`, html, function (err) { - if (err) throw err; - console.log(`${fileName}.html is Saved!`); - }); }*/ async function genHTML(fileName){ @@ -90,10 +79,10 @@ async function genHTML(fileName){ } if(last) { - let html = templateHTML.replace("${headline}", headline) + /*let html = templateHTML.replace("${headline}", headline) .replace("${allLines}", allLines) - .replace("${fileName}", fileName); - + .replace("${fileName}", fileName);*/ + let html = allLines; html = html.replaceAll(/@-@/g, "$$$"); // fix bugs fs.writeFile(`${fileName}.html`, html, function (err) { if (err) throw err; From 7746ae05510728f30854ebb672a7cf30f82318f7 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 15:39:08 +0700 Subject: [PATCH 410/757] no message --- examples_book/Chapter16.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 83c6f66..94709f7 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -31,9 +31,9 @@ console.log(iterator.next()); // { value: undefined, done: true } ```js let array = [1, 5]; let iterator = array[Symbol.iterator](); -console.log(iterator.next()); // {value: 1, done: false} -console.log(iterator.next()); // {value: 5, done: false} -console.log(iterator.next()); // {value: undefined, done: true} +console.log(iterator.next()); // { value: 1, done: false } +console.log(iterator.next()); // { value: 5, done: false } +console.log(iterator.next()); // { value: undefined, done: true } ``` ```js From dffc5af59bb57cbb788eed816ec883bae2e7c5a5 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 15:41:02 +0700 Subject: [PATCH 411/757] no message --- examples_book/Chapter16.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 94709f7..762be8a 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -39,9 +39,9 @@ console.log(iterator.next()); // { value: undefined, done: true } ```js let say = "hi"; let iterator = say[Symbol.iterator](); -console.log(iterator.next()); // {value: "h", done: false} -console.log(iterator.next()); // {value: "i", done: false} -console.log(iterator.next()); // {value: undefined, done: true} +console.log(iterator.next()); // { value: "h", done: false } +console.log(iterator.next()); // { value: "i", done: false } +console.log(iterator.next()); // { value: undefined, done: true } ``` ```js From 31f59c1cbe17709c43f37ae56a9034108077689c Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 15:49:03 +0700 Subject: [PATCH 412/757] no message --- examples_book/md.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/md.css b/examples_book/md.css index 0cb3d89..03652b0 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -120,7 +120,7 @@ textarea { padding-top:12px; padding-left:10px; padding-bottom:100px; - background-color: #BDDB94; + background-color: #DAF7A6; font-size: 16px; /*overflow-y: scroll;**/ overflow: auto; From afb2165470bf5370f148a2dffd130e966216b89a Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 16:05:57 +0700 Subject: [PATCH 413/757] no message --- examples_book/Chapter16.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 762be8a..447db6a 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -172,14 +172,14 @@ for (let entry of map.entries()) { } /* จะแสดงผลลัพธ์ดังนี้ เมื่อใช้ array.entries() จะแสดงผลลัพธ์เป็น -[0, 5] -[1,10] +[ 0, 5 ] +[ 1, 10 ] เมื่อใช้ set.entries() จะแสดงผลลัพธ์เป็น -["red", "red"] -["green", "green"] +[ 'red', 'red' ] +[ 'green', 'green' ] เมื่อใช้ map.entries() จะแสดงผลลัพธ์เป็น -["firstname", "Somchai"] -["lastname", "Jaidee"] */ +[ 'firstname', 'Somchai' ] +[ 'lastname', 'Jaidee' ] */ ``` ```js @@ -668,7 +668,7 @@ function * genIterator() { let iterator = genIterator (); console.log(iterator.next()); // {value: 1, done: false} console.log(iterator.next(2)); // {value: 5, done: false} -console.log(iterator.throw(new Error(‘’))); // error +console.log(iterator.throw(new Error(''))); // error ``` ```js @@ -685,7 +685,7 @@ function * genIterator() { let iterator = genIterator(); console.log(iterator.next()); // {value: 1, done: false} console.log(iterator.next(2)); // {value: 5, done: false} -console.log(iterator.throw(new Error(‘’))); // {value: 10, done: false} +console.log(iterator.throw(new Error(''))); // {value: 10, done: false} console.log(iterator.next()); // {value: undefined, done: true} ``` From d616790902ea24b1b1d5849b3fb77b38a895c99a Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 16:13:23 +0700 Subject: [PATCH 414/757] no message --- examples_book/Chapter16.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 447db6a..f17844b 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -202,8 +202,8 @@ for (let entry of map) { // จะเหมือนกับกา 10 "red" "green" -["firstname", "Somchai"] -["lastname", "Jaidee"] */ +[ 'firstname', 'Somchai' ] +[ 'lastname', 'Jaidee' ] */ ``` ### โอเปอเรเตอร์สเปรด From d9d6ebe865325ac339b94f9f73317d2279e793b4 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 17:12:53 +0700 Subject: [PATCH 415/757] no message --- examples_book/md.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/md.css b/examples_book/md.css index 03652b0..aaa73d8 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -136,7 +136,7 @@ textarea { color: white; text-align: left; font-size: 0.9rem; - margin-top: 3px; + margin-top: 2px; margin-bottom: 3px; border: 0.5px #023020; } From 6d3dac50a15dad164a386de0519a7528c88fa688 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 17:28:57 +0700 Subject: [PATCH 416/757] no message --- examples_book/Chapter16.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index f17844b..c68cf00 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -246,12 +246,12 @@ let keys = [ ...map.keys() ], values = [ ...map.values() ], entries = [ ...map.entries() ]; console.log(keys); // [1, 2] -console.log(values); // ["a", "b"] +console.log(values); // [ 'a', 'b' ] console.log(entries[0][0]); // 1 console.log(entries[0][1]); // "a" console.log(entries[1][0]); // 2 console.log(entries[1][1]); // "b" -console.log( [...map]); // [ [1, "a"] , [2, "b"] ] +console.log( [...map]); // [ [ 1, 'a' ], [ 2, 'b' ] ] ``` * ตัวอย่างที่ 4 จะแสดงการใช้โอเปอเรเตอร์สเปรด กับอาร์เรย์ From a95f1cc34fb9bbf7b810bf3a4115ee840a1b771e Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 17:31:20 +0700 Subject: [PATCH 417/757] no message --- examples_book/Chapter16.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index c68cf00..367798c 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -251,7 +251,7 @@ console.log(entries[0][0]); // 1 console.log(entries[0][1]); // "a" console.log(entries[1][0]); // 2 console.log(entries[1][1]); // "b" -console.log( [...map]); // [ [ 1, 'a' ], [ 2, 'b' ] ] +console.log( [...map]); // [ [ 1, 'a' ], [ 2, 'b' ] ] ``` * ตัวอย่างที่ 4 จะแสดงการใช้โอเปอเรเตอร์สเปรด กับอาร์เรย์ From 372a06628560b6816f26e56c2713de5a9bf48a27 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 17:38:59 +0700 Subject: [PATCH 418/757] no message --- examples_book/md.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/md.css b/examples_book/md.css index aaa73d8..17af7e9 100644 --- a/examples_book/md.css +++ b/examples_book/md.css @@ -39,7 +39,7 @@ body { } textarea { - font-size: 0.9em; + font-size: 1em; background-color: #F5F5F5; width: 100%; } @@ -135,7 +135,7 @@ textarea { background-color: #606060; color: white; text-align: left; - font-size: 0.9rem; + font-size: 1rem; margin-top: 2px; margin-bottom: 3px; border: 0.5px #023020; From f06e5891fe91630d94112f8e208f8b4d080ef572 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 17:39:26 +0700 Subject: [PATCH 419/757] no message --- examples_book/Chapter16.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 367798c..bbbaab2 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -257,12 +257,12 @@ console.log( [...map]); // [ [ 1, 'a' ], [ 2, 'b' ] ] * ตัวอย่างที่ 4 จะแสดงการใช้โอเปอเรเตอร์สเปรด กับอาร์เรย์ ```js -let array = []; +let array = [ ]; array.length = 3; array[1] = "a"; console.log(...array.keys()); // 0 1 2 -console.log(...array.values()); // undefined "a" undefined -console.log(...array.entries()); // [0, undefined] [1, "a"] [2, undefined] +console.log(...array.values()); // undefined a undefined +console.log(...array.entries()); // [ 0, undefined ] [ 1, 'a' ] [ 2, undefined ] console.log(...array); // undefined "a" undefined ``` From 626ab38e98dd16975197b7db9deda1905b7e31e5 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 17:42:40 +0700 Subject: [PATCH 420/757] no message --- examples_book/Chapter16.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index bbbaab2..967d388 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -263,7 +263,7 @@ array[1] = "a"; console.log(...array.keys()); // 0 1 2 console.log(...array.values()); // undefined a undefined console.log(...array.entries()); // [ 0, undefined ] [ 1, 'a' ] [ 2, undefined ] -console.log(...array); // undefined "a" undefined +console.log(...array); // undefined a undefined ``` * ตัวอย่างที่ 5 จะแสดงการใช้โอเปอเรเตอร์สเปรด กับอาร์เรย์ระดับบิต From ea9053783a3c2c8202358277898c905e99610997 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 17:43:44 +0700 Subject: [PATCH 421/757] no message --- examples_book/Chapter16.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 967d388..a31a5f6 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -273,7 +273,7 @@ uint8[0] = 10 ; uint8[1] = 20 ; console.log(...uint8.keys()); // 0 1 console.log(...uint8.values()); // 10 20 -console.log(...uint8.entries()); // [0, 10] [1, 20] +console.log(...uint8.entries()); // [ 0, 10 ] [ 1, 20 ] console.log(...uint8); // 10 20 ``` From cbc67999a136ac77130e7e84e15caeb1c086cf1e Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 17:46:25 +0700 Subject: [PATCH 422/757] no message --- examples_book/Chapter16.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index a31a5f6..f4a8580 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -292,8 +292,8 @@ plus(...array); // 60 * ยูเนียน ```js -let a = new Set([1, 2, 3, 4, 5]); // Set {1, 2, 3, 4, 5} -let b = new Set([3, 4, 5, 6, 7]); // Set {3, 4, 5, 6, 7} +let a = new Set([1, 2, 3, 4, 5]); // Set(5) { 1, 2, 3, 4, 5 } +let b = new Set([3, 4, 5, 6, 7]); // Set(5) { 3, 4, 5, 6, 7 } let union = new Set([...a, ...b]); console.log(...union); // 1 2 3 4 5 6 7 ``` From ac2cf8abaa68888b9a7a76cb74d68926f0f8c42d Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 17:49:35 +0700 Subject: [PATCH 423/757] no message --- examples_book/Chapter16.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index f4a8580..ce3d0c9 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -300,8 +300,8 @@ console.log(...union); // 1 2 3 4 5 6 7 * อินเตอร์เซคชั่น ```js -let a = new Set([1, 2, 3, 4, 5]); // Set {1, 2, 3, 4, 5} -let b = new Set([3, 4, 5, 6, 7]); // Set {3, 4, 5, 6, 7} +let a = new Set([1, 2, 3, 4, 5]); // Set(5) { 1, 2, 3, 4, 5 } +let b = new Set([3, 4, 5, 6, 7]); // Set(5) { 3, 4, 5, 6, 7 } let temp = [...a]; // แตกสมาชิกของเซทออกมา ให้กลายมาเป็นอาร์เรย์ชั่วคราว let intersect = new Set(temp.filter( item => b.has(item) ) ); // หรือจะเขียนสั้น ๆ ได้เป็น From 22a8afd0ed3e86c3b0e6c2fe194bbf655cc333fa Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 17:56:47 +0700 Subject: [PATCH 424/757] no message --- examples_book/Chapter16.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index ce3d0c9..c2afb96 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -311,8 +311,8 @@ console.log(...intersect); // 3 4 5 * ผลต่างของเซต ```js -let a = new Set([1, 2, 3, 4, 5]); // Set {1, 2, 3, 4, 5} -let b = new Set([3, 4, 5, 6, 7]); // Set {3, 4, 5, 6, 7} +let a = new Set([1, 2, 3, 4, 5]); // Set(5) { 1, 2, 3, 4, 5 } +let b = new Set([3, 4, 5, 6, 7]); // Set(5) { 3, 4, 5, 6, 7 } let temp = [...a]; // แตกสมาชิกของเซทออกมา ให้กลายมาเป็นอาร์เรย์ชั่วคราว let diff = new Set(temp.filter(item => !b.has(item) ) ); // หรือจะเขียนสั้น ๆ ได้เป็น From 343fce672c56e73a73153ff69a3fca0868ca39bb Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 18:19:19 +0700 Subject: [PATCH 425/757] no message --- examples_book/Chapter16.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index c2afb96..7ddbd94 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -337,8 +337,8 @@ map.set("firstname", "Somchai"); map.set("lastname", "Jaidee"); //let map = new Map( [["firstname","Somchai"] , ["lastname", "Jaidee"] ]); let [a, b] = map; -console.log(a); // [ "firstname", "Somchai" ] -console.log(b); // [ "lastname", "Jaidee" ] +console.log(a); // [ 'firstname', 'Somchai' ] +console.log(b); // [ 'lastname', 'Jaidee' ] let [ [key1, value1] , [key2, value2]] = map; console.log(key1,key2); // "firstname lastname" console.log(value1,value2); // "Somchai Jaidee" From c6874f9ba1bc732bcb7ab2e4bdc658aa671329a0 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 18:22:42 +0700 Subject: [PATCH 426/757] no message --- examples_book/Chapter16.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 7ddbd94..ebca0a7 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -360,8 +360,8 @@ let set = new Set([10, 20]); console.log(a1[0], a1[1]); // 10 20 let map = new Map( [["firstname","Somchai"] , ["lastname", "Jaidee"] ]); [...a2] = [...map]; -console.log(a2[0]); // ["firstname", "Somchai"] -console.log(a2[1]); // ["lastname", "Jaidee"] +console.log(a2[0]); // [ 'firstname', 'Somchai' ] +console.log(a2[1]); // [ 'lastname', 'Jaidee' ] console.log(a2[0][0], a2[0][1]); // "firstname Somchai" console.log(a2[1][0], a2[1][1]); // "lastname Jaidee" ``` From d27e703435aa799e89172c64fbf9ab911d0ea2f8 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 18:31:57 +0700 Subject: [PATCH 427/757] no message --- examples_book/Chapter16.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index ebca0a7..3067f86 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -447,7 +447,7 @@ obj[Symbol.iterator] = function () { // บรรทัดที่ 2 return this.array[Symbol.iterator](); // บรรทัดที่ 3 // return this.array.values(); // หรือจะเขียนแบบนี้ก็สามารถทำได้ }; -for(let i of obj){ +for(let i of obj) { console.log(i); } /* แสดงผลลัพธ์ From 300e7755cd39c81b71dd8809393a4102c988307a Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 18:42:30 +0700 Subject: [PATCH 428/757] no message --- examples_book/Chapter16.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 3067f86..a55f589 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -523,10 +523,10 @@ function * genIterator() { // ซอร์สโค้ด } let iterator = genIterator(); -console.log(iterator.next()); // {value: 1, done: false} -console.log(iterator.next()); // {value: 5, done: false} -console.log(iterator.next()); // {value: 10, done: false} -console.log(iterator.next()); // {value: undefined, done: true} +console.log(iterator.next()); // { value: 1, done: false } +console.log(iterator.next()); // { value: 5, done: false } +console.log(iterator.next()); // { value: 10, done: false } +console.log(iterator.next()); // { value: undefined, done: true } ``` ```js From 5caa4e8e5f3f1a014d147f75eaf6b2e0763d4655 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 18:46:38 +0700 Subject: [PATCH 429/757] no message --- examples_book/Chapter16.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index a55f589..015f349 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -538,10 +538,10 @@ function * genIterator(array) { } } let iterator = genIterator ([1, 5, 10]); -console.log(iterator.next()); // {value: 1, done: false} -console.log(iterator.next()); // {value: 5, done: false} -console.log(iterator.next()); // {value: 10, done: false} -console.log(iterator.next()); // {value: undefined, done: true} +console.log(iterator.next()); // { value: 1, done: false } +console.log(iterator.next()); // { value: 5, done: false } +console.log(iterator.next()); // { value: 10, done: false } +console.log(iterator.next()); // { value: undefined, done: true } ``` ```js From 26f1944d17e0767eb47a024e712b01b3059ca7b2 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 18:53:41 +0700 Subject: [PATCH 430/757] no message --- examples_book/Chapter16.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 015f349..1b39c7a 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -606,17 +606,17 @@ function * genIterator() { let item = new Set([8, 9]); yield* item.values(); // บรรทัด e } -let iterator = genIterator(6, 7); // บรรทัด f -console.log(iterator.next()); // {value: 1, done: false} -console.log(iterator.next()); // {value: 2, done: false} -console.log(iterator.next()); // {value: 3, done: false} -console.log(iterator.next()); // {value: "4", done: false} -console.log(iterator.next()); // {value: "5", done: false} -console.log(iterator.next()); // {value: 6, done: false} -console.log(iterator.next()); // {value: 7, done: false} -console.log(iterator.next()); // {value: 8, done: false} -console.log(iterator.next()); // {value: 9, done: false} -console.log(iterator.next()); // {value: undefined, done: true} +let iterator = genIterator(6, 7); // บรรทัด f +console.log(iterator.next()); // { value: 1, done: false } +console.log(iterator.next()); // { value: 2, done: false } +console.log(iterator.next()); // { value: 3, done: false } +console.log(iterator.next()); // { value: '4', done: false } +console.log(iterator.next()); // { value: '5', done: false } +console.log(iterator.next()); // { value: 6, done: false } +console.log(iterator.next()); // { value: 7, done: false } +console.log(iterator.next()); // { value: 8, done: false } +console.log(iterator.next()); // { value: 9, done: false } +console.log(iterator.next()); // { value: undefined, done: true } ``` ```js From 1fdd8c47a0bd125161f799773efbc3d0035def90 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 18:59:02 +0700 Subject: [PATCH 431/757] no message --- examples_book/Chapter16.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 1b39c7a..384d2cf 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -625,21 +625,21 @@ function * f() { return 2; // บรรทัด b } function * g(count) { - for(let i=0; i<2 ; i++){ + for(let i=0; i<2 ; i++) { yield count + i; // บรรทัด c } } function * genIterator() { let result = yield *f(); // บรรทัด d yield result + 10; // บรรทัด e - yield *g(result); // บรรทัด f + yield *g(result); // บรรทัด f } let iterator = genIterator(); -console.log(iterator.next()); // {value: 1, done: false} -console.log(iterator.next()); // {value: 12, done: false} -console.log(iterator.next()); // {value: 2, done: false} -console.log(iterator.next()); // {value: 3, done: false} -console.log(iterator.next()); // {value: undefined, done: true} +console.log(iterator.next()); // { value: 1, done: false } +console.log(iterator.next()); // { value: 12, done: false } +console.log(iterator.next()); // { value: 2, done: false } +console.log(iterator.next()); // { value: 3, done: false } +console.log(iterator.next()); // { value: undefined, done: true } ``` ### ส่งค่าอากิวเมนต์ไปให้เมธอด next() From c1ee8072d158fe199ca01f71a4e937cb288ef52f Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 20 Sep 2023 19:02:27 +0700 Subject: [PATCH 432/757] no message --- examples_book/Chapter16.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 384d2cf..9050747 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -651,10 +651,10 @@ function * genIterator() { yield b + 7; } let iterator = genIterator(); -console.log(iterator.next()); // {value: 1, done: false} -console.log(iterator.next(2)); // {value: 5, done: false} -console.log(iterator.next(3)); // {value: 10, done: false} -console.log(iterator.next(4)); // {value: undefined, done: true} +console.log(iterator.next()); // { value: 1, done: false } +console.log(iterator.next(2)); // { value: 5, done: false } +console.log(iterator.next(3)); // { value: 10, done: false } +console.log(iterator.next(4)); // { value: undefined, done: true } ``` ### เมธอด throw() From 297e25c64de54d64161a20e759fb492a49bea7ac Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 21 Sep 2023 04:16:33 +0700 Subject: [PATCH 433/757] no message --- examples_book/Chapter16.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 9050747..cef1431 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -666,8 +666,8 @@ function * genIterator() { yield b + 7; } let iterator = genIterator (); -console.log(iterator.next()); // {value: 1, done: false} -console.log(iterator.next(2)); // {value: 5, done: false} +console.log(iterator.next()); // { value: 1, done: false } +console.log(iterator.next(2)); // { value: 5, done: false } console.log(iterator.throw(new Error(''))); // error ``` From 6196033ab0f15fa1d6bb4995194b0dc90e56f657 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 21 Sep 2023 05:52:03 +0700 Subject: [PATCH 434/757] no message --- examples_book/Chapter16.md | 8 ++++---- examples_book/process.png | Bin 0 -> 23186 bytes examples_book/{md.css => readme_md.css} | 0 3 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 examples_book/process.png rename examples_book/{md.css => readme_md.css} (100%) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index cef1431..1dc95b5 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -683,10 +683,10 @@ function * genIterator() { yield b + 7; } let iterator = genIterator(); -console.log(iterator.next()); // {value: 1, done: false} -console.log(iterator.next(2)); // {value: 5, done: false} -console.log(iterator.throw(new Error(''))); // {value: 10, done: false} -console.log(iterator.next()); // {value: undefined, done: true} +console.log(iterator.next()); // { value: 1, done: false } +console.log(iterator.next(2)); // { value: 5, done: false } +console.log(iterator.throw(new Error(‘’))); // { value: 10, done: false } +console.log(iterator.next()); // { value: undefined, done: true } ``` ### นิพจน์เจนเนอเรเตอร์ diff --git a/examples_book/process.png b/examples_book/process.png new file mode 100644 index 0000000000000000000000000000000000000000..8e1645d6454730508e42cab540b0651107441ef7 GIT binary patch literal 23186 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 Y6v6!Q_AeH1@KXxX*3efkSG5WG59&UG6#xJL literal 0 HcmV?d00001 diff --git a/examples_book/md.css b/examples_book/readme_md.css similarity index 100% rename from examples_book/md.css rename to examples_book/readme_md.css From fe2ebd786e562c6f0e09037d29648e3d40fa4904 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 21 Sep 2023 06:29:56 +0700 Subject: [PATCH 435/757] no message --- examples_book/Chapter16.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 1dc95b5..3dcbaac 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -685,7 +685,7 @@ function * genIterator() { let iterator = genIterator(); console.log(iterator.next()); // { value: 1, done: false } console.log(iterator.next(2)); // { value: 5, done: false } -console.log(iterator.throw(new Error(‘’))); // { value: 10, done: false } +console.log(iterator.throw(new Error(''))); // { value: 10, done: false } console.log(iterator.next()); // { value: undefined, done: true } ``` From 149a544634743a442d4380472ef20eb09a3cad17 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 21 Sep 2023 06:54:50 +0700 Subject: [PATCH 436/757] no message --- examples_book/Chapter15.md | 18 ++++++++--------- examples_book/readme_md.css | 39 +++++++++++++++++++++++++++++++++---- 2 files changed, 44 insertions(+), 13 deletions(-) diff --git a/examples_book/Chapter15.md b/examples_book/Chapter15.md index 9dab9dc..c9c76f4 100644 --- a/examples_book/Chapter15.md +++ b/examples_book/Chapter15.md @@ -270,10 +270,10 @@ console.log(newArr2); let array = [1, 2, 3, 4]; array.forEach( (value, index, arrayObj) => console.log(`a[${index}] = ${value}`) ); /*แสดงผลลัพธ์ -a[0] = 1 -a[1] = 2 -a[2] = 3 -a[3] = 4 */ +"a[0] = 1" +"a[1] = 2" +"a[2] = 3" +"a[3] = 4" */ ``` ```js @@ -424,9 +424,9 @@ function log(value1, value2, setObj) { let set = new Set( ["a", "b", "c"] ); set.forEach( log, set); // ระบุค่าอากิวเมนต์ตัวที่สองเป็น set /*แสดงผลลัพธ์เป็น -[a] = a -[b] = b -[c] = c */ +"[a] = a" +"[b] = b" +"[c] = c" */ ``` ```js @@ -586,8 +586,8 @@ function log(value, key, mapObj) { let map = new Map( [ [1, "a"] , [2, "b"] ]); map.forEach( log, map); //ระบุค่าอากิวเมนต์ตัวที่สองเป็น map /*แสดงผลลัพธ์เป็น -[1] = a -[2] = b */ +"[1] = a" +"[2] = b" */ ``` ```js diff --git a/examples_book/readme_md.css b/examples_book/readme_md.css index 17af7e9..0346078 100644 --- a/examples_book/readme_md.css +++ b/examples_book/readme_md.css @@ -16,8 +16,8 @@ body { .main { margin-top: 70px; - margin-left: 20%; - margin-right: 20%; + margin-left: 21%; + margin-right: 21%; overflow:auto; } @@ -86,7 +86,7 @@ textarea { } .link-chap:hover { - background-color: #EFFEC9; + background-color: #FBFBFB; } .group-menu{ @@ -114,7 +114,7 @@ textarea { left: 0; top: 30; height: 100%; - width: 17%; + width: 18%; height: 100%; margin-top:18px; padding-top:12px; @@ -162,6 +162,37 @@ div.display-result { z-index: 1000; } +.rotate { + animation: animName 2s linear infinite; + opacity: 10; + width:30%; + position: fixed; + left:35%; + top:20%; + z-index: 100; + display: none; +} + +@keyframes animName { + 0%{ + transform: rotate(0deg); + } + 100%{ + transform: rotate(360deg); + } +} + +.loading { + animation: blinker 1s step-start; + /*background-color: #FBFBFB;*/ +} + +@keyframes blinker { + 50% { + opacity: 0; + } +} + @media all and (max-width: 768px){ .main { margin-left: 2%; From 1b7950eb3336e3ad22f703e7982ab76a74d8161c Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 21 Sep 2023 13:20:48 +0700 Subject: [PATCH 437/757] no message --- examples_book/readme_md.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/readme_md.css b/examples_book/readme_md.css index 0346078..03ada33 100644 --- a/examples_book/readme_md.css +++ b/examples_book/readme_md.css @@ -167,7 +167,7 @@ div.display-result { opacity: 10; width:30%; position: fixed; - left:35%; + left:33%; top:20%; z-index: 100; display: none; From 4ea3b6d2dde4c9dbaa1318b2040bf87c1d79566f Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 21 Sep 2023 22:12:56 +0700 Subject: [PATCH 438/757] no message --- examples_book/init_page.js | 47 ++++++++++++++++++++++++++ examples_book/readme_md.css | 21 ++++++++---- examples_book/{mylib.js => runcode.js} | 0 3 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 examples_book/init_page.js rename examples_book/{mylib.js => runcode.js} (100%) diff --git a/examples_book/init_page.js b/examples_book/init_page.js new file mode 100644 index 0000000..6b667be --- /dev/null +++ b/examples_book/init_page.js @@ -0,0 +1,47 @@ + let targetDiv = document.getElementById("main"); + let statusLoading = document.getElementById("statusLoading"); + let bottomAds = document.getElementById("bottom-ads"); + bottomAds.style.display = "none"; + + let allLink = document.getElementsByClassName("link-chap"); + for(const link of allLink) { + link.addEventListener('click', function(event) { + //if ( WURFL.form_factor === "Desktop") { + if( window.innerWidth >=768 ) { + event.preventDefault(); + document.title = link.innerHTML; + document.getElementById("headline").innerHTML = link.innerHTML; + statusLoading.style.display = "block"; + bottomAds.style.display = "none"; + includeHTML(link); + } + + }); + + link.addEventListener('contextmenu', function(event) { + event.preventDefault(); + }); + } + + function includeHTML(link) { + let options = { + headers: { + 'Cache-Control': 'no-cache' + } + }; + + let file = link.href; + fetch(file, options) + .then( res => res.text()) + .then( text => { + targetDiv.innerHTML = text; + statusLoading.style.display = "none"; + bottomAds.style.display = "block"; + if(link.href.startsWith("test_js"))transferHTM('test_js'); + } + ); + } + + function selectLink(index) { + document.getElementsByClassName("link-chap")[index].click(); + } \ No newline at end of file diff --git a/examples_book/readme_md.css b/examples_book/readme_md.css index 03ada33..311dce7 100644 --- a/examples_book/readme_md.css +++ b/examples_book/readme_md.css @@ -82,13 +82,22 @@ textarea { } .link-chap { - text-decoration: none; + text-decoration: none; } -.link-chap:hover { +a:link { + color: black; +} + +a:hover { background-color: #FBFBFB; } +/* selected link */ +a:active { + background-color: #CBCBCB; +} + .group-menu{ } @@ -114,7 +123,7 @@ textarea { left: 0; top: 30; height: 100%; - width: 18%; + width: 250; height: 100%; margin-top:18px; padding-top:12px; @@ -183,7 +192,7 @@ div.display-result { } .loading { - animation: blinker 1s step-start; + animation: blinker 0.5s step-start infinite; /*background-color: #FBFBFB;*/ } @@ -208,7 +217,7 @@ div.display-result { display: none; } - /* + .headline { display: none; } @@ -224,6 +233,6 @@ div.display-result { display: block; margin-top: 10px; } - */ + } \ No newline at end of file diff --git a/examples_book/mylib.js b/examples_book/runcode.js similarity index 100% rename from examples_book/mylib.js rename to examples_book/runcode.js From 6f45304514b57cf6608bce5925556df6bf72dfa7 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 21 Sep 2023 22:13:38 +0700 Subject: [PATCH 439/757] no message --- examples_book/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/examples_book/.gitignore b/examples_book/.gitignore index d3fb275..3be4046 100644 --- a/examples_book/.gitignore +++ b/examples_book/.gitignore @@ -1,4 +1,5 @@ node_modules/ +test_js/ *.html *.json deploy* From 04cdd38588ae4616ab5256abcad7b40dca63835b Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 21 Sep 2023 23:19:05 +0700 Subject: [PATCH 440/757] no message --- examples_book/Chapter16.md | 4 +- examples_book/chapter.php | 91 +++++++++++++++++++++++++++++++++++++ examples_book/init_page.js | 40 +++++++++++----- examples_book/readme_md.css | 22 ++++----- 4 files changed, 132 insertions(+), 25 deletions(-) create mode 100644 examples_book/chapter.php diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 3dcbaac..c700c59 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -39,8 +39,8 @@ console.log(iterator.next()); // { value: undefined, done: true } ```js let say = "hi"; let iterator = say[Symbol.iterator](); -console.log(iterator.next()); // { value: "h", done: false } -console.log(iterator.next()); // { value: "i", done: false } +console.log(iterator.next()); // { value: 'h', done: false } +console.log(iterator.next()); // { value: 'i', done: false } console.log(iterator.next()); // { value: undefined, done: true } ``` diff --git a/examples_book/chapter.php b/examples_book/chapter.php new file mode 100644 index 0000000..017d866 --- /dev/null +++ b/examples_book/chapter.php @@ -0,0 +1,91 @@ + + + + + + + + + + + กำลังโหลด ... + + + + + + + + + + + + + +

    +
    + + +
    + +
    + +
    + สามารถซื้อ ebook ฉบับเต็มได้ที่ลิงก์นี้
    + +
    + +
    + + + + + + + \ No newline at end of file diff --git a/examples_book/init_page.js b/examples_book/init_page.js index 6b667be..d15b179 100644 --- a/examples_book/init_page.js +++ b/examples_book/init_page.js @@ -1,19 +1,20 @@ let targetDiv = document.getElementById("main"); let statusLoading = document.getElementById("statusLoading"); let bottomAds = document.getElementById("bottom-ads"); + let healineDiv = document.getElementById("headline") bottomAds.style.display = "none"; let allLink = document.getElementsByClassName("link-chap"); for(const link of allLink) { link.addEventListener('click', function(event) { - //if ( WURFL.form_factor === "Desktop") { + //if ( WURFL.form_factor === "Desktop") { if( window.innerWidth >=768 ) { - event.preventDefault(); - document.title = link.innerHTML; - document.getElementById("headline").innerHTML = link.innerHTML; - statusLoading.style.display = "block"; - bottomAds.style.display = "none"; + event.preventDefault(); includeHTML(link); + } else { + let str =link.href.split("chapter")[1]; + let no = str.replace(".html", ""); + link.href = `chapter.php?no=${parseInt(no)}`; } }); @@ -24,6 +25,11 @@ } function includeHTML(link) { + document.title = link.innerHTML; + healineDiv.innerHTML = link.innerHTML; + statusLoading.style.display = "block"; + bottomAds.style.display = "none"; + let options = { headers: { 'Cache-Control': 'no-cache' @@ -32,16 +38,26 @@ let file = link.href; fetch(file, options) - .then( res => res.text()) + .then( res => res.text()) .then( text => { - targetDiv.innerHTML = text; + if(text.includes("404")){ + targetDiv.innerHTML = '

    Not found page

    '; + } else { + targetDiv.innerHTML = text; + } statusLoading.style.display = "none"; bottomAds.style.display = "block"; - if(link.href.startsWith("test_js"))transferHTM('test_js'); + //if(link.href.startsWith("test_js"))transferHTM('test_js'); } - ); + ) + .catch( err => { + targetDiv.innerHTML = 'Not found page'; + statusLoading.style.display = "none"; + bottomAds.style.display = "block"; + }); } - + + /* function selectLink(index) { document.getElementsByClassName("link-chap")[index].click(); - } \ No newline at end of file + }*/ \ No newline at end of file diff --git a/examples_book/readme_md.css b/examples_book/readme_md.css index 311dce7..ecc1c03 100644 --- a/examples_book/readme_md.css +++ b/examples_book/readme_md.css @@ -79,6 +79,7 @@ textarea { text-align: left; font-weight: 500; font-size: 1.5em; + font:bold; } .link-chap { @@ -110,30 +111,29 @@ a:active { border-color: #5A8A1A; border-radius: 15px; background: #558415; - padding: 0.5rem 4.5rem; + padding: 0.5rem 4.0rem; cursor: pointer; - z-index: 50; + z-index: 80; color:white; - font-size:18px; - display:none; + font-size:16px; } .main-menu{ position: fixed; left: 0; - top: 30; + top: 0; height: 100%; width: 250; height: 100%; - margin-top:18px; - padding-top:12px; + margin-top:0px; + padding-top:50px; padding-left:10px; padding-bottom:100px; background-color: #DAF7A6; font-size: 16px; /*overflow-y: scroll;**/ overflow: auto; - z-index: 5; + z-index: 75; text-align: left; font-size: 0.9em; } @@ -216,10 +216,10 @@ div.display-result { .ads { display: none; } - - + .headline { - display: none; + font-size: 1.5em; + text-align: right; } .btn-menu { From 73c4e447c40a325c4bc0263e132fd07799741efe Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 00:45:54 +0700 Subject: [PATCH 441/757] no message --- examples_book/Chapter16.md | 2 +- examples_book/chapter.php | 1 - examples_book/init_page.js | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index c700c59..bb46b6d 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -67,7 +67,7 @@ for(let i of [1, 5, 10]) { /* อาจเหมือนเขียนประโยคนี้ let iterator = [1, 5, 10][Symbol.iterator](); let result; -while( (result=iterator.next()) && result.done == false){ +while( (result=iterator.next()) && result.done == false) { let i = result.value; console.log(i); }*/ diff --git a/examples_book/chapter.php b/examples_book/chapter.php index 017d866..3047fe7 100644 --- a/examples_book/chapter.php +++ b/examples_book/chapter.php @@ -80,7 +80,6 @@
    - - - + + @@ -81,10 +81,14 @@
    - + \ No newline at end of file From cf85f14eb060ed946e294f3b76cba668fd6967f4 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 06:51:32 +0700 Subject: [PATCH 445/757] no message --- examples_book/Chapter16.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index b8f1caa..72bb458 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -335,7 +335,7 @@ console.log(a, b, c) // "a b c" let map = new Map(); map.set("firstname", "Somchai"); map.set("lastname", "Jaidee"); -//let map = new Map( [["firstname","Somchai"] , ["lastname", "Jaidee"] ]); +//let map = new Map( [ ["firstname","Somchai"] , ["lastname", "Jaidee"] ] ); let [a, b] = map; console.log(a); // [ 'firstname', 'Somchai' ] console.log(b); // [ 'lastname', 'Jaidee' ] @@ -358,7 +358,7 @@ let a1 = [], a2 = []; let set = new Set([10, 20]); [...a1] = [...set]; console.log(a1[0], a1[1]); // 10 20 -let map = new Map( [["firstname","Somchai"] , ["lastname", "Jaidee"] ]); +let map = new Map( [ ["firstname","Somchai"] , ["lastname", "Jaidee"] ] ); [...a2] = [...map]; console.log(a2[0]); // [ 'firstname', 'Somchai' ] console.log(a2[1]); // [ 'lastname', 'Jaidee' ] From 356661c6f80562acca7eb2ebc374fc6930df36ec Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 06:57:24 +0700 Subject: [PATCH 446/757] no message --- examples_book/Chapter16.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 72bb458..1a0ba25 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -386,6 +386,21 @@ for(let [key,value] of map.entries()) { for(let [key,value] of uint8.entries()) { console.log(key, value); } + +/* +เมื่อใช้ array.entries() จะแสดงผลลัพธ์เป็น +0 5 +1 10 +เมื่อใช้ set.entries() จะแสดงผลลัพธ์เป็น +“red red” +“green green” +เมื่อใช้ map.entries() จะแสดงผลลัพธ์เป็น +“firstname Somchai” +“lastname Jaidee” +เมื่อใช้ uint8.entries() จะแสดงผลลัพธ์เป็น +0 10 +1 20 +*/ ``` * ตัวอย่างที่ 6 ลองพิจารณาการใช้วิธีดีสตรัคเตอร์ริ่ง มารับค่าจากการรีเทิร์นของฟังก์ชั่น From 4991a315f2e842ef8cd8dcf9252c8d4e48707bad Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 06:58:09 +0700 Subject: [PATCH 447/757] no message --- examples_book/Chapter16.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter16.md b/examples_book/Chapter16.md index 1a0ba25..525ec4f 100644 --- a/examples_book/Chapter16.md +++ b/examples_book/Chapter16.md @@ -392,11 +392,11 @@ for(let [key,value] of uint8.entries()) { 0 5 1 10 เมื่อใช้ set.entries() จะแสดงผลลัพธ์เป็น -“red red” -“green green” +"red red" +"green green" เมื่อใช้ map.entries() จะแสดงผลลัพธ์เป็น -“firstname Somchai” -“lastname Jaidee” +"firstname Somchai" +"lastname Jaidee" เมื่อใช้ uint8.entries() จะแสดงผลลัพธ์เป็น 0 10 1 20 From 80a4c57c758c526b0485ea50f1de8d1649387490 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 16:40:24 +0700 Subject: [PATCH 448/757] no message --- examples_book/chapter.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples_book/chapter.php b/examples_book/chapter.php index 68ade3c..f411742 100644 --- a/examples_book/chapter.php +++ b/examples_book/chapter.php @@ -22,7 +22,7 @@ - + @@ -89,6 +89,7 @@ includeHTML(alink); //window.location.replace(url); + \ No newline at end of file From d03a685b125d3666a4187b603cc831dd935bb6dd Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 16:42:58 +0700 Subject: [PATCH 449/757] no message --- examples_book/Chapter17.md | 20 ++++++++++---------- examples_book/readme_md.css | 8 ++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 4cb39cd..e6d3684 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -113,21 +113,21 @@ let trapLogic = { if(Reflect.has( targetObj, key )) { return Reflect.set( targetObj, key, value ); } else { - throw `Can’t write property: ${key}`; + throw `Can't write property: ${key}`; } } ,get(targetObj, key, proxy) { // อ่านค่าพร็อพเพอร์ตี้ if(Reflect.has( targetObj, key )) { return Reflect.get(targetObj, key); } else { - throw `Can’t read property: ${key}`; + throw `Can't read property: ${key}`; } } ,deleteProperty(targetObj, key){ // ลบพร็อพเพอร์ตี้ if(Reflect.has( targetObj, key )) { return Reflect.deleteProperty(targetObj, key); } else { - throw `Can’t delete property: ${key}`; + throw `Can't delete property: ${key}`; } } } @@ -135,9 +135,9 @@ let proxyObj = new Proxy(obj, trapLogic); proxyObj.foo = 100; console.log(proxyObj.foo); // 100 // console.log(delete proxyObj.foo); // true -proxyObj.a = 1; // exception: Can’t write property: a -console.log(proxyObj.b); // exception: Can’t read property: b -delete proxyObj.c ; // exception: Can’t delete property: c +proxyObj.a = 1; // exception: Can't write property: a +console.log(proxyObj.b); // exception: Can't read property: b +delete proxyObj.c ; // exception: Can't delete property: c ``` * ตัวอย่างที่ 2 จะแสดงการตรวจสอบค่าอากิวเมนต์ที่ส่งไปให้พารามิเตอร์ของฟังก์ชั่น รวมทั้งค่ารีเทิร์นจากฟังก์ชั่นด้วย @@ -236,7 +236,7 @@ let checkType = { if( typeof val0 == typeof value ) { // ข้อมูลสมาชิกที่กำหนดเข้ามาเป็นชนิดเดียวกัน return Reflect.set( targetObj, key, value ); } else { // ถ้าเป็นคนข้อมูลคนละชนิดกัน ก็จะเกิด error - throw new Error(`Can’t add this type: ${typeof value}`); + throw new Error(`Can't add this type: ${typeof value}`); } } // สิ้นสุดการประกาศ set } @@ -357,9 +357,9 @@ obj[{}] = 800; obj[10] = "foo"; obj[0] = "bar"; console.log(Reflect.ownKeys(obj)); -/* [ "0", "10", "z", "y", "3.14", "-10", "null", "undefined", "true", "Object{}", Symbol(c), Symbol(a)]] */ +// [ '0', '10', 'z', 'y', '3.14', '-10', 'null', 'undefined', 'true', '[object Object]', Symbol(c), Symbol(a) ] console.log(Object.getOwnPropertyNames(obj)); -// [ "0", "10", "z", "y", "3.14", "-10", "null", "undefined", "true", "Object{}"] -console.log(Object.getOwnPropertySymbols(obj)); // [Symbol(c), Symbol(a)] +// [ '0', '10', 'z', 'y', '3.14', '-10', 'null', 'undefined', 'true', '[object Object]' ] +console.log(Object.getOwnPropertySymbols(obj)); // [ Symbol(c), Symbol(a) ] ``` diff --git a/examples_book/readme_md.css b/examples_book/readme_md.css index 3d7cb53..12be280 100644 --- a/examples_book/readme_md.css +++ b/examples_book/readme_md.css @@ -16,8 +16,8 @@ body { .main { margin-top: 70px; - margin-left: 21%; - margin-right: 21%; + margin-left: 20%; + margin-right: 20%; width: 60%; overflow:auto; } @@ -206,8 +206,8 @@ div.display-result { @media all and (max-width: 768px){ .main { - margin-left: 2%; - margin-right: 2%; + margin-left: 2%; + width: 96%; } .sale { margin-left: 10px; From 976f311e738002ac7a46ef71d2ecaea07a31fd80 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 17:28:38 +0700 Subject: [PATCH 450/757] no message --- examples_book/Chapter17.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index e6d3684..71882f4 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -135,9 +135,9 @@ let proxyObj = new Proxy(obj, trapLogic); proxyObj.foo = 100; console.log(proxyObj.foo); // 100 // console.log(delete proxyObj.foo); // true -proxyObj.a = 1; // exception: Can't write property: a -console.log(proxyObj.b); // exception: Can't read property: b -delete proxyObj.c ; // exception: Can't delete property: c +proxyObj.a = 1; // error: Can't write property: a +console.log(proxyObj.b); // error: Can't read property: b +delete proxyObj.c ; // error: Can't delete property: c ``` * ตัวอย่างที่ 2 จะแสดงการตรวจสอบค่าอากิวเมนต์ที่ส่งไปให้พารามิเตอร์ของฟังก์ชั่น รวมทั้งค่ารีเทิร์นจากฟังก์ชั่นด้วย From 528f52fdd36405beee5e7b96d7bb6264aea2ece8 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 17:45:26 +0700 Subject: [PATCH 451/757] no message --- examples_book/Chapter17.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 71882f4..5da0d2b 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -179,17 +179,17 @@ console.log(proxySum(2, 3 )); // 5 = 2 + 3 console.log(proxyMultiply(2, 3)); // 6 = 2 * 3 // ไม่มีค่าอากิวเมนต์ส่งไปให้ฟังก์ชั่น ก็จะเกิด error -proxySum(); // error -proxyMultiply(); // error +proxySum(); // error: Must send arguments to the function +proxyMultiply(); // error: Must send arguments to the function // เมื่อส่งค่าอากิวเมนต์ที่ไม่ใช่ตัวเลข ก็จะเกิด error -proxySum(2, "3"); // error -proxyMultiply(2, "3"); // error +proxySum(2, "3"); // error: All arguments must be numbers +proxyMultiply(2, "3"); // error: All arguments must be numbers // ค่าที่รีเทิร์นออกจากฟังก์ชั่น ถ้าเกินช่วง safe integer ก็จะเกิด error let maxNum = Number.MAX_SAFE_INTEGER + 1; -proxySum(maxNum, maxNum); // error -proxyMultiply(maxNum, maxNum); // error +proxySum(maxNum, maxNum); // error: The result is not safe integer +proxyMultiply(maxNum, maxNum); // error: The result is not safe integer ``` * ตัวอย่างที่ 3 จะแสดงกลไกการป้องกันเวลากำหนดโปรโตไทป์ให้กับอ็อบเจ็กต์ From 747d2b6739bbb8e9a2c8d8824e469c09596c5897 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 17:58:09 +0700 Subject: [PATCH 452/757] no message --- examples_book/Chapter17.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 5da0d2b..61aff1a 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -179,17 +179,17 @@ console.log(proxySum(2, 3 )); // 5 = 2 + 3 console.log(proxyMultiply(2, 3)); // 6 = 2 * 3 // ไม่มีค่าอากิวเมนต์ส่งไปให้ฟังก์ชั่น ก็จะเกิด error -proxySum(); // error: Must send arguments to the function -proxyMultiply(); // error: Must send arguments to the function +proxySum(); // Error: Must send arguments to the function +proxyMultiply(); // Error: Must send arguments to the function // เมื่อส่งค่าอากิวเมนต์ที่ไม่ใช่ตัวเลข ก็จะเกิด error -proxySum(2, "3"); // error: All arguments must be numbers -proxyMultiply(2, "3"); // error: All arguments must be numbers +proxySum(2, "3"); // Error: All arguments must be numbers +proxyMultiply(2, "3"); // Error: All arguments must be numbers // ค่าที่รีเทิร์นออกจากฟังก์ชั่น ถ้าเกินช่วง safe integer ก็จะเกิด error let maxNum = Number.MAX_SAFE_INTEGER + 1; -proxySum(maxNum, maxNum); // error: The result is not safe integer -proxyMultiply(maxNum, maxNum); // error: The result is not safe integer +proxySum(maxNum, maxNum); // Error: The result is not safe integer +proxyMultiply(maxNum, maxNum); // Error: The result is not safe integer ``` * ตัวอย่างที่ 3 จะแสดงกลไกการป้องกันเวลากำหนดโปรโตไทป์ให้กับอ็อบเจ็กต์ From cd24672d9c8385676688b613a1adc0087749cde9 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 18:05:18 +0700 Subject: [PATCH 453/757] no message --- examples_book/Chapter17.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 61aff1a..8ab5b1a 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -221,8 +221,8 @@ console.log( woman.__proto__ === people ); // true // เมื่อกำหนดโปรโตไทป์ที่ไม่ใช่ people ก็จะเกิด error let car = { speed: 100 }; // กำหนดให้เป็นโปรโตไทป์ของ man กับ woman -proxyMan.__proto__ = car; // error -proxyWoman.__proto__ = car; // error +proxyMan.__proto__ = car; // Error: Prototype must be people object only +proxyWoman.__proto__ = car; // Error: Prototype must be people object only ``` * ตัวอย่างที่ 4 จะแสดงกลไกป้องกันการกำหนดสมาชิกคนละชนิดในอาร์เรย์ From 03854f6f1e06fe48735a8ecbca0ee1afc4570898 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 18:08:57 +0700 Subject: [PATCH 454/757] no message --- examples_book/Chapter17.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 8ab5b1a..c82a93a 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -250,7 +250,7 @@ console.log(proxyArray); // [ 0, 1, 2, 3, 4, 5 ] console.log(myArray); // [ 0, 1, 2, 3, 4, 5 ] // เพิ่มสมาชิกตัวที่ 6 แต่เป็นสตริง จะเกิด error ขึ้นได้ -proxyArray[6] = "6"; // error +proxyArray[6] = "6"; // Error: Can't add this type: string ``` * ตัวอย่างที่ 5 จะแสดงวิธีที่ทำให้อ็อบเจ๊กที่เคยสร้างแล้วจะถูก cached เก็บไว้ จะได้ไม่ต้องสร้างซ้ำ ๆ กันหลายรอบ From 6a7d524dcec535bc9cb3fcf9802389b2e5d5bb6c Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 19:24:53 +0700 Subject: [PATCH 455/757] no message --- examples_book/chapter.php | 95 ------------------------------------ examples_book/init_page.js | 55 +++++++++++++-------- examples_book/list.png | Bin 0 -> 10142 bytes examples_book/readme_md.css | 33 +++++++------ 4 files changed, 52 insertions(+), 131 deletions(-) delete mode 100644 examples_book/chapter.php create mode 100644 examples_book/list.png diff --git a/examples_book/chapter.php b/examples_book/chapter.php deleted file mode 100644 index f411742..0000000 --- a/examples_book/chapter.php +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - กำลังโหลด ... - - - - - - - - - - - - - -
    - -
    -
    -
    - - -
    - - - -
    - สามารถซื้อ ebook ฉบับเต็มได้ที่ลิงก์นี้
    - -
    - -
    - - - - - - \ No newline at end of file diff --git a/examples_book/init_page.js b/examples_book/init_page.js index c9d58be..dcffa00 100644 --- a/examples_book/init_page.js +++ b/examples_book/init_page.js @@ -1,23 +1,28 @@ let targetDiv = document.getElementById("main"); let statusLoading = document.getElementById("statusLoading"); let bottomAds = document.getElementById("bottom-ads"); - let healineDiv = document.getElementById("headline") - bottomAds.style.display = "none"; + let healineDiv = document.getElementById("headline"); + let mainMenu = document.getElementById("main-menu"); + + function isDesktop(){ + //if ( WURFL.form_factor === "Desktop") { + if( window.innerWidth >=768 ) { + return true; + + } else { + //let str =link.href.split("chapter")[1]; + //let no = str.replace(".html", ""); + //link.href = `chapter.php?no=${parseInt(no)-1}`; + return false; + } + } let allLink = document.getElementsByClassName("link-chap"); for(const link of allLink) { - link.addEventListener('click', function(event) { - //if ( WURFL.form_factor === "Desktop") { - if( window.innerWidth >=768 ) { - event.preventDefault(); - let file = link.href; - includeHTML(link); - } else { - let str =link.href.split("chapter")[1]; - let no = str.replace(".html", ""); - link.href = `chapter.php?no=${parseInt(no)-1}`; - } - + link.addEventListener('click', function(event) { + event.preventDefault(); + let file = link.href; + includeHTML(link); }); link.addEventListener('contextmenu', function(event) { @@ -25,8 +30,11 @@ }); } - function includeHTML(link) { - + function showMenu() { + mainMenu.style.display = "block"; + } + + function includeHTML(link) { if(!link){ throw new Error(`Not have a link`); } @@ -52,6 +60,11 @@ targetDiv.innerHTML = text; bottomAds.style.display = "block"; } + + if( !isDesktop()) { + mainMenu.style.display = "none"; + } + } ) .catch( err => { @@ -61,7 +74,9 @@ }); } - /* - function selectLink(index) { - document.getElementsByClassName("link-chap")[index].click(); - }*/ \ No newline at end of file + includeHTML(document.getElementsByClassName("link-chap")[1]); // select default link + + window.resize = function(){ + alert(); + !isDesktop?mainMenu.style.display = "block":mainMenu.style.display = "none"; + } \ No newline at end of file diff --git a/examples_book/list.png b/examples_book/list.png new file mode 100644 index 0000000000000000000000000000000000000000..f6040eafff3925ab7f7b367041bea2963338f53e GIT binary patch literal 10142 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 m%m3^6 Date: Fri, 22 Sep 2023 19:36:16 +0700 Subject: [PATCH 456/757] no message --- examples_book/Chapter20.md | 2 +- examples_book/init_page.js | 13 ++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index d7657e9..2bfe0ef 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -8,7 +8,7 @@ import "lib/mylib"; ``` -```js +```module.js // -------------- ไฟล์ lib/mylib.js --------------- export var a = 1; export var b = 2; diff --git a/examples_book/init_page.js b/examples_book/init_page.js index dcffa00..42ea989 100644 --- a/examples_book/init_page.js +++ b/examples_book/init_page.js @@ -7,14 +7,9 @@ function isDesktop(){ //if ( WURFL.form_factor === "Desktop") { if( window.innerWidth >=768 ) { - return true; - - } else { - //let str =link.href.split("chapter")[1]; - //let no = str.replace(".html", ""); - //link.href = `chapter.php?no=${parseInt(no)-1}`; - return false; - } + return true; + } + return false; } let allLink = document.getElementsByClassName("link-chap"); @@ -40,7 +35,7 @@ } document.title = link.innerHTML; - healineDiv.innerHTML = link.innerHTML; + healineDiv.innerHTML = `โค้ด${link.innerHTML}`; statusLoading.style.display = "block"; bottomAds.style.display = "none"; From 4221aa48c72bcb0119d931bfd13a0e931c4a689c Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 23:34:53 +0700 Subject: [PATCH 457/757] no message --- examples_book/Chapter20.md | 79 +++++++++++++++++++++----------------- 1 file changed, 43 insertions(+), 36 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 2bfe0ef..101adee 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -8,10 +8,13 @@ import "lib/mylib"; ``` -```module.js +```module // -------------- ไฟล์ lib/mylib.js --------------- export var a = 1; export var b = 2; +``` + +```run.module // -------------- ไฟล์ main.js -------------------- import { a, b } from "lib/mylib"; console.log(a); // 1 @@ -20,7 +23,7 @@ console.log(b); // 2 ## เอ็กซ์พอร์ตด้วยการระบุชื่อ -```js +```module // ไฟล์ lib.js export var a = 1; export let b = 2; @@ -36,7 +39,7 @@ export class MyClass { } ``` -```js +```module // ไฟล์ example.js const CONST_VALUE = 100; // บรรทัด a -- จะไม่ถูกเอ็กซ์พอร์ตออกไป export function square(x) { // บรรทัด b @@ -51,7 +54,7 @@ function multiply(num1, num2) { // บรรทัด d export multiply; // บรรทัด e -- เอ็กซ์พอร์ตภายหลัง ``` -```js +```module // ไฟล์ example.js const CONST_VALUE = 100; function square(x) { @@ -66,7 +69,7 @@ function multiply(num1, num2) { export { square, calculate, multiply}; // เขียนคำว่า export ที่บรรทัดสุดท้ายที่เดียว ``` -```js +```module let condition = true; if (condition) { export condition; // syntax error @@ -75,7 +78,7 @@ if (condition) { ## วิธีโหลดมอดูล -```js +```module // -------------- ไฟล์ example.js -------------- const CONST_VALUE = 100; function square(x) { @@ -90,7 +93,7 @@ function multiply(num1, num2) { export {square, calculate, multiply}; ``` -```js +```run.module // -------------- ไฟล์ main.js ----------------- import {square, calculate} from "example"; console.log(square(2)); // 4 @@ -101,7 +104,9 @@ var square = 1; // error var calculate = 2 ; // error ``` -```js +----- + +```module // -------------- ไฟล์ msg.js ----------------- export var message = "Hi"; export function setMessage(msg) { @@ -109,7 +114,7 @@ export function setMessage(msg) { } ``` -```js +```run.module // -------------- ไฟล์ main.js -------------- import { message, setMessage } from "msg"; console.log(message); // "Hi" @@ -118,14 +123,14 @@ console.log(message); // "Bye" message = "Good morning"; // บรรทัด b -- จะเกิด error ``` -```js +```run.module // ไฟล์ main.js import * as lib from "example"; console.log(lib.square(2)); console.log(lib.calculate(2, 2)); ``` -```js +```run.module import { square } from "example"; import { calculate } from "example"; import { multiply } from "example"; @@ -133,14 +138,14 @@ import { multiply } from "example"; ## เปลี่ยนชื่อสิ่งที่ต้องการโหลด และเอ็กซ์พอร์ต -```js +```module // ไฟล์ main.js import { square, calculate as calc } from "example"; console.log(square(2)); console.log(calc(2, 2)); ``` -```js +```module // -------------- ไฟล์ example.js -------------- const CONST_VALUE = 100; export function square(x) { @@ -155,7 +160,7 @@ function multiply(num1, num2) { export { square as sqr, calculate as calc, multiply as mul}; // บรรทัด a ``` -```js +```run.module // -------------- ไฟล์ main.js ----------------- import {sqr, calc, mul} from "example"; console.log(sqr(2)); // 4 @@ -165,27 +170,27 @@ console.log(mul(2,2)); // 4 ## เอ็กซ์พอร์ตแบบดีฟอลต์ -```js +```module // -------------- ไฟล์ MyFunc.js -------------- export default function () { /*…*/ } ``` -```js +```module // -------------- ไฟล์ MyClass.js -------------- export default class { /*…*/ } ``` -```js +```module // -------------- ไฟล์ MyValue.js -------------- export default 123; ``` -```js +```module // -------------- ไฟล์ MyArrow.js -------------- export default param => param; ``` -```js +```run.module // ไฟล์ main.js import func from "MyFunc"; import _class from "MyClas"; @@ -193,7 +198,9 @@ import value from "MyValue"; import arrowFunc from "MyArrow"; ``` -```js +---- + +```module // -------------- ไฟล์ mydefault.js -------------- export var value = 100; export function square(x) { @@ -204,7 +211,7 @@ export default function(num1, num2) { // ฟังก์ชั่นไร้ } ``` -```js +```run.module // -------------- ไฟล์ main.js ------------------- import multiply, {value, square} from "mydefault"; console.log(value); // 100 @@ -214,44 +221,44 @@ console.log(multiply(2,2)); // 4 ## เอ็กซ์พอร์ตซ้ำจากมอดูลอื่น -```js +```module // -------------- ไฟล์ mylib.js -------------- var foo = 1; var bar = 2; export {foo, bar}; ``` -```js +```module // -------------- ไฟล์ example.js -------------- export {foo, bar} from "mylib"; ``` -```js +```module // -------------- ไฟล์ example.js -------------- import {foo, bar} from "mylib"; export {foo, bar}; ``` -```js +```module // -------------- ไฟล์ example.js -------------- export {foo as foo1, bar} from "mylib"; ``` -```js +```module // -------------- ไฟล์ example.js -------------- export * from "mylib"; ``` ## Namespace re-exporting -```js +```module export * as ns from "http"; ``` * ลองพิจารณาตัวอย่างไฟล์ 3 อัน ดังต่อไปนี้ * 1) ไฟล์ name.js จะเป็นมอดูลง่ายๆ เก็บตัวแปร firstname กับ lastname -```js +```module // -------------- ไฟล์ name.js ------------------ const firstname = "Somchai"; const lastname = "Jaidee"; @@ -260,7 +267,7 @@ export {firstname, lastname}; // ส่งออก firstname * 2) ไฟล์ student.js เป็นมอดูลอย่างง่าย ข้างในทำการ export ส่งออกตัวแปร age และจะนำเข้ามอดูล name.js พร้อม export ส่องออกมอดูลออกมาเป็นชื่อ person (เปลี่ยนชื่อ namespace) -```js +```module // -------------- ไฟล์ student.js ------------------ const age = 25; export {age}; // ส่งออก age @@ -269,7 +276,7 @@ export * as person from "./name.js" // ส่งออก person * 3) ไฟล์ myprogram.js เอาไว้รันทดสอบโปรแกรม โดยจะนำเข้ามอดูล student.js ดังตัวอย่าง -```js +```run.module // -------------- ไฟล์ myprogram.js ----------------- import {age, person} from "./student.js" console.log(age); // 25 @@ -279,14 +286,14 @@ console.log(person.lastname); // "Jaidee" ## อ็อบเจ็กต์โกลบอล -```js +```module // -------------- ไฟล์ example.js -------------- Object.prototype.say = function(msg) { console.log(msg); }; ``` -```js +```run.module // -------------- ไฟล์ main.js ------------------ import "example"; let a = { }; @@ -324,23 +331,23 @@ export const msg = "I love JavaScript"; ### วิธีใช้งานมอดูลบน Node.js -```js +```module // -------------- ไฟล์ mylib.mjs ------------------ export const msg = "I love JavaScript"; ``` -```js +```run.module // -------------- ไฟล์ myapp.mjs ------------------ import { msg } from './mylib.mjs'; console.log(msg); ``` -```js +```module // -------------- ไฟล์ mylib.js ------------------ export const msg = "I love JavaScript"; ``` -```js +```run.module // -------------- ไฟล์ myapp.js ------------------ import { msg } from './mylib.js'; console.log(msg); From c1286a4fdc83a455659941e4b3325223f314e0b7 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 22 Sep 2023 23:35:30 +0700 Subject: [PATCH 458/757] no message --- examples_book/display_html.php | 4 +++- examples_book/md2html.js | 43 +++++++++++++++++++--------------- examples_book/readme_md.css | 6 ++--- examples_book/runcode.js | 26 ++++++++++++++------ 4 files changed, 49 insertions(+), 30 deletions(-) diff --git a/examples_book/display_html.php b/examples_book/display_html.php index 1e85854..5173a03 100644 --- a/examples_book/display_html.php +++ b/examples_book/display_html.php @@ -1,11 +1,13 @@ \ No newline at end of file diff --git a/examples_book/md2html.js b/examples_book/md2html.js index e5d6763..5cef827 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -5,12 +5,12 @@ const fs = Promise.promisifyAll(require('fs')); const lineReader = require('line-reader'); const eachLine = Promise.promisify(lineReader.eachLine); -/*let templateHTML = ""; -try { - templateHTML = fs.readFileSync('template.html', { encoding: 'utf8' }); -} catch (err) { - console.log(err); -}*/ +function isStartCode(line){ + if(line.startsWith("```js") || line.startsWith("```html") || line.startsWith("```module") || line.startsWith("```run.module")) { + return true; + } + return false; +} async function genHTML(fileName){ let isCode = false; @@ -20,34 +20,41 @@ async function genHTML(fileName){ let headline = ""; let allLines = ""; let btnValue = ""; - + return eachLine(`${fileName}.md`, function(line, last) { - //line = line.trim(); - if(line.startsWith("```js") || line.startsWith("```html")){ // start codes + if(isStartCode(line)){ // start codes isCode = true; count++; if(line.startsWith("```js")){ btnValue = "Run"; } else if(line.startsWith("```html")) { btnValue = "Open HTML"; + } else if(line.startsWith("```module")){ + btnValue = "Import"; + } else if(line.startsWith("```run.module")) { + btnValue = "Run New Tab"; } } else if( isCode==true && line.startsWith("```")){ // reach to end of codes isCode = false const rows = lineCodes.split('\n').length-1; - + let clearBtnHTML = ""; + if ( btnValue == "Run") { + clearBtnHTML = ``; + } allLines += `
    -
    + - +
    - - + + ${clearBtnHTML}
    `; lineCodes = ""; + moduleField = ""; } else if(isCode==false) { // not codes @@ -60,7 +67,7 @@ async function genHTML(fileName){ } } else if(line.startsWith("*") && !line.startsWith("*/")){ - line = line.replace(/\*/g, "\u2022 "); + line = line.replace(/\*/g, "\u2022 "); // show a bullet allLines += `

    ${line}

    `; } else if(line.startsWith("หมายเหตุ")){ @@ -73,7 +80,7 @@ async function genHTML(fileName){ } - if(isCode && !line.startsWith("```js") && !line.startsWith("```html")){ + if(isCode && !line.startsWith("```js") && !isStartCode(line)){ line = line.replaceAll(/\$\$/g, "@-@"); // fix bugs กรณีที่ line มี $$ วางติดกันอยู่ในสตริง เพื่อไม่ให้มันทำงาน (ในบทที่ 11 เรื่องเทมเพลตสตริง) lineCodes += `${line}\n`; } @@ -90,11 +97,9 @@ async function genHTML(fileName){ }); } -}) - +}); } - let files = [ "chapter02", "chapter03", "chapter04","chapter05", "chapter06", "chapter07","chapter08","chapter09", "chapter10", "chapter11", "chapter12", "chapter13","chapter14","chapter15", "chapter16", "chapter17", diff --git a/examples_book/readme_md.css b/examples_book/readme_md.css index 54fcb45..c9ba196 100644 --- a/examples_book/readme_md.css +++ b/examples_book/readme_md.css @@ -123,19 +123,19 @@ a:active { .main-menu{ position: fixed; left: 0; - top: 0; + top: 40; height: 100%; width: 18%; height: 100%; margin-top:0px; - padding-top:60px; + padding-top:20px; padding-left:10px; padding-bottom:100px; background-color: #DAF7A6; font-size: 16px; /*overflow-y: scroll;**/ overflow: auto; - z-index: 75; + z-index: 5; text-align: left; font-size: 0.9em; } diff --git a/examples_book/runcode.js b/examples_book/runcode.js index 64c2529..712f46d 100644 --- a/examples_book/runcode.js +++ b/examples_book/runcode.js @@ -1,4 +1,4 @@ -let _resultAreaId = ""; +let __resultAreaId__ = ""; function toString(data) { if(data == null || data == undefined ) { @@ -125,7 +125,7 @@ function dowloadfile(content){ } console.log = function(...data){ - let display = document.querySelector(_resultAreaId); + let display = document.querySelector(__resultAreaId__); for( let d of data){ if( typeof d !== 'string'){ d = toString(d); @@ -164,12 +164,24 @@ function clearDisplay(targetCount) { function runCodeBtn(targetCount) { clearDisplay(targetCount); - _resultAreaId = `#displayResult${targetCount}`; + __resultAreaId__ = `#displayResult${targetCount}`; let textCodeArea = document.querySelector(`#codeArea${targetCount}`); - let codeTxt = textCodeArea.value; - - if( codeTxt.includes("")>0 ) { - document.querySelector(`#form${targetCount}`).submit(); + let btn = document.querySelector(`#btn${targetCount}`); + let myform = document.querySelector(`#form${targetCount}`); + let codeTxt = textCodeArea.value; + + if( codeTxt.includes("")>0 && btn.value=="Open HTML" ) { + myform.action="display_html.php" + myform.submit(); + + } else if( btn.value=="Import" ) { + myform.action="test_module/save_module.php" + myform.submit(); + + } else if( btn.value=="Run New Tab" ) { + myform.action="test_module/run_module.php" + myform.submit(); + } else { try { From c8fed73f9c247deda3c931dd4a6438f3d4d4f522 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 08:33:20 +0700 Subject: [PATCH 459/757] no message --- examples_book/Chapter20.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 101adee..d8da8ac 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -16,7 +16,7 @@ export var b = 2; ```run.module // -------------- ไฟล์ main.js -------------------- -import { a, b } from "lib/mylib"; +import { a, b } from "./lib/mylib.js"; console.log(a); // 1 console.log(b); // 2 ``` From 2e2415cdd1309f2439d2024bc2bce613ced55939 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 09:47:35 +0700 Subject: [PATCH 460/757] no message --- examples_book/runcode.js | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/examples_book/runcode.js b/examples_book/runcode.js index 712f46d..f6aada4 100644 --- a/examples_book/runcode.js +++ b/examples_book/runcode.js @@ -161,6 +161,24 @@ function clearDisplay(targetCount) { } } +async function saveModule(codeText) { + fetch('test_module/save_module.php', { + method: "POST", + headers: { + 'Accept': 'application/json, text/plain, */*', + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + code: codeText + }) + }) + .then( response => response.text()) + .then( text => alert(text) ) + .catch(error => console.error('Error:', error)); + +} +JSON.stringify({ "id": 78912 }) + function runCodeBtn(targetCount) { clearDisplay(targetCount); @@ -175,12 +193,13 @@ function runCodeBtn(targetCount) { myform.submit(); } else if( btn.value=="Import" ) { - myform.action="test_module/save_module.php" - myform.submit(); + myform.action="test_module/import_module.php" + myform.submit(); + //saveModule(codeTxt); } else if( btn.value=="Run New Tab" ) { myform.action="test_module/run_module.php" - myform.submit(); + myform.submit(); } else { From c031ec02b952ed811af5a6e4ad0e7a0e2fd32947 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 09:54:00 +0700 Subject: [PATCH 461/757] no message --- examples_book/test_module/import_module.php | 37 ++++++++++++++++++ examples_book/test_module/run_module.php | 43 +++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 examples_book/test_module/import_module.php create mode 100644 examples_book/test_module/run_module.php diff --git a/examples_book/test_module/import_module.php b/examples_book/test_module/import_module.php new file mode 100644 index 0000000..4fc6547 --- /dev/null +++ b/examples_book/test_module/import_module.php @@ -0,0 +1,37 @@ + + +") != False){ + echo "Sorry! It can't upload beacause this is a php file, it is dangerous"; + exit(); + } + + if( strpos($modulename, ".js") != False){ + echo "Sorry! It can't upload beacause this is a not *.js file"; + exit(); + } + + if(file_put_contents($modulename , $code)>0){ + echo "

    Import module: ".$modulename." -> success

    "; + exit(); + }else { + echo "Empty file: ".$modulename; + } +} +?> + + \ No newline at end of file diff --git a/examples_book/test_module/run_module.php b/examples_book/test_module/run_module.php new file mode 100644 index 0000000..e959c6a --- /dev/null +++ b/examples_book/test_module/run_module.php @@ -0,0 +1,43 @@ + + + + + + + + + +
    + + +

    แสดงผลลัพธ์ +
    +
    + + + + + + + + \ No newline at end of file From 5da5dc0932254eec50340c3eb315b417628f523b Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 09:58:33 +0700 Subject: [PATCH 462/757] no message --- examples_book/Chapter20.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index d8da8ac..f962eac 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -24,7 +24,7 @@ console.log(b); // 2 ## เอ็กซ์พอร์ตด้วยการระบุชื่อ ```module -// ไฟล์ lib.js +// -------------- ไฟล์ lib.js -------------------- export var a = 1; export let b = 2; export const MY_CONST = 100; @@ -40,7 +40,7 @@ export class MyClass { ``` ```module -// ไฟล์ example.js +// -------------- ไฟล์ example.js -------------------- const CONST_VALUE = 100; // บรรทัด a -- จะไม่ถูกเอ็กซ์พอร์ตออกไป export function square(x) { // บรรทัด b return x * x; @@ -55,7 +55,7 @@ export multiply; // บรรทัด e -- เอ็กซ์พ ``` ```module -// ไฟล์ example.js +// -------------- ไฟล์ example.js -------------------- const CONST_VALUE = 100; function square(x) { return x * x; From 47567f212d7bf8ebca19a2fb8c69f7bd41eb8153 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 10:01:18 +0700 Subject: [PATCH 463/757] no message --- examples_book/Chapter20.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index f962eac..ccc7e41 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -69,10 +69,10 @@ function multiply(num1, num2) { export { square, calculate, multiply}; // เขียนคำว่า export ที่บรรทัดสุดท้ายที่เดียว ``` -```module +```js let condition = true; if (condition) { - export condition; // syntax error + export condition; // SyntaxError } ``` From a1aa921e673d0fe54d226f737ad6271f16446021 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 10:06:39 +0700 Subject: [PATCH 464/757] no message --- examples_book/Chapter20.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index ccc7e41..23c542f 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -95,7 +95,7 @@ export {square, calculate, multiply}; ```run.module // -------------- ไฟล์ main.js ----------------- -import {square, calculate} from "example"; +import {square, calculate} from "./example.js"; console.log(square(2)); // 4 console.log(calculate(2, 2)); // 800 square =1; // error From 2e0edac8e7c5943b0852a0c2c25daabc2804129c Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 11:36:35 +0700 Subject: [PATCH 465/757] no message --- examples_book/Chapter20.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 23c542f..9ba3cc8 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -98,10 +98,10 @@ export {square, calculate, multiply}; import {square, calculate} from "./example.js"; console.log(square(2)); // 4 console.log(calculate(2, 2)); // 800 -square =1; // error -calculate= 2; // error -var square = 1; // error -var calculate = 2 ; // error +square =1; // TypeError +calculate= 2; // TypeError +var square = 1; // SyntaxError +var calculate = 2 ; // SyntaxError ``` ----- From 2047e8f15ee2ee3058bacbf82f177280eff2046e Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 11:41:13 +0700 Subject: [PATCH 466/757] no message --- examples_book/Chapter20.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 9ba3cc8..75c8fbb 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -116,7 +116,7 @@ export function setMessage(msg) { ```run.module // -------------- ไฟล์ main.js -------------- -import { message, setMessage } from "msg"; +import { message, setMessage } from "./msg.js"; console.log(message); // "Hi" setMessage("Bye"); // บรรทัด a console.log(message); // "Bye" From f944816652d231ae281b4bbeec1f7b33529bf0a6 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 11:48:12 +0700 Subject: [PATCH 467/757] no message --- examples_book/Chapter20.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 75c8fbb..f8a162c 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -120,7 +120,7 @@ import { message, setMessage } from "./msg.js"; console.log(message); // "Hi" setMessage("Bye"); // บรรทัด a console.log(message); // "Bye" -message = "Good morning"; // บรรทัด b -- จะเกิด error +message = "Good morning"; // บรรทัด b -- จะเกิด TypeError ``` ```run.module From 508d8fd1aed7dc96e8df9919deb66590fc84571e Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 11:50:20 +0700 Subject: [PATCH 468/757] no message --- examples_book/Chapter20.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index f8a162c..980b5f5 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -125,15 +125,15 @@ message = "Good morning"; // บรรทัด b -- จะ ```run.module // ไฟล์ main.js -import * as lib from "example"; +import * as lib from "./example.js"; console.log(lib.square(2)); console.log(lib.calculate(2, 2)); ``` ```run.module -import { square } from "example"; -import { calculate } from "example"; -import { multiply } from "example"; +import { square } from "./example.js"; +import { calculate } from "./example.js"; +import { multiply } from "./example.js"; ``` ## เปลี่ยนชื่อสิ่งที่ต้องการโหลด และเอ็กซ์พอร์ต From 35bd8821290dfdddb0c9944ed8b7356d37836ee4 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 11:54:39 +0700 Subject: [PATCH 469/757] no message --- examples_book/Chapter20.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 980b5f5..dcf2d86 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -140,7 +140,7 @@ import { multiply } from "./example.js"; ```module // ไฟล์ main.js -import { square, calculate as calc } from "example"; +import { square, calculate as calc } from "./example.js"; console.log(square(2)); console.log(calc(2, 2)); ``` From 4e32910544dd6f6fb1642008f73ad195c269091e Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 13:17:53 +0700 Subject: [PATCH 470/757] no message --- examples_book/Chapter20.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index dcf2d86..2053c41 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -138,7 +138,7 @@ import { multiply } from "./example.js"; ## เปลี่ยนชื่อสิ่งที่ต้องการโหลด และเอ็กซ์พอร์ต -```module +```run.module // ไฟล์ main.js import { square, calculate as calc } from "./example.js"; console.log(square(2)); From 55dc3abfdc758bd225ef4b9983251911719d0712 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 13:18:37 +0700 Subject: [PATCH 471/757] no message --- examples_book/{init_page.js => initpage.js} | 5 +- examples_book/md2html.js | 167 +++++++++++++++++--- examples_book/runcode.js | 16 +- examples_book/test_module/import_module.php | 2 +- examples_book/test_module/run_module.php | 27 +++- 5 files changed, 188 insertions(+), 29 deletions(-) rename examples_book/{init_page.js => initpage.js} (94%) diff --git a/examples_book/init_page.js b/examples_book/initpage.js similarity index 94% rename from examples_book/init_page.js rename to examples_book/initpage.js index 42ea989..69f1cd5 100644 --- a/examples_book/init_page.js +++ b/examples_book/initpage.js @@ -24,7 +24,7 @@ event.preventDefault(); }); } - + function showMenu() { mainMenu.style.display = "block"; } @@ -52,7 +52,8 @@ if(text.includes("404")){ targetDiv.innerHTML = '

    Not found page

    '; } else { - targetDiv.innerHTML = text; + allLineArray = text.split("\n"); + targetDiv.innerHTML = genHTMLfromArray(allLineArray); bottomAds.style.display = "block"; } diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 5cef827..3ddc1e4 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -1,18 +1,13 @@ // npm install line-reader // npm install bluebird +/* const Promise = require("bluebird"); const fs = Promise.promisifyAll(require('fs')); const lineReader = require('line-reader'); const eachLine = Promise.promisify(lineReader.eachLine); +*/ -function isStartCode(line){ - if(line.startsWith("```js") || line.startsWith("```html") || line.startsWith("```module") || line.startsWith("```run.module")) { - return true; - } - return false; -} - -async function genHTML(fileName){ +/*async function genHTML(fileName){ let isCode = false; let lineCodes = ""; let count = 0; @@ -23,7 +18,7 @@ async function genHTML(fileName){ return eachLine(`${fileName}.md`, function(line, last) { - if(isStartCode(line)){ // start codes + if(isBeginCode(line)){ // start codes isCode = true; count++; if(line.startsWith("```js")){ @@ -54,7 +49,6 @@ async function genHTML(fileName){
    `; lineCodes = ""; - moduleField = ""; } else if(isCode==false) { // not codes @@ -65,22 +59,25 @@ async function genHTML(fileName){ } else { allLines += `

    ${line}

    `; } - - } else if(line.startsWith("*") && !line.startsWith("*/")){ - line = line.replace(/\*/g, "\u2022 "); // show a bullet - allLines += `

    ${line}

    `; +*/ +// } else if(line.startsWith("*") && !line.startsWith("*/")){ +// line = line.replace(/\*/g, "\u2022 "); // show a bullet +/* allLines += `

    ${line}

    `; } else if(line.startsWith("หมายเหตุ")){ line = line.replace(/หมายเหตุ/g, "หมายเหตุ"); allLines += `

    ${line}

    `; + } else if(line.startsWith("----")){ + allLines += `
    `; + } else { allLines += `

    ${line}

    `; } } - if(isCode && !line.startsWith("```js") && !isStartCode(line)){ + if(isCode && !line.startsWith("```js") && !isBeginCode(line)){ line = line.replaceAll(/\$\$/g, "@-@"); // fix bugs กรณีที่ line มี $$ วางติดกันอยู่ในสตริง เพื่อไม่ให้มันทำงาน (ในบทที่ 11 เรื่องเทมเพลตสตริง) lineCodes += `${line}\n`; } @@ -89,7 +86,7 @@ async function genHTML(fileName){ /*let html = templateHTML.replace("${headline}", headline) .replace("${allLines}", allLines) .replace("${fileName}", fileName);*/ - let html = allLines; +/* let html = allLines; html = html.replaceAll(/@-@/g, "$$$"); // fix bugs fs.writeFile(`${fileName}.html`, html, function (err) { if (err) throw err; @@ -98,19 +95,145 @@ async function genHTML(fileName){ } }); -} +}*/ let files = [ "chapter02", "chapter03", "chapter04","chapter05", "chapter06", "chapter07","chapter08","chapter09", "chapter10", "chapter11", "chapter12", "chapter13","chapter14","chapter15", "chapter16", "chapter17", "chapter18","chapter19","chapter20"]; -(async () => { +/*(async () => { for await (const f of files) { - genHTML(f); + //genHTML(f); } -})(); +})();*/ + +function isBeginCode(line){ + if(line.startsWith("```js") || line.startsWith("```html") || line.startsWith("```module") || line.startsWith("```run.module")) { + return true; + } + return false; +} + +async function getArrayFromFile(fileName){ + let allLines = []; + + return new Promise( resolve => { + eachLine(`${fileName}.md`, function(line, last) { + if(line.trim() !== ''){ + allLines.push(line); + + } + if(last) { + resolve(allLines); + } + }) + + }); + +} + +function writeHTML(fileName, html){ + fs.writeFile(`${fileName}.html`, html, function (err) { + if (err) throw err; + console.log(`${fileName}.html is Saved!`); + }); +} + +function genHTMLfromArray(arrayMdFiles) { + + let isCode = false; + let lineCodes = ""; + let count = 0; + + let headline = ""; + let allLines = ""; + let btnValue = ""; + +arrayMdFiles.forEach( (line) => { + + if(isBeginCode(line)){ // start codes + isCode = true; + count++; + if(line.startsWith("```js")){ + btnValue = "Run"; + } else if(line.startsWith("```html")) { + btnValue = "Open HTML"; + } else if(line.startsWith("```module")){ + btnValue = "Import"; + } else if(line.startsWith("```run.module")) { + btnValue = "Run New Tab"; + } + + } else if( isCode==true && line.startsWith("```")){ // reach to end of codes + isCode = false + const rows = lineCodes.split('\n').length-1; + let clearBtnHTML = ""; + if ( btnValue == "Run") { + clearBtnHTML = ``; + } + allLines += `
    +
    + + +
    +
    + + ${clearBtnHTML} +
    `; + + lineCodes = ""; + + } else if( isCode==true && !isBeginCode(line) && !line.startsWith("```") ){ + line = line.replaceAll(/\$\$/g, "@-@"); // fix bugs กรณีที่ line มี $$ วางติดกันอยู่ในสตริง เพื่อไม่ให้มันทำงาน (ในบทที่ 11 เรื่องเทมเพลตสตริง) + lineCodes += `${line}\n`; + + } else if(isCode==false) { // not codes + + if(line.startsWith("#")) { + line = line.replace(/#/g, ""); + if(line.includes("โค้ดบทที่")) { + headline = line; + } else { + allLines += `

    ${line}

    `; + } + + } else if(line.startsWith("*") && !line.startsWith("*/")){ + line = line.replace(/\*/g, "\u2022 "); // show a bullet + allLines += `

    ${line}

    `; + + } else if(line.startsWith("หมายเหตุ")){ + line = line.replace(/หมายเหตุ/g, "หมายเหตุ"); + allLines += `

    ${line}

    `; + + } else if(line.startsWith("----")){ + allLines += `
    `; + + } else { + allLines += `

    ${line}

    `; + } + + } + + +}); // end for each loop + + let html = allLines; + html = html.replaceAll(/@-@/g, "$$$"); // fix bugs + return html; +} + +/* +for (const fileName of files) { + getArrayFromFile(fileName).then( allLine => { + let html = genHTMLfromArray(allLine); + writeHTML(fileName, "" + html); + }); + +} */ + +/* async function countline(fileName){ let count = 0; return eachLine(`${fileName}.md`, function(line, last) { @@ -129,6 +252,6 @@ async function countline(fileName){ let numLines= []; files.forEach(function(fileName) { - countline(fileName); + //countline(fileName); }); - +*/ \ No newline at end of file diff --git a/examples_book/runcode.js b/examples_book/runcode.js index f6aada4..9ca1301 100644 --- a/examples_book/runcode.js +++ b/examples_book/runcode.js @@ -1,4 +1,4 @@ -let __resultAreaId__ = ""; +let __resultAreaId__ = undefined; function toString(data) { if(data == null || data == undefined ) { @@ -123,9 +123,19 @@ function dowloadfile(content){ link.click(); URL.revokeObjectURL(link.href); } - + +const __old__console__ = console.log; + console.log = function(...data){ - let display = document.querySelector(__resultAreaId__); + if(!__resultAreaId__) { + return __old__console__(data); + } + + let display = document.querySelector(__resultAreaId__); + if(!display) { + return __old__console__(data); + } + for( let d of data){ if( typeof d !== 'string'){ d = toString(d); diff --git a/examples_book/test_module/import_module.php b/examples_book/test_module/import_module.php index 4fc6547..554fce7 100644 --- a/examples_book/test_module/import_module.php +++ b/examples_book/test_module/import_module.php @@ -20,7 +20,7 @@ exit(); } - if( strpos($modulename, ".js") != False){ + if( strpos($modulename, ".js") == False){ echo "Sorry! It can't upload beacause this is a not *.js file"; exit(); } diff --git a/examples_book/test_module/run_module.php b/examples_book/test_module/run_module.php index e959c6a..ef02439 100644 --- a/examples_book/test_module/run_module.php +++ b/examples_book/test_module/run_module.php @@ -5,6 +5,21 @@ echo "not found javascript code"; exit(); } + + $allLines = preg_split("/(\r\n|\n|\r)/", $code); + $importCode = ""; + $remainCode = ""; + foreach ($allLines as $line) { + $line = trim($line); + if( str_starts_with($line, '//')) { + continue; + } else if( str_starts_with($line, 'import') ) { + $importCode = $importCode."\n".$line; + + } else { + $remainCode = $remainCode."\n".$line; + } + } } ?> @@ -36,7 +51,17 @@ From f9a36ad6179f9ba15c24d4a337e54f469687ff37 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 14:04:24 +0700 Subject: [PATCH 472/757] no message --- examples_book/Chapter20.md | 2 +- examples_book/initpage.js | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 2053c41..945e085 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -48,7 +48,7 @@ export function square(x) { // บรรทัด b export function calculate(x, y) { // บรรทัด c return (square(x) + square(y)) * CONST_VALUE; } -function multiply(num1, num2) { // บรรทัด d +function multiply(num1, num2) { // บรรทัด d return num1 * num2; } export multiply; // บรรทัด e -- เอ็กซ์พอร์ตภายหลัง diff --git a/examples_book/initpage.js b/examples_book/initpage.js index 69f1cd5..8f3a3e3 100644 --- a/examples_book/initpage.js +++ b/examples_book/initpage.js @@ -38,14 +38,19 @@ healineDiv.innerHTML = `โค้ด${link.innerHTML}`; statusLoading.style.display = "block"; bottomAds.style.display = "none"; - + let options = { - headers: { - 'Cache-Control': 'no-cache' - } + mode: 'no-cors', + cache: "no-cache", }; - - fetch(link.href, options) + + //let currentLocation = window.location.protocol + "//" + window.location.host + "/" + window.location.pathname; + //let tmp = link.href.split('/'); + //let fileLink = tmp[tmp.length-1]; + //let url = `https://raw.githubusercontent.com/adminho/javascript/master/examples_book/${fileLink}`; + //alert(url); + let url = link.href; + fetch(url, options) .then( res => res.text()) .then( text => { statusLoading.style.display = "none"; From 75c4284faa1411825bb07c8b15b9b33c43658684 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 14:07:17 +0700 Subject: [PATCH 473/757] no message --- examples_book/Chapter20.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 945e085..4b0cf45 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -126,8 +126,8 @@ message = "Good morning"; // บรรทัด b -- จะ ```run.module // ไฟล์ main.js import * as lib from "./example.js"; -console.log(lib.square(2)); -console.log(lib.calculate(2, 2)); +console.log(lib.square(2)); // 4 +console.log(lib.calculate(2, 2)); // 800 ``` ```run.module From 528f38d3888827d4647bea08a271fda1ffb01657 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 14:49:29 +0700 Subject: [PATCH 474/757] no message --- examples_book/Chapter20.md | 6 +++--- examples_book/md2html.js | 31 +++++++++++++++++-------------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 4b0cf45..c5b578f 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -139,10 +139,10 @@ import { multiply } from "./example.js"; ## เปลี่ยนชื่อสิ่งที่ต้องการโหลด และเอ็กซ์พอร์ต ```run.module -// ไฟล์ main.js +// -------------- ไฟล์ main.js -------------- import { square, calculate as calc } from "./example.js"; -console.log(square(2)); -console.log(calc(2, 2)); +console.log(square(2)); // 4 +console.log(calc(2, 2)); // 800 ``` ```module diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 3ddc1e4..00c9ca7 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -8,7 +8,7 @@ const eachLine = Promise.promisify(lineReader.eachLine); */ /*async function genHTML(fileName){ - let isCode = false; + let isAreaCode = false; let lineCodes = ""; let count = 0; @@ -19,7 +19,7 @@ const eachLine = Promise.promisify(lineReader.eachLine); return eachLine(`${fileName}.md`, function(line, last) { if(isBeginCode(line)){ // start codes - isCode = true; + isAreaCode = true; count++; if(line.startsWith("```js")){ btnValue = "Run"; @@ -31,8 +31,8 @@ const eachLine = Promise.promisify(lineReader.eachLine); btnValue = "Run New Tab"; } - } else if( isCode==true && line.startsWith("```")){ // reach to end of codes - isCode = false + } else if( isAreaCode==true && line.startsWith("```")){ // reach to end of codes + isAreaCode = false const rows = lineCodes.split('\n').length-1; let clearBtnHTML = ""; if ( btnValue == "Run") { @@ -50,7 +50,7 @@ const eachLine = Promise.promisify(lineReader.eachLine); lineCodes = ""; - } else if(isCode==false) { // not codes + } else if(isAreaCode==false) { // not codes if(line.startsWith("#")) { line = line.replace(/#/g, ""); @@ -77,7 +77,7 @@ const eachLine = Promise.promisify(lineReader.eachLine); } - if(isCode && !line.startsWith("```js") && !isBeginCode(line)){ + if(isAreaCode && !line.startsWith("```js") && !isBeginCode(line)){ line = line.replaceAll(/\$\$/g, "@-@"); // fix bugs กรณีที่ line มี $$ วางติดกันอยู่ในสตริง เพื่อไม่ให้มันทำงาน (ในบทที่ 11 เรื่องเทมเพลตสตริง) lineCodes += `${line}\n`; } @@ -142,7 +142,7 @@ function writeHTML(fileName, html){ function genHTMLfromArray(arrayMdFiles) { - let isCode = false; + let isAreaCode = false; let lineCodes = ""; let count = 0; @@ -153,7 +153,7 @@ function genHTMLfromArray(arrayMdFiles) { arrayMdFiles.forEach( (line) => { if(isBeginCode(line)){ // start codes - isCode = true; + isAreaCode = true; count++; if(line.startsWith("```js")){ btnValue = "Run"; @@ -165,9 +165,12 @@ arrayMdFiles.forEach( (line) => { btnValue = "Run New Tab"; } - } else if( isCode==true && line.startsWith("```")){ // reach to end of codes - isCode = false - const rows = lineCodes.split('\n').length-1; + } else if( isAreaCode==true && line.startsWith("```")){ // reach to end of codes + isAreaCode = false + lineCodes = lineCodes.slice(0,-2); + const rows = lineCodes.split('\r\n').length; + console.log(lineCodes); + let clearBtnHTML = ""; if ( btnValue == "Run") { clearBtnHTML = ``; @@ -175,7 +178,7 @@ arrayMdFiles.forEach( (line) => { allLines += `
    - +
    @@ -184,11 +187,11 @@ arrayMdFiles.forEach( (line) => { lineCodes = ""; - } else if( isCode==true && !isBeginCode(line) && !line.startsWith("```") ){ + } else if( isAreaCode==true && !isBeginCode(line) && !line.startsWith("```") ){ // ยังอยู่ในโค้ด line = line.replaceAll(/\$\$/g, "@-@"); // fix bugs กรณีที่ line มี $$ วางติดกันอยู่ในสตริง เพื่อไม่ให้มันทำงาน (ในบทที่ 11 เรื่องเทมเพลตสตริง) lineCodes += `${line}\n`; - } else if(isCode==false) { // not codes + } else if(isAreaCode==false) { // not codes if(line.startsWith("#")) { line = line.replace(/#/g, ""); From 449d2e239f44cdaa673a3cb1c41054593baa6440 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 14:51:29 +0700 Subject: [PATCH 475/757] no message --- examples_book/Chapter20.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index c5b578f..a7dbc03 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -162,7 +162,7 @@ export { square as sqr, calculate as calc, multiply as mul}; // บรรทั ```run.module // -------------- ไฟล์ main.js ----------------- -import {sqr, calc, mul} from "example"; +import {sqr, calc, mul} from "./example.js"; console.log(sqr(2)); // 4 console.log(calc(2, 2)); // 800 console.log(mul(2,2)); // 4 From 7404b21950c2ea8844d37eaaf30e6666a4b288a5 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 15:07:35 +0700 Subject: [PATCH 476/757] no message --- examples_book/Chapter20.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index a7dbc03..22dc323 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -192,10 +192,10 @@ export default param => param; ```run.module // ไฟล์ main.js -import func from "MyFunc"; -import _class from "MyClas"; -import value from "MyValue"; -import arrowFunc from "MyArrow"; +import func from "./MyFunc.js"; +import _class from "./MyClas.js"; +import value from "./MyValue.js"; +import arrowFunc from "./MyArrow.js"; ``` ---- From b01de81f60f292f62139d1330bf2ced013673896 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 15:07:52 +0700 Subject: [PATCH 477/757] no message --- examples_book/test_module/import_module.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples_book/test_module/import_module.php b/examples_book/test_module/import_module.php index 554fce7..9c2a450 100644 --- a/examples_book/test_module/import_module.php +++ b/examples_book/test_module/import_module.php @@ -25,6 +25,10 @@ exit(); } + if (file_exists($modulename)) { + unlink($modulename); + } + if(file_put_contents($modulename , $code)>0){ echo "

    Import module: ".$modulename." -> success

    "; exit(); From 3e49e0afa464df34b90f1a712c58fc45a5906860 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 15:23:24 +0700 Subject: [PATCH 478/757] no message --- examples_book/Chapter20.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 22dc323..8ed9f11 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -193,7 +193,7 @@ export default param => param; ```run.module // ไฟล์ main.js import func from "./MyFunc.js"; -import _class from "./MyClas.js"; +import _class from "./MyClass.js"; import value from "./MyValue.js"; import arrowFunc from "./MyArrow.js"; ``` From a247b9968d9c817cefa7fc5d524267bef20a3f02 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 15:27:26 +0700 Subject: [PATCH 479/757] no message --- examples_book/Chapter20.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 8ed9f11..0ec90ea 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -213,7 +213,7 @@ export default function(num1, num2) { // ฟังก์ชั่นไร้ ```run.module // -------------- ไฟล์ main.js ------------------- -import multiply, {value, square} from "mydefault"; +import multiply, {value, square} from "./mydefault.js"; console.log(value); // 100 console.log(square(2,2)); // 4 console.log(multiply(2,2)); // 4 From 7a32ba1f90b07c2f6832b15528b5cd5b0b4ffafd Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 23 Sep 2023 15:27:55 +0700 Subject: [PATCH 480/757] no message --- examples_book/test_module/import_module.php | 2 +- examples_book/test_module/run_module.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/test_module/import_module.php b/examples_book/test_module/import_module.php index 9c2a450..66a7945 100644 --- a/examples_book/test_module/import_module.php +++ b/examples_book/test_module/import_module.php @@ -30,7 +30,7 @@ } if(file_put_contents($modulename , $code)>0){ - echo "

    Import module: ".$modulename." -> success

    "; + echo "

    Import module ".$modulename." -> success

    "; exit(); }else { echo "Empty file: ".$modulename; diff --git a/examples_book/test_module/run_module.php b/examples_book/test_module/run_module.php index ef02439..4357c74 100644 --- a/examples_book/test_module/run_module.php +++ b/examples_book/test_module/run_module.php @@ -53,9 +53,9 @@ \ No newline at end of file diff --git a/examples_book/test_module/run_module.php b/examples_book/test_module/run_module.php index 924ced1..d41a3f5 100644 --- a/examples_book/test_module/run_module.php +++ b/examples_book/test_module/run_module.php @@ -5,20 +5,25 @@ echo "not found javascript code"; exit(); } - + $allLines = preg_split("/(\r\n|\n|\r)/", $code); $importCode = ""; $remainCode = ""; - foreach ($allLines as $line) { - $line = trim($line); - if( str_starts_with($line, '//')) { - continue; - } else if( str_starts_with($line, 'import') ) { - $importCode = $importCode."\n".$line; - - } else { - $remainCode = $remainCode."\n".$line; - } + $allCode = ""; + + if( str_starts_with($allLines[0],'//')) { + foreach ($allLines as $line) { + $line = trim($line); + if( str_starts_with($line, '//')) { + continue; + } else if( str_starts_with($line, 'import') ) { + $importCode = $importCode."\n".$line; + } else { + $remainCode = $remainCode."\n".$line; + } + } + } else { + $allCode = $code; } } ?> @@ -56,6 +61,7 @@ console.log("@htmlผลการรัน:"); + try { } catch(e) { From 0d8b9dc8bd1e9e29f31128e14fe8daaabf69e647 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 24 Sep 2023 11:16:51 +0700 Subject: [PATCH 490/757] no message --- examples_book/Chapter20.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 2324e8a..772bd27 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -4,8 +4,7 @@ ```js // ไฟล์ main.js -// ไม่ได้โหลดอะไรเข้ามา -import "./lib/mylib.js"; +import "./lib/mylib.js"; // ไม่ได้โหลดอะไรเข้ามา ``` ```module @@ -191,7 +190,7 @@ export default param => param; ``` ```run.module -// ไฟล์ main.js +// -------------- ไฟล์ main.js -------------- import func from "./MyFunc.js"; import _class from "./MyClass.js"; import value from "./MyValue.js"; From b13d54b2ab3a60725b297a6561661c33beb7a494 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 24 Sep 2023 11:17:49 +0700 Subject: [PATCH 491/757] no message --- examples_book/initpage.js | 65 ++++-- examples_book/md2html.js | 187 +----------------- examples_book/{readme_md.css => readmemd.css} | 0 examples_book/{runcode.js => runjscode.js} | 53 ++--- examples_book/util.js | 20 ++ 5 files changed, 91 insertions(+), 234 deletions(-) rename examples_book/{readme_md.css => readmemd.css} (100%) rename examples_book/{runcode.js => runjscode.js} (88%) create mode 100644 examples_book/util.js diff --git a/examples_book/initpage.js b/examples_book/initpage.js index 8f3a3e3..73ca33f 100644 --- a/examples_book/initpage.js +++ b/examples_book/initpage.js @@ -12,19 +12,40 @@ return false; } - let allLink = document.getElementsByClassName("link-chap"); - for(const link of allLink) { - link.addEventListener('click', function(event) { - event.preventDefault(); - let file = link.href; - includeHTML(link); - }); + function initMenuEvent(func){ + let allLink = document.getElementsByClassName("link-chap"); + for(const link of allLink) { + link.addEventListener('click', function(event) { + event.preventDefault(); + let file = link.href; + includeHTML(link); + }); - link.addEventListener('contextmenu', function(event) { - event.preventDefault(); - }); - } - + link.addEventListener('contextmenu', function(event) { + event.preventDefault(); + }); + + link.convertToHTML = func; + } + } + + async function createLeftMenu() { + let options = { + cache: "no-cache", + }; + let res = await fetch("left_menu.html", options) + let htmlMenu = await res.text(); + mainMenu.innerHTML = htmlMenu; + } + + async function createAdsRight(){ + + } + + async function createAdsBottom(){ + + } + function showMenu() { mainMenu.style.display = "block"; } @@ -54,11 +75,11 @@ .then( res => res.text()) .then( text => { statusLoading.style.display = "none"; - if(text.includes("404")){ + if(text.includes("404 Not Found")){ targetDiv.innerHTML = '

    Not found page

    '; - } else { - allLineArray = text.split("\n"); - targetDiv.innerHTML = genHTMLfromArray(allLineArray); + } else { + //targetDiv.innerHTML = genHTMLfromMDFile(text); + targetDiv.innerHTML = link.convertToHTML(text); bottomAds.style.display = "block"; } @@ -75,7 +96,17 @@ }); } - includeHTML(document.getElementsByClassName("link-chap")[1]); // select default link + + function selectMenu(index){ + includeHTML(document.getElementsByClassName("link-chap")[index]); // select default link + } + + window.onload = async function() { + await createLeftMenu(); + //initMenuEvent(genHTMLfromIpynb); + initMenuEvent(genHTMLfromMDFile); + //selectMenu(2); + } window.resize = function(){ alert(); diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 00c9ca7..19abc55 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -1,147 +1,13 @@ -// npm install line-reader -// npm install bluebird -/* -const Promise = require("bluebird"); -const fs = Promise.promisifyAll(require('fs')); -const lineReader = require('line-reader'); -const eachLine = Promise.promisify(lineReader.eachLine); -*/ - -/*async function genHTML(fileName){ - let isAreaCode = false; - let lineCodes = ""; - let count = 0; - - let headline = ""; - let allLines = ""; - let btnValue = ""; - - return eachLine(`${fileName}.md`, function(line, last) { - - if(isBeginCode(line)){ // start codes - isAreaCode = true; - count++; - if(line.startsWith("```js")){ - btnValue = "Run"; - } else if(line.startsWith("```html")) { - btnValue = "Open HTML"; - } else if(line.startsWith("```module")){ - btnValue = "Import"; - } else if(line.startsWith("```run.module")) { - btnValue = "Run New Tab"; - } - - } else if( isAreaCode==true && line.startsWith("```")){ // reach to end of codes - isAreaCode = false - const rows = lineCodes.split('\n').length-1; - let clearBtnHTML = ""; - if ( btnValue == "Run") { - clearBtnHTML = ``; - } - allLines += `
    -
    - - -
    -
    - - ${clearBtnHTML} -
    `; - - lineCodes = ""; - - } else if(isAreaCode==false) { // not codes - - if(line.startsWith("#")) { - line = line.replace(/#/g, ""); - if(line.includes("โค้ดบทที่")) { - headline = line; - } else { - allLines += `

    ${line}

    `; - } -*/ -// } else if(line.startsWith("*") && !line.startsWith("*/")){ -// line = line.replace(/\*/g, "\u2022 "); // show a bullet -/* allLines += `

    ${line}

    `; - - } else if(line.startsWith("หมายเหตุ")){ - line = line.replace(/หมายเหตุ/g, "หมายเหตุ"); - allLines += `

    ${line}

    `; - - } else if(line.startsWith("----")){ - allLines += `
    `; - - } else { - allLines += `

    ${line}

    `; - } - - } - - if(isAreaCode && !line.startsWith("```js") && !isBeginCode(line)){ - line = line.replaceAll(/\$\$/g, "@-@"); // fix bugs กรณีที่ line มี $$ วางติดกันอยู่ในสตริง เพื่อไม่ให้มันทำงาน (ในบทที่ 11 เรื่องเทมเพลตสตริง) - lineCodes += `${line}\n`; - } - - if(last) { - /*let html = templateHTML.replace("${headline}", headline) - .replace("${allLines}", allLines) - .replace("${fileName}", fileName);*/ -/* let html = allLines; - html = html.replaceAll(/@-@/g, "$$$"); // fix bugs - fs.writeFile(`${fileName}.html`, html, function (err) { - if (err) throw err; - console.log(`${fileName}.html is Saved!`); - }); - } - -}); -}*/ - -let files = [ "chapter02", "chapter03", "chapter04","chapter05", "chapter06", -"chapter07","chapter08","chapter09", "chapter10", "chapter11", "chapter12", -"chapter13","chapter14","chapter15", "chapter16", "chapter17", -"chapter18","chapter19","chapter20"]; - -/*(async () => { - for await (const f of files) { - //genHTML(f); - } -})();*/ - function isBeginCode(line){ if(line.startsWith("```js") || line.startsWith("```html") || line.startsWith("```module") || line.startsWith("```run.module")) { return true; } return false; } - -async function getArrayFromFile(fileName){ - let allLines = []; - return new Promise( resolve => { - eachLine(`${fileName}.md`, function(line, last) { - if(line.trim() !== ''){ - allLines.push(line); - - } - if(last) { - resolve(allLines); - } - }) - - }); +function genHTMLfromMDFile(content) { + allLineArray = content.split("\n"); -} - -function writeHTML(fileName, html){ - fs.writeFile(`${fileName}.html`, html, function (err) { - if (err) throw err; - console.log(`${fileName}.html is Saved!`); - }); -} - -function genHTMLfromArray(arrayMdFiles) { - let isAreaCode = false; let lineCodes = ""; let count = 0; @@ -150,7 +16,7 @@ function genHTMLfromArray(arrayMdFiles) { let allLines = ""; let btnValue = ""; -arrayMdFiles.forEach( (line) => { +allLineArray.forEach( (line) => { if(isBeginCode(line)){ // start codes isAreaCode = true; @@ -169,8 +35,7 @@ arrayMdFiles.forEach( (line) => { isAreaCode = false lineCodes = lineCodes.slice(0,-2); const rows = lineCodes.split('\r\n').length; - console.log(lineCodes); - + let clearBtnHTML = ""; if ( btnValue == "Run") { clearBtnHTML = ``; @@ -183,8 +48,7 @@ arrayMdFiles.forEach( (line) => {
    ${clearBtnHTML} -
    `; - +
    `; lineCodes = ""; } else if( isAreaCode==true && !isBeginCode(line) && !line.startsWith("```") ){ // ยังอยู่ในโค้ด @@ -214,47 +78,12 @@ arrayMdFiles.forEach( (line) => { } else { allLines += `

    ${line}

    `; - } - + } } - - + }); // end for each loop let html = allLines; html = html.replaceAll(/@-@/g, "$$$"); // fix bugs return html; -} - -/* - -for (const fileName of files) { - getArrayFromFile(fileName).then( allLine => { - let html = genHTMLfromArray(allLine); - writeHTML(fileName, "" + html); - }); - -} */ - -/* -async function countline(fileName){ - let count = 0; - return eachLine(`${fileName}.md`, function(line, last) { - line = line.trim(); - - if(!line.startsWith("```") && !line.startsWith("#") && line != '' && !line.startsWith("*")){ - count++ - } - - if(last) { - console.log(`The ${fileName}.md has line of codes are ${count}`); - } - }); -} - -let numLines= []; - -files.forEach(function(fileName) { - //countline(fileName); -}); -*/ \ No newline at end of file +} \ No newline at end of file diff --git a/examples_book/readme_md.css b/examples_book/readmemd.css similarity index 100% rename from examples_book/readme_md.css rename to examples_book/readmemd.css diff --git a/examples_book/runcode.js b/examples_book/runjscode.js similarity index 88% rename from examples_book/runcode.js rename to examples_book/runjscode.js index 9ca1301..756f464 100644 --- a/examples_book/runcode.js +++ b/examples_book/runjscode.js @@ -93,28 +93,7 @@ function toString(data) { return String(data); // stop recursive } } - -function escapeHtml(unsafe) { - return unsafe - .replaceAll(/&/g, "&") - .replaceAll(/</g, "<") - .replaceAll(/>/g, ">") - .replaceAll(/"/g, '"') - .replaceAll(/'/g, "'"); -} -function decodeHtml(str) { - return str - .replaceAll(/&/g, "&") - .replaceAll(//g, ">") - .replaceAll(/"/g, '"') - .replaceAll(/'/g, "'") - .replaceAll(/\n/g,'
    ') - .replaceAll(/\t/g, "        ") - .replaceAll(/\s/g, " "); - } - function dowloadfile(content){ const link = document.createElement("a"); const file = new Blob([content], { type: 'text/plain' }); @@ -171,23 +150,21 @@ function clearDisplay(targetCount) { } } -async function saveModule(codeText) { - fetch('test_module/save_module.php', { - method: "POST", - headers: { - 'Accept': 'application/json, text/plain, */*', - 'Content-Type': 'application/json' - }, - body: JSON.stringify({ - code: codeText - }) - }) - .then( response => response.text()) - .then( text => alert(text) ) - .catch(error => console.error('Error:', error)); - -} -JSON.stringify({ "id": 78912 }) +//async function saveModule(codeText) { +// fetch('test_module/save_module.php', { +// method: "POST", +// headers: { +// 'Accept': 'application/json, text/plain, */*', +// 'Content-Type': 'application/json' +// }, +// body: JSON.stringify({ +// code: codeText +// }) +// }) +// .then( response => response.text()) +// .then( text => alert(text) ) +// .catch(error => console.error('Error:', error)); +//} function runCodeBtn(targetCount) { clearDisplay(targetCount); diff --git a/examples_book/util.js b/examples_book/util.js new file mode 100644 index 0000000..daab7a7 --- /dev/null +++ b/examples_book/util.js @@ -0,0 +1,20 @@ +function escapeHtml(unsafe) { + return unsafe + .replaceAll(/&/g, "&") + .replaceAll(/</g, "<") + .replaceAll(/>/g, ">") + .replaceAll(/"/g, '"') + .replaceAll(/'/g, "'"); +} + +function decodeHtml(str) { + return str + .replaceAll(/&/g, "&") + .replaceAll(//g, ">") + .replaceAll(/"/g, '"') + .replaceAll(/'/g, "'") + .replaceAll(/\n/g,'
    ') + .replaceAll(/\t/g, "        ") + .replaceAll(/\s/g, " "); +} \ No newline at end of file From 905adddffe1f8ee37ad89c7d61b3b18fb9d7c5f1 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 24 Sep 2023 11:24:33 +0700 Subject: [PATCH 492/757] no message --- examples_book/Chapter20.md | 1 + 1 file changed, 1 insertion(+) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 772bd27..79dcf75 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -130,6 +130,7 @@ console.log(lib.calculate(2, 2)); // 800 ``` ```run.module +// -------------- ไฟล์ main.js -------------- import { square } from "./example.js"; import { calculate } from "./example.js"; import { multiply } from "./example.js"; From eee60b628552a54fed45956273c59387c69896cf Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 24 Sep 2023 11:50:14 +0700 Subject: [PATCH 493/757] no message --- examples_book/test_module/run_module.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/test_module/run_module.php b/examples_book/test_module/run_module.php index d41a3f5..8a090af 100644 --- a/examples_book/test_module/run_module.php +++ b/examples_book/test_module/run_module.php @@ -30,7 +30,7 @@ - + - - -
    - - -

    แสดงผลลัพธ์ -
    -
    - - - - - - - - \ No newline at end of file From 964fab78aeb3e96ab6629319bc660b654093b568 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 26 Sep 2023 16:37:06 +0700 Subject: [PATCH 533/757] no message --- examples_book/chaptermd.php | 13 -- .../{display_html.php => displayhtml.php} | 0 examples_book/initpage.js | 84 ++++--- examples_book/main.css | 214 ++++++++++++++++++ examples_book/md.css | 56 +++++ examples_book/md2html.js | 7 +- examples_book/runjscode.js | 2 +- 7 files changed, 327 insertions(+), 49 deletions(-) delete mode 100644 examples_book/chaptermd.php rename examples_book/{display_html.php => displayhtml.php} (100%) create mode 100644 examples_book/main.css create mode 100644 examples_book/md.css diff --git a/examples_book/chaptermd.php b/examples_book/chaptermd.php deleted file mode 100644 index 3e8be78..0000000 --- a/examples_book/chaptermd.php +++ /dev/null @@ -1,13 +0,0 @@ - \ No newline at end of file diff --git a/examples_book/display_html.php b/examples_book/displayhtml.php similarity index 100% rename from examples_book/display_html.php rename to examples_book/displayhtml.php diff --git a/examples_book/initpage.js b/examples_book/initpage.js index 68170be..0e70f01 100644 --- a/examples_book/initpage.js +++ b/examples_book/initpage.js @@ -4,7 +4,11 @@ let rightAds = document.getElementById("right-ads"); let headlineDiv = document.getElementById("headline"); let mainMenu = document.getElementById("main-menu"); - + + document.getElementById("btn-menu").onclick= function() { + mainMenu.style.display = "block"; + } + function isDesktop(){ //if( window.innerWidth >=768 || WURFL.form_factor === "Desktop") { if( window.innerWidth >=768 ) { @@ -13,17 +17,19 @@ return false; } - function initMenuEvent(func){ - let allLink = document.getElementsByClassName("link-chap"); - for(const link of allLink) { - link.addEventListener('click', function(event) { + function clickMenu(event) { if( !isDesktop()) { mainMenu.style.display = "none"; } event.preventDefault(); + let link = event.target let file = link.href; - includeHTML(link); - }); + includeHTML(link); + } + function initMenuEvent(func){ + let allLink = document.getElementsByClassName("link-chap"); + for(const link of allLink) { + link.addEventListener('click', clickMenu); link.addEventListener('contextmenu', function(event) { event.preventDefault(); }); @@ -40,28 +46,35 @@ div.innerHTML = content; } - async function createAdsRight(){ - + function clearAllLinkHilight() { + let allLink = document.getElementsByClassName("link-chap"); + for(const link of allLink) { + link.classList.remove("hilight-link"); + } } - async function createAdsBottom(){ + function showMsgWaiting(enable=true){ + if (enable) { + statusLoading.style.display = "block"; + targetDiv.classList.add("blur"); + bottomAds.style.display="none"; + } else { + statusLoading.style.display = "none"; + targetDiv.classList.remove("blur"); + bottomAds.style.display="block"; + } - } - - function showMenu() { - mainMenu.style.display = "block"; - } - + } function includeHTML(link) { if(!link){ throw new Error(`Not have a link`); } document.title = link.innerHTML; - headlineDiv.innerHTML = `โค้ด${link.innerHTML}`; - statusLoading.style.display = "block"; - targetDiv.classList.add("blur"); - bottomAds.style.display = "none"; + headlineDiv.innerHTML = `โค้ด${link.innerHTML}`; + showMsgWaiting(enable=true); + clearAllLinkHilight(); + link.classList.add("hilight-link"); let options = { cache: "no-cache", @@ -76,24 +89,19 @@ fetch(url, options) .then( res => res.text()) .then( text => { - statusLoading.style.display = "none"; - targetDiv.classList.remove("blur"); + showMsgWaiting(enable=false); if(text.includes("404 Not Found")){ targetDiv.innerHTML = '

    Not found page

    '; } else if (text.includes("Failed to open stream") || text.includes("Warning") ){ targetDiv.innerHTML = '

    Failed to Connect

    '; - } else { - //targetDiv.innerHTML = genHTMLfromMDFile(text); + } else { targetDiv.innerHTML = link.convertToHTML(text); - bottomAds.style.display = "block"; } } ) .catch( err => { targetDiv.innerHTML = 'Not found page'; - statusLoading.style.display = "none"; - targetDiv.classList.remove("blur"); - bottomAds.style.display = "block"; + showMsgWaiting(enable=false); }); } @@ -101,7 +109,25 @@ includeHTML(document.getElementsByClassName("link-chap")[index]); // select default link } - + async function showJavaScriptBookCode(){ + await bildHTML(mainMenu, "left_menu.html"); + await bildHTML(bottomAds, "ads_bottom.html"); + await bildHTML(rightAds, "ads_right.html"); + initMenuEvent(genHTMLfromMDFile); + selectMenu(2); + } + + async function showPythonIpynb(){ + await bildHTML(mainMenu, "left_menu_ipynb.html"); + await bildHTML(bottomAds, "ads_bottom_ipynb.html"); + await bildHTML(rightAds, "ads_right.html"); + initMenuEvent(genHTMLfromIpynb); + selectMenu(1); + } + + window.onload = async function() { + showJavaScriptBookCode(); + } window.resize = function(){ !isDesktop?mainMenu.style.display = "block":mainMenu.style.display = "none"; diff --git a/examples_book/main.css b/examples_book/main.css new file mode 100644 index 0000000..07a6504 --- /dev/null +++ b/examples_book/main.css @@ -0,0 +1,214 @@ +body { + /*font-family: 'Noto Sans Thai', sans-serif;*/ +} + +.main { + margin-top: 70px; + margin-left: 20%; + margin-right: 20%; + width: 60%; + overflow:auto; +} + +.blur { + filter: blur(0.5rem); +} + +.sale { + margin-top: 0px; + margin-left: 20%; +} + +.ads { + position: fixed; + /*right: 7%;*/ + right:35; + top: 70; + text-align:left; + /*padding-left: 0;*/ + z-index: 15; +} + +.img-ads { + width: 200; +} + +.header { + background-color: #3CB371; + position: fixed; + width: 100%; + height: 50px; + left: 0; + top:0; + z-index: 50; + display: block; +} + +.headline { + padding-left: 20%; + margin-bottom: 15px; + text-align: left; + font-weight: 500; + font-size: 1.7em; + color:white; +} + +.link-chap { + text-decoration: none; + padding-left: 0px; +} + +.main-link-chap { + margin-bottom: 0px; + font-size: 1.1em; + font-weight:: bold; +} + +.hilight-link { + background-color: #FFE4B5; +} + +.group-link-chap { + padding-left: 15px; + font-size: 1.0em; +} + +a:link { + color: black; +} + +a:hover { + background-color: #FBFBFB; +} + +/* selected link */ +a:active { + background-color: #CBCBCB; +} + +.btn-menu { + position: fixed; + left: 0; + top: 0; + border: 1px solid; + border-color: #5A8A1A; + border-radius: 15px; + background: #558415; + padding: 0.5rem 1.0rem; + cursor: pointer; + z-index: 80; + text-align: center; +} + +.btn-menu-right { + position: fixed; + right: 0; + top: 0; + border: 1px solid; + border-color: #5A8A1A; + border-radius: 15px; + background: #558415; + padding: 0.5rem 1.0rem; + cursor: pointer; + z-index: 80; + text-align: center; +} + +.main-menu{ + position: fixed; + left: 0; + top: 40; + height: 100%; + width: 18%; + height: 100%; + margin-top:0px; + padding-top:20px; + padding-left:10px; + padding-bottom:100px; + background-color: #DAF7A6; + /*overflow-y: scroll;**/ + overflow: auto; + z-index: 5; + text-align: left; + font-size: 0.9em; +} + +.footer { + background-color: #3CB371; + position: fixed; + left: 0; + bottom:0; + width: 100%; + color: white; + text-align:center; + display:none; + z-index: 1000; +} + +.rotate { + animation: animName 2s linear infinite; + opacity: 10; + width:30%; + position: fixed; + left:33%; + top:20%; + z-index: 100; + display: none; +} + +@keyframes animName { + 0%{ + transform: rotate(0deg); + } + 100%{ + transform: rotate(360deg); + } +} + +.loading { + animation: blinker 0.5s step-start infinite; + /*background-color: #FBFBFB;*/ +} + +@keyframes blinker { + 50% { + opacity: 0; + } +} + +@media all and (max-width: 768px){ + .main { + margin-left: 2%; + width: 96%; + } + .sale { + margin-left: 10px; + } + .footer { + display: block; + } + .ads { + display: none; + } + + .headline { + /*font-size: 1.5em;*/ + /*text-align: right;*/ + display: none; + } + + /*.btn-menu { + display: block; + }*/ + .main-menu { + display: none; + width: 100%; + } + /* + .group-menu:hover .main-menu { + display: block; + margin-top: 10px; + }*/ +} + +@media print { body { display:none } } \ No newline at end of file diff --git a/examples_book/md.css b/examples_book/md.css new file mode 100644 index 0000000..14fd27a --- /dev/null +++ b/examples_book/md.css @@ -0,0 +1,56 @@ +.notrun { + background-color: #F0F0F0; + margin-top: 3px; + border: 1px solid #4CAF50; +} + +.run-already { + background-color: #DAF7A6 ; + margin-top: 3px; + border: 1px solid #4CAF50; +} + +/*input[type=button], input[type=submit], input[type=reset] {*/ +.run-btn { + background-color: #04AA6D; + font-weight: bold; + border: none; + color: white; + padding: 4px 20px; + text-decoration: none; + margin: 0px 2px 20px 0px; + cursor: pointer; +} + +textarea { + font-size: 1em; + background-color: #F5F5F5; + width: 100%; +} + +.describe { + margin:3px; + font-size:16px; +} + +.display-result { + width: 100%; + /*background-color: #7B68EE;*/ + background-color: #606060; + color: white; + text-align: left; + font-size: 1rem; + margin-top: 2px; + margin-bottom: 3px; + border: 0.5px #023020; +} + +/*wrap text*/ +div.display-result { + white-space: pre-wrap; + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-wrap: break-word; +} + diff --git a/examples_book/md2html.js b/examples_book/md2html.js index 8ef82f2..9e1f75f 100644 --- a/examples_book/md2html.js +++ b/examples_book/md2html.js @@ -14,7 +14,6 @@ function genHTMLfromMDFile(content) { let lineCodes = ""; let count = 0; - let headline = ""; let allLines = ""; let btnValue = ""; @@ -67,11 +66,7 @@ allLineArray.forEach( (line) => { if(line.startsWith("#")) { line = line.replace(/#/g, ""); - if(line.includes("โค้ดบทที่")) { - headline = line; - } else { - allLines += `

    ${line}

    `; - } + allLines += `

    ${line}

    `; } else if(line.startsWith("*") && !line.startsWith("*/")){ line = line.replace(/\*/g, "\u2022 "); // show a bullet diff --git a/examples_book/runjscode.js b/examples_book/runjscode.js index a832582..34b2bf9 100644 --- a/examples_book/runjscode.js +++ b/examples_book/runjscode.js @@ -187,7 +187,7 @@ function runCodeBtn(targetCount) { let codeTxt = textCodeArea.value; if( codeTxt.includes("")>0 && btn.value=="Open HTML" ) { - myform.action="display_html.php" + myform.action="displayhtml.php" myform.submit(); } else if( btn.value=="Import" ) { From 8ad794f2efe0643ef69249e484fc8bca6662d5b3 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 26 Sep 2023 17:08:53 +0700 Subject: [PATCH 534/757] no message --- examples_book/.gitignore | 3 +- examples_book/ipynb.css | 23 ++++++++ examples_book/ipynb2html.js | 105 ++++++++++++++++++++++++++++++++++++ 3 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 examples_book/ipynb.css create mode 100644 examples_book/ipynb2html.js diff --git a/examples_book/.gitignore b/examples_book/.gitignore index 3be4046..fc8fadc 100644 --- a/examples_book/.gitignore +++ b/examples_book/.gitignore @@ -3,4 +3,5 @@ test_js/ *.html *.json deploy* -*.bat \ No newline at end of file +*.bat +*deploy* \ No newline at end of file diff --git a/examples_book/ipynb.css b/examples_book/ipynb.css new file mode 100644 index 0000000..cc2fb87 --- /dev/null +++ b/examples_book/ipynb.css @@ -0,0 +1,23 @@ +.describe-ipynb { + margin:30px 10px 0px 0px; + font-size:16px; +} + +.display-result-ipynb { + width: 100%; + /*background-color: #7B68EE;*/ + background-color: #e9f7e0; + color: black; + text-align: left; + font-size: 1rem; + margin-top: 2px; + margin-bottom: 20px; + border: 1px #F23F2F; +} + +br { +content: ""; +margin: 0em; +display: block; +font-size:5%; +} \ No newline at end of file diff --git a/examples_book/ipynb2html.js b/examples_book/ipynb2html.js new file mode 100644 index 0000000..0c57af4 --- /dev/null +++ b/examples_book/ipynb2html.js @@ -0,0 +1,105 @@ + function toStrong(line){ + let items = line.split("**"); + let newLine = ""; + items.forEach( (targetStr, index)=> { + if(index == 0 || index == items.length-1){ + newLine += targetStr; + return; + } + + let beforeIndex = line.indexOf(targetStr); + let lastIndex = beforeIndex + targetStr.length; + if( line.slice(beforeIndex-2, beforeIndex) == "**" + && line.slice(lastIndex, lastIndex+2) == "**") { + newLine +=`${targetStr}` + return; + } + + }); + return newLine; + } + + function toALink(line){ + let items = line.split(" "); + let newLine = ""; + if(!line.includes("http") || ( ( line.includes("src") || line.includes("href")) && line.includes("<") && line.includes(">") )){ + return line; // skip + } + + items.forEach( (targetStr)=> { + if(targetStr.startsWith("http")){ + newLine += `${targetStr} `; + } else { + newLine += `${targetStr} `; + } + + }); + return newLine.slice(0,-1); + } + + function evalLine(line){ + line = toALink(line); + if(line.startsWith("###")){ + line = line.replaceAll(/[#\n]/g, ""); + line = `

    ${line}

    `; + + } else if (line.startsWith("##")){ + line = line.replaceAll(/[#\n]/g, ""); + line = `

    ${line}

    `; + + } else if (line.startsWith("#")){ + line = line.replaceAll(/[#\n]/g, ""); + line = `

    ${line}

    `; + + } else if (line.startsWith("---")){ + line = "
    "; + + } else if (line.trimStart().startsWith("* ")){ + line = line.replace(/\*\s{1,}/, "   • "); + + } else if (line.includes("<") && line.includes(">")){ + line = line.replaceAll(/\n/g, ""); + + } + // + line = toStrong(line); + return line; + } + + function genHTMLfromIpynb(context){ + let ipynbJsonData = JSON.parse(context) + let allLines =""; + ipynbJsonData.cells.forEach( (cell)=> { + + if(cell.cell_type == "markdown") { + if(cell.source[0].includes("How to use Colab?") ){return;} // skip + + let content =" "; + cell.source.forEach( (line)=>{ + content += evalLine(line); + }); + + content = content.replaceAll(/\n{1,}/g, "
    "); + allLines += `
    ${content}
    `; + + } else if (cell.cell_type =="code") { + let content = cell.source.join(""); + allLines += ``; + + if( cell.outputs.length > 0){ + let output = cell.outputs[0]; + let content = ""; + if( output.output_type == "execute_result"){ + content = output.data["text/plain"].join(""); + } else if ( output.output_type == "stream"){ + content = output["text"].join(""); + } + content = decodeHtml(content); + allLines += `Output (Colab/Jupyter Notebook/JupyterLab):
    ${content}
    `; + + } + } + }); + + return allLines; + } \ No newline at end of file From bd8f3e0766267c84c9df8c92506d11a2d73bf69c Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 26 Sep 2023 19:13:18 +0700 Subject: [PATCH 535/757] no message --- examples_book/.gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/.gitignore b/examples_book/.gitignore index fc8fadc..e71f774 100644 --- a/examples_book/.gitignore +++ b/examples_book/.gitignore @@ -4,4 +4,4 @@ test_js/ *.json deploy* *.bat -*deploy* \ No newline at end of file +mybooks/ \ No newline at end of file From 9d957fa1af760d6545d178eb99176dcf8f278aa0 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 26 Sep 2023 23:17:37 +0700 Subject: [PATCH 536/757] no message --- examples_book/initpage.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/initpage.js b/examples_book/initpage.js index 0e70f01..2b773b3 100644 --- a/examples_book/initpage.js +++ b/examples_book/initpage.js @@ -114,7 +114,7 @@ await bildHTML(bottomAds, "ads_bottom.html"); await bildHTML(rightAds, "ads_right.html"); initMenuEvent(genHTMLfromMDFile); - selectMenu(2); + selectMenu(1); } async function showPythonIpynb(){ @@ -122,7 +122,7 @@ await bildHTML(bottomAds, "ads_bottom_ipynb.html"); await bildHTML(rightAds, "ads_right.html"); initMenuEvent(genHTMLfromIpynb); - selectMenu(1); + selectMenu(0); } window.onload = async function() { From 477eaab08686840571bedd72686c6159f5e4bb60 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 27 Sep 2023 15:05:28 +0700 Subject: [PATCH 537/757] no message --- examples_book/displayhtml.php | 13 - examples_book/initpage.js | 134 ----------- examples_book/ipynb2html.js | 105 -------- examples_book/list.png | Bin 10142 -> 0 bytes examples_book/main.css | 214 ----------------- examples_book/md.css | 56 ----- examples_book/md2html.js | 92 ------- examples_book/process.png | Bin 23186 -> 0 bytes examples_book/promotion_cover_book_156854.png | Bin 1371251 -> 0 bytes examples_book/runjscode.js | 225 ------------------ examples_book/util.js | 20 -- 11 files changed, 859 deletions(-) delete mode 100644 examples_book/displayhtml.php delete mode 100644 examples_book/initpage.js delete mode 100644 examples_book/ipynb2html.js delete mode 100644 examples_book/list.png delete mode 100644 examples_book/main.css delete mode 100644 examples_book/md.css delete mode 100644 examples_book/md2html.js delete mode 100644 examples_book/process.png delete mode 100644 examples_book/promotion_cover_book_156854.png delete mode 100644 examples_book/runjscode.js delete mode 100644 examples_book/util.js diff --git a/examples_book/displayhtml.php b/examples_book/displayhtml.php deleted file mode 100644 index 5173a03..0000000 --- a/examples_book/displayhtml.php +++ /dev/null @@ -1,13 +0,0 @@ - \ No newline at end of file diff --git a/examples_book/initpage.js b/examples_book/initpage.js deleted file mode 100644 index 2b773b3..0000000 --- a/examples_book/initpage.js +++ /dev/null @@ -1,134 +0,0 @@ - let targetDiv = document.getElementById("main"); - let statusLoading = document.getElementById("statusLoading"); - let bottomAds = document.getElementById("bottom-ads"); - let rightAds = document.getElementById("right-ads"); - let headlineDiv = document.getElementById("headline"); - let mainMenu = document.getElementById("main-menu"); - - document.getElementById("btn-menu").onclick= function() { - mainMenu.style.display = "block"; - } - - function isDesktop(){ - //if( window.innerWidth >=768 || WURFL.form_factor === "Desktop") { - if( window.innerWidth >=768 ) { - return true; - } - return false; - } - - function clickMenu(event) { - if( !isDesktop()) { - mainMenu.style.display = "none"; - } - event.preventDefault(); - let link = event.target - let file = link.href; - includeHTML(link); - } - function initMenuEvent(func){ - let allLink = document.getElementsByClassName("link-chap"); - for(const link of allLink) { - link.addEventListener('click', clickMenu); - link.addEventListener('contextmenu', function(event) { - event.preventDefault(); - }); - link.convertToHTML = func; - } - } - - async function bildHTML(div, html) { - let options = { - cache: "no-cache", - }; - let res = await fetch(html, options) - let content = await res.text(); - div.innerHTML = content; - } - - function clearAllLinkHilight() { - let allLink = document.getElementsByClassName("link-chap"); - for(const link of allLink) { - link.classList.remove("hilight-link"); - } - } - - function showMsgWaiting(enable=true){ - if (enable) { - statusLoading.style.display = "block"; - targetDiv.classList.add("blur"); - bottomAds.style.display="none"; - } else { - statusLoading.style.display = "none"; - targetDiv.classList.remove("blur"); - bottomAds.style.display="block"; - } - - } - function includeHTML(link) { - if(!link){ - throw new Error(`Not have a link`); - } - - document.title = link.innerHTML; - headlineDiv.innerHTML = `โค้ด${link.innerHTML}`; - showMsgWaiting(enable=true); - clearAllLinkHilight(); - link.classList.add("hilight-link"); - - let options = { - cache: "no-cache", - }; - - //let currentLocation = window.location.protocol + "//" + window.location.host + "/" + window.location.pathname; - //let tmp = link.href.split('/'); - //let fileLink = tmp[tmp.length-1]; - //let url = `https://raw.githubusercontent.com/adminho/javascript/master/examples_book/${fileLink}`; - //alert(url); - let url = link.href; - fetch(url, options) - .then( res => res.text()) - .then( text => { - showMsgWaiting(enable=false); - if(text.includes("404 Not Found")){ - targetDiv.innerHTML = '

    Not found page

    '; - } else if (text.includes("Failed to open stream") || text.includes("Warning") ){ - targetDiv.innerHTML = '

    Failed to Connect

    '; - } else { - targetDiv.innerHTML = link.convertToHTML(text); - } - } - ) - .catch( err => { - targetDiv.innerHTML = 'Not found page'; - showMsgWaiting(enable=false); - }); - } - - function selectMenu(index){ - includeHTML(document.getElementsByClassName("link-chap")[index]); // select default link - } - - async function showJavaScriptBookCode(){ - await bildHTML(mainMenu, "left_menu.html"); - await bildHTML(bottomAds, "ads_bottom.html"); - await bildHTML(rightAds, "ads_right.html"); - initMenuEvent(genHTMLfromMDFile); - selectMenu(1); - } - - async function showPythonIpynb(){ - await bildHTML(mainMenu, "left_menu_ipynb.html"); - await bildHTML(bottomAds, "ads_bottom_ipynb.html"); - await bildHTML(rightAds, "ads_right.html"); - initMenuEvent(genHTMLfromIpynb); - selectMenu(0); - } - - window.onload = async function() { - showJavaScriptBookCode(); - } - - window.resize = function(){ - !isDesktop?mainMenu.style.display = "block":mainMenu.style.display = "none"; - } \ No newline at end of file diff --git a/examples_book/ipynb2html.js b/examples_book/ipynb2html.js deleted file mode 100644 index 0c57af4..0000000 --- a/examples_book/ipynb2html.js +++ /dev/null @@ -1,105 +0,0 @@ - function toStrong(line){ - let items = line.split("**"); - let newLine = ""; - items.forEach( (targetStr, index)=> { - if(index == 0 || index == items.length-1){ - newLine += targetStr; - return; - } - - let beforeIndex = line.indexOf(targetStr); - let lastIndex = beforeIndex + targetStr.length; - if( line.slice(beforeIndex-2, beforeIndex) == "**" - && line.slice(lastIndex, lastIndex+2) == "**") { - newLine +=`${targetStr}` - return; - } - - }); - return newLine; - } - - function toALink(line){ - let items = line.split(" "); - let newLine = ""; - if(!line.includes("http") || ( ( line.includes("src") || line.includes("href")) && line.includes("<") && line.includes(">") )){ - return line; // skip - } - - items.forEach( (targetStr)=> { - if(targetStr.startsWith("http")){ - newLine += `${targetStr} `; - } else { - newLine += `${targetStr} `; - } - - }); - return newLine.slice(0,-1); - } - - function evalLine(line){ - line = toALink(line); - if(line.startsWith("###")){ - line = line.replaceAll(/[#\n]/g, ""); - line = `

    ${line}

    `; - - } else if (line.startsWith("##")){ - line = line.replaceAll(/[#\n]/g, ""); - line = `

    ${line}

    `; - - } else if (line.startsWith("#")){ - line = line.replaceAll(/[#\n]/g, ""); - line = `

    ${line}

    `; - - } else if (line.startsWith("---")){ - line = "
    "; - - } else if (line.trimStart().startsWith("* ")){ - line = line.replace(/\*\s{1,}/, "   • "); - - } else if (line.includes("<") && line.includes(">")){ - line = line.replaceAll(/\n/g, ""); - - } - // - line = toStrong(line); - return line; - } - - function genHTMLfromIpynb(context){ - let ipynbJsonData = JSON.parse(context) - let allLines =""; - ipynbJsonData.cells.forEach( (cell)=> { - - if(cell.cell_type == "markdown") { - if(cell.source[0].includes("How to use Colab?") ){return;} // skip - - let content =" "; - cell.source.forEach( (line)=>{ - content += evalLine(line); - }); - - content = content.replaceAll(/\n{1,}/g, "
    "); - allLines += `
    ${content}
    `; - - } else if (cell.cell_type =="code") { - let content = cell.source.join(""); - allLines += ``; - - if( cell.outputs.length > 0){ - let output = cell.outputs[0]; - let content = ""; - if( output.output_type == "execute_result"){ - content = output.data["text/plain"].join(""); - } else if ( output.output_type == "stream"){ - content = output["text"].join(""); - } - content = decodeHtml(content); - allLines += `Output (Colab/Jupyter Notebook/JupyterLab):
    ${content}
    `; - - } - } - }); - - return allLines; - } \ No newline at end of file diff --git a/examples_book/list.png b/examples_book/list.png deleted file mode 100644 index f6040eafff3925ab7f7b367041bea2963338f53e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10142 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 m%m3^6 { - - if(isBeginCode(line)){ // start codes - isAreaCode = true; - count++; - if(line.startsWith("```js")){ - btnValue = "Run"; - } else if(line.startsWith("```html")) { - btnValue = "Open HTML"; - } else if(line.startsWith("```module")){ - btnValue = "Import"; - } else if(line.startsWith("```run.module")) { - btnValue = "Run New Tab (Support Module)"; - } else if(line.startsWith("```notrun")) { - btnValue = "Not run"; - } - - } else if( isAreaCode==true && line.startsWith("```")){ // reach to end of codes - isAreaCode = false - lineCodes = lineCodes.slice(0,-1); - const rows = lineCodes.split('\n').length; - - let runBtnHTML = `` - let clearBtnHTML = ``; - if ( btnValue == "Import" || btnValue == "Run New Tab (Support Module)" ){ - clearBtnHTML =""; - } else if (btnValue == "Not run"){ - runBtnHTML = ""; - clearBtnHTML = ""; - } - allLines += `
    -
    - - -
    -
    - ${runBtnHTML} - ${clearBtnHTML} -
    `; - lineCodes = ""; - - } else if( isAreaCode==true && !isBeginCode(line) && !line.startsWith("```") ){ // ยังอยู่ในโค้ด - line = line.replaceAll(/\$\$/g, "@-@"); // fix bugs กรณีที่ line มี $$ วางติดกันอยู่ในสตริง เพื่อไม่ให้มันทำงาน (ในบทที่ 11 เรื่องเทมเพลตสตริง) - lineCodes += `${line}\n`; - - } else if(isAreaCode==false) { // not codes - - if(line.startsWith("#")) { - line = line.replace(/#/g, ""); - allLines += `

    ${line}

    `; - - } else if(line.startsWith("*") && !line.startsWith("*/")){ - line = line.replace(/\*/g, "\u2022 "); // show a bullet - allLines += `

    ${line}

    `; - - } else if(line.startsWith("หมายเหตุ")){ - line = line.replace(/หมายเหตุ/g, "หมายเหตุ"); - allLines += `

    ${line}

    `; - - } else if(line.startsWith("----")){ - allLines += `
    `; - - } else { - allLines += `

    ${line}

    `; - } - } - -}); // end for each loop - - let html = allLines; - html = html.replaceAll(/@-@/g, "$$$"); // fix bugs - return html; -} \ No newline at end of file diff --git a/examples_book/process.png b/examples_book/process.png deleted file mode 100644 index 8e1645d6454730508e42cab540b0651107441ef7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23186 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 Y6v6!Q_AeH1@KXxX*3efkSG5WG59&UG6#xJL diff --git a/examples_book/promotion_cover_book_156854.png b/examples_book/promotion_cover_book_156854.png deleted file mode 100644 index a76ec655b60b0939ba0ae9b3b6c40d93f7922154..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1371251 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 z%0A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ᕳW*kqC-8}`FF^0Y*C=EGO?BniMo6t#HXG3 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%0D>5K;*_i9$EYvS7X^w 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%0DU+xvM(5%OT^1(6P9$)a>#(3p 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

    (?leHQucaEdjF2U5;caG4}0vI6^ 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

    TUGF3pD2Bx z0}!yr2df}4qf{baMpZ;M>_u{^E0ewfGE12l4?`~fp0lBv{_EFbI3O#}+RBwn>~aMb z69yLt%ELFq#Kiqfy8;*1daABvXm`8tL*<+H6aVU8<5z$6S7i{h+A8VFd0`#@r zEM8~bE@^)Z$zT{OuRE^CP)3#^Cjxyxz{!&*lmf!5$Sgm@2l*YhJv%!qYA|i$UhDuq z^2j6j-uJ#YnAOz~OF{?|h7m;KRii=*qIDHmdYi+Y|BJcKPLBQiFM+4t{PT3I0dr@1 zv5m(ZDXVoy}Rq-z;4&m1JK`hlxSeb#kuPqqX zKbEIXZ^I8+(_-F!M{olBA3ZGhS3e9e?>2BUSv4^pwUsgjR%9w)A}$ivRWNSn=Vd1I zQ*iJ=*2d3nxmL{VKe>1>Jkv(9*gg$W-WF5@WUxym;m^TxWXNYE=YIwHc;mT4)CW_W4V=)97HUQx!E2_ir+= zieQN9Zp)NRf{myHB+~-0n1zrg?mz856EC(M2_ZC+kc1BXz(>V##pGO+oUVm#9O94S zd&R_kbFGP{?TP6;P243!+NRBhkK>_<@9j@e-E%sY0SuR6T*JQJP9jG1;&+ysP3@ps2a9-V37<&LX}kZ z9WzeF(4WAC19eVQ1V~lZK!Pk0cC7YMX^t<-l-y66aHE+ztKo4}025;v=Ai%DVwhIO z5J?*z90?(&rdqq$-Q4ml?1VmDNZ0o8B>Si7g%AFZ4k1~3exTgwj=kkQZ5;Q+VcXDof* z(kzx_0}P{Ny`Gt}Fg+Cl<|1NS`C;-JuR~#mB7UUu%s(c z$ULZ2SoFRkz#_C__CZ$wmIhiHZfO-0U$46AD!kwYFA#7=fJHz>fFv`Dxw$*T1*xKH zx7(sd=l43Kkl*ohh8A-F9JqD+J>h-?SS(MSxsU@v0xoWsYB3J(*sgJ#+#gj}mtA(5 z4C=KKONAb1;!DObLLMjI7Xen1C~zg=1~CCvEQ$xVi3~+z-<_%mcAzEz>w>%G&g%hP z^MQX4WU&A&dd?iS1JqIzuWnq1r?$4@?v zYJ=w0^*GNyH|A_!-r9xTl^J|(=>Wc&o`lnjFy}QSe2tmcXlg!gDFawkB56OO?+0MD zA_E7iF)p{88jqc-;{LgV z1KHG^e$ZGxVYSChzHhjJHjbDLpzLcu;0NEBgC{}iicQe7?Kg5 zpv$C+hAI}*fNS(%L{kXS!`B~eqp{t`Pdm@R3mr$Y5Lz^OrYB$E!?PXnz+yW=FD?SC zKMC$Z(&=MMy@e^e0{TV~uxO7z%gykp5B&4P0nDjG*xoR3P339WVFj2@8?ZfFjw8$x z1cdmuC2b{_$PaK2mT=3hDPH?51AC{p;n|sm6Y#JlwNW!%d@5EZ?iye{_mUlwg-|Q7 z2uca62&^=~>KSb~4DF)_mYGVZg(USOs~Ht(gja+s0tQW$ zwOqg%v*Wo+y`lj}aU(LhnptqDIOCu{p<>Sz0Lu3iKkSOD0@kSV6C;0Ss5Na#e!zWr zeL^I_OD(vj3nvFA0mDSo1XhjkF@oVa=!ZbS#8b9~PQNE@|F`2FmW>{2%UwL+WjJaY zsCIchBJ5g>u|FgB1hzR%gf$Px9Urf1&Ekgb^YHCcu<|5r>)nF{fHEBu#>l)H_IDzD z`H^F|yO*I`X~ND!+_cVy!)a=*^ioR{!XSVp9OOT4lgc^5s_7*6q|^{;$mG6)wE#(& zK(6-U-x8{rzt_)4{mRdSa22-b^@>L8OhTZ?{KJrp?W~VBsx)E&0M`qRXNjUajJUBL!$Iu{M0jdg>f#VjPtvy$5DR{b? zNH3Nwm<33b3ylU$Mk3Hu9hY)Rm0)1dXUM~YRoO7RsNz8caeNK@)#Oy8e8kJL46gAc zA90?=x-_a7j4l7|k4iLJD#o+86fcx%JD)n>~?92;s&{Q!B67jPfD8u(T*MM4V0kn@|3= z3_{k>;z6v|#`ith!r3i>(*V}1ua|*gqgq3)QWX=}3BWqLWj@*3ldl9WR)EEDT2SVo zuPYF%-R=lXBb3rGim&`F+pU%56*LV0bP#W2FdhYt_dA9#)C z9#~P#aUWLj^+)c)VJpCKGZYodCZ{F??^hFIO2Yykz@ceE!Hj+*9$f zxd%9Yj1yB9D6VMr#}7Zw1YpSkG&j}O2HX7XOcYqvUX1QcMU-IgtY0IcTYtQCC#tq9 z9!3?v3RHWDtQ2YBq2XER`Nv?@He+$6i94DPmzucutxN!hLotJEqZh{luwF8~3%eW} zSD`7{`VN=@9`#Zz#W9xr0L%0#Gh+c*5n+exqLJCCBs4Zx$`!X3BMF-5WgXmlcnP(w zJ-o?&I-YOaIO~talShKWw?_nkM(X)M=Txz3lSUBZJSc+*{U%?6uy`xlAY`sc|OWO&$ zrb8l(YT)AGnH2RTL$zk&RMf$AYQc|taLfq5u;Ws^YFiWg%m>j*c8o2b6?8FeRFU;! zWQ}Qjcd3iNzv}^i5!ylw_x0 zPd}uOWwx~m(=$~h=psuKY@XSKsd^n2B6u!C7jt!)04Sch^14#TXG&&awG=}23Q=vT zqdYG)gp%_pG|2?BtCc374L|l{qLygZYN#=tcRu@|ns=qv zJU>|o%TMe~tJkD4E-%Z;8fUizE*gMU$Uw+rX2(k_tTe!)ubj>B!9ob3_Pt`e&-GvZ z>Q~D%fMJu&Ksc}~U27$~2wfdWq`9@jE~8;Rh;AoluQRFm|xJ z-5$1V*(|ECPN$7#y&?PLZ*@nH0Be4Jeh~7=ZD_R^XV@7=_`m}X42<0QTa|fGfh&SD zZRWlTu$2GR1Yn)r`{V~@YkNNQ4mfFuN*2O0t5}Ts0%xDPc_-?RwXv%)i{|VMPR2ca z{^&k1ih=`cdH@kt(4|oZtXYNzWfXk=>PU(FRZmPGtt9w=?CWsI^6~fWhtRXs3_g9P zvQ~9)FO-$7c;`?NLH{8dsT)dVuRU%#PAX=I8-Of=4t|#dF1;T$(1w_1?{J%V(C*=> zy$XKnis#}J$Nmo<3p)zr40+t>fvFzk?GIMO=sm1>u&Q-)4)# zaI7gRRZSQG03ZNKL_t(^q9*#y1z4twB#mKvF>2E(3_CzX#ZFhnI<7l%NyDX!}0;QG|QF6k!yj z7li2e0sJUNkffjmmt-`|3L#)aUPJ1>Tg{$VyoWTP@iPOPk}i(e2{y-baGfRm{x#bX zn=8n&8CXo^IA%$m8j`4u+04O%P7Uwh_aLxR#cW)`{mv4q$*MxB7<#6kZ>gPcUz9&u zZK*(t9HXVeE+s==Ov7^~fK%`J>|ONR0|k^06;=(7>M6&@s*mib(=ZET1b#mp>c)DZ zKPzs(XjWeQor*Bc0UUr$v&vVK{R2*_Qy{^A9+lv?Z#($93< zvEDJPDf1C4m3dU z0RESM`IoqI&z?aj>|jq5fOQrM{fXJcFu;1#&-^qF9yoxR))cC)n&s0EpNj!tl|4*k zBI=1L%E?wIC9rM@P{nxaBJjXc2JY5>?<^fY$n7%JuhDE`W_Cs( z7nKM6jA4c?wpEpiC`G55Ey-X=h^76rXe6%<-}%bz>SN~xqeASSd+r$|)foV+LI|NY zaHk4OW~K+Gv?`nAARM5iGdQ_Lo*X4`&qe?&LLwPpl1EU@kgEk`pvix^N0tU!dO)TD78OTiDOZ$XRME8QwO z7SKx~Fk9M67748DS*a+Q7%sLouHd1s#rU_cxCGm?9(KEXU<7T{oEgN~GCtEih;JSY zaQ|WjPG;emb9HPr0#qu~@KHx=@gxk>K`)DtRzldbDdK8~AY*7G&nJXys?bO~$&f_3 zA-7ah8*NV+=({wmraCG$QOlGO46{=bSjB)JC-CEV0HNrWb!+e_qBxcB82%Tg1}MafX&8?TZlXXiL)B<>PB=@t zmJx~(PUVvw`W_h$Q!BpbI>YZ{+e1C=plchb#!c*~LPiq#T>K{0GD?9(rQUkcUHlEROiKGP@Y>Ha)92fqo~aK26_ZXB z0hMI&%an(f_($bgkp*z&$?4)`yvJA>fGYFwEBpPKwXW;8z#9cvW#bvD?#3 z=7kpvz|x)Uaiw0?*k62CY;wdGTnP~Hv$L0`lD&^v>rBfO;KKHD_wL=21v5<&IGnwv zQ7p54GA!+!pNz_)rx*6^c@)~`L9z?dk0GA{6%PqfODR9BqKP|yL$E}6wRi7cF|6nJ z^uXfaRWAfYoK59t1WMxfV5zV`Z3fTh%gV}%{GQunmcmx6C0PxZ(7LN27`YD$4;D2jEqmUVW%>&=89uEX=_9f9-e%_NN_u`RM(qL_oTA3fajO zG2kAz=rBOZ0LS_-S>R0N0VS=&YP`(A%)PKdDr-c6MRW38g;i9G&7_W))oV7;FEh}^H!ZJJ0nQ%l0ZI50LH8=E2vG0oO38`UI3 zzhdJ+*g>??$F+?en4_Z2HpN7rgLAei1d7L^E>?^fEyEIp*w(bF46|(u-6TObjbJzy zT1kLoMjgkqC46oF0_<&Fys`02yu^0U6Mz+oDvAm$mmXL~p3&4XK?T;wq6fz+uxfFF z195;a-D_ZF?%SxfHe=dt!HHt=a$>tGP(4jV=_J*Fj_Wy?T17j1A0s*V3EwGI0m%gX6MytN0CD2QS zcV}ucpk4zRQjlcgrQ1(a^wI>KI7XNz_}vi#?E3tjhpY*@I*Fe1_NG zD8MQ^zA}%hvOZ%Oz$!hzNeE$C6*+g`PXN}&%UT00J;>n0gJa|rCyzFH!!xdLt zA*w6FCn}t%yyCfv=Sv(94Ba^h;%D0LitDg*%l8CI+H9Ts;UI<}iq9AVD?Wb+tGKW; z%-^znSym)u{ zln?v@=v{0Of>4pea6At1dI2t-+Kj8`_u#IB`*6zdAg`?Lit8` zq!d*PPDCC|cb`P8A&DE$$8NBt9XX9XJ0spJNA0DM=`BLmNu2G!W zF1%_JQrY6$9@yK|2k_+iKc~al&liWV(c}J$wrG)(&1@dpcfd+2~~z zn6#fa4Rk{v6-xmuf!wZjMgXhh#yAp(`0_mldYf)Xy*7&(rvrP-)8P({&aO8ukyN(~@2 zz~ZZJ_h0$SR|*u;p?KOLor)>R6quKdHf?8zm){X`5l(3@EPlpChZypE{+=CUDz_xO zAn(+2--J>OSEMS7?=^hWepq~e`Q?{mc6L^-1CNW}asS7UAD7=!d8HLt;xUseur$C@ z-dI#%(P&i-D(Ho!m*GLsxxJQ?yFX2h7Bdot{6J(I@hnT4~v2A`H_dIYv ztg0vG z^lKUxoFKw6JHZ{{0*lM;77EcksH}b@*Z1K^GO6X{1630|l@Mnb@wRwo+hyJbq}b z0?W=49EtasqX48g3=RU$pPT{Rg@@amq#|^ze)wTd~c}(5$FTh?j4hgKfG<;|wlB zR4XaW%tsm|%pHg%smi6cEEPV^kaE@m0xGtJ^S*9xKF-yW_=~G6i$jpq=j^-X;DhuwaDzDYg;YscZM~iZKX67UFu7upGFh*5( z)TB^K#TwPV1p=k~TZwB{7ecY&MZ+7}Pdr{h7>D z?1&arV;35-AMIFp&o^$z0ketCQ3DH62fccXnGWkHLj+d=n+6X0Guu`fDdp5g7^Qo; zs6c-=48m#^_4@&s(f}z3dX2iW23QYJdDg0eZFt+4kT=NZKKD791(ycD;Bm6?y-l`oE=%A){nl^cD_{9CrW#E# zOyq2dZU83$>s(%m$-XYu5}T=+Ge4k=KqPgbdAMxZ*ekmJX-agMf2;{U&?65KG``?|&OOZe`u1tu<4@ zo8lU+fUH-m;^^^Xn4X9MtKHt051wGBNK>aFjOuN(Q^u71A!T|s9^{cLzMjv zZfIPI`MIt5_A7VpF9< zFQeRqS?`ldvYFVz@k)wTM1y*u?s$0PrmJvQ?>N5KJ~~LCpa-xTa&wT%&_9CyR&@&7 zYnw3VwIqx%j05;-48w8+U^SRyE(~$f$?)BH5y#pqxT3Wch7llh6u@HW5zWJSZ+B=y z?ii>=DK`y2)p`J2t`2-<$74LrqDNfxMTkc>RWqwef{YJfW>T+RQz=OKB|s8 zP+%plg?8lQFQV}Ps~IIY6b1O-`!ck*+zy8Z|FtP(NetI<5QR!v#Oo}8&@cvSEVhBm zE2j`Yaw&dzkA>?tP2n>4a>VTgRGd28T8JeiSP2M(TCf5Ga}~f2GSt01Il!p}m`)9G zW+HVmm<iApoV3>}WT?5Oh}1~(eWu*?OVh@wiZ%S?Rwdy}4NIiTTv zG*A}hz=UeAqC!d6+f_hvdI(|heu@!bF|x5O4e^p44u0bDOR*FMa8e7I6M$I)$1RcB zz!#64!253fXLwWF(F%ZW)Bc1%u%b(?Z zKJwX0`w;P=%9E_v=30PP1S0&~@2k-J;qXGepCkzeKdTEQBX^W9M8OO*29@nMKfR!!SK0SVXJmfT;xBT1$-1xy^3ZhwW74eA5a; z^9-!?frX%pZq~tcbBXxu&Ij!k7_|*OzK50VH`CDPb)E6zc?S z+S^Ga;jwz4FZHot98I%&l~s|ITh%#&MuXmw;%T-T?k1sbrV5?p!umq%5zk2O4sDI=BBKndIeP6tWndF;X1&d-!hpN?C~+P^0nV3lP-)LwS$okN)iR@qal z^!&?09488_vLZfr-%kM6Stx6oVrH2POms@}fB1)g82FNC@_rWfG}**CE`k62d;bNW zz2z1#8%V3(7(6)m$3%g3jxWY!cNb*|us=Z4c6NXXN%W$XMA8`pFh4hkX0rvVvFNv? z!|=}6Nz0f*1{XSnPyr$xDrhr%lqQb0TtD}dV5r1ab2!6KR+)(i|dJ+C7&?S-dQ^IlKbNGh`v^wSm8o|#ZJ2p3uMQg z$EU*&AA0DaK}aXTmxgNGmxKzg6GAB4D})fLPQ7&5SUL=fLo$Z+QGrE(Mdgh%0$@>G zMT2d^nN8IOmcl-+pSm1dn=|;+N56y3v5g)#K4vKcSaA-p^gyo&v19;hrm%A56~hH3 zoUj0}cphdi#5SXfqgE)sMUi8o;(7Sb_I3EL(Oq)C5gPM;E`|`wy~PZML5xb~VS8m3 zJDZ!)a4V95kD2n?dDvr(ikdLQ2`j5uT&2udQE@qgZVLAxYHhg;)h8^MV{T(#sy7m`00ODFw5t)aLi>So$aW!B6RvE zk)>N;xH0Ss>)tYKvx((?7hQxn)$bwlTs+q9qL&zG_aYqVpM+)B5QIv#YB?(8HBKDZ zRuwiCY1_@`(WHnrk&lv52 zs1tm2LIsDkqPO_U&n>G57@JV5MEKwfu12HY!&ESfN1Pa&O&>`zK8eCN_jU2>`@RWp z`(Df}#9|0v^?zT6SY?eu^d)k@p#OV^CR@seI9w`!gJNN`x>;OOf@WX=;IDL}RK4uv< z&2AcG#f#%e!eojwt>?N>G{B;DvOFmfsisuR|+b=x&;&S0r)8lDyUZCdaUP!7nN9Tiy>H%2~-&p z7l!E2xZMPXkZLtr^6bjecUnupJx7tYhA;VY5*|%W&bOhV-whYR&*GM^k*zELf=t zBQMvgK?MwT7*vQ6E*VHA10VmUmsB9$QdB}Mg&`J#5DQU=4xwO{;gMi91MIL$Mz^c_ zx{iAO5IAxvs+Wp?+tykSrr~Yr-;de`KV!0k;iY&S!&%yfkC6aac`qqrcQu*9Hdu{Q zteR5(i7#26HC96^eu&`PhjMybWH(lJXGdI%az_%|~({L0l&#gX(Byy;mOy{=54 zELc5k={1nW9u_MRY&XQF)Icw`aWFISuFu~!DBn@LnQE%cnc6c_Co$oBK4V=a5L?UTnc~)Eyo>y9(p}oSM~eS5WW&XQ#RLR4`oR`y{?W|fMq2G zP?lt)v`<(9=*r4}eC@#`gs`lD&gJ(LfVJ_`)>#NSgH9Pd9~l4mkN-IEOVJOi3CP-b zS)c1Iy!Q{@hrj;ozlLYKn33=@}tEj-@c~LF(`q#f+28`^y6HrkZ#rFh1I>e7V%I~{Opql|_pZzh7(m+>->seXO_;CNj^39D z001BWNkl^3z#|pPmXK*fRIvix(+sDq0F~H5;JUcu*kNpM zZo&pB;n0Vlrs%|hWT#t*A}mIIbP|=R&kudMR@5QI^sACr3Y_RSW}+6Kt^g`N zlZN~0rwy2MGydWoSNsh-^72?Tbc}{f)=%4h!BBn_08By)MtvE-_Uvo$qs+yg`fspLIq|@{fchE}fVJ_9p#c^<{@Rn|v!DH}%x>$3rud-P_#P))I9DZb0Ttws4SbbGb-D;Ys+B5s?%b(7YB<|}o=f0N0G6v2 zSdKDy9|l8$VA}7@IVeO>1lQ3$PxLB3JdyMap5)yxd{A34U#bXUnGD_ zckDHA;`&lH1Kc4K_X)r{&z1Bd+5PMO_|52K7EXmJ62cGx97<`!MMErM9EB{FqX1S& zP(#?211y&|QZiOo3M__SIeskRiCrUs6(+dCY~uO5uEoC`*oS|?veavRud)t{>AGnl zV}>Sme<(?s?`I3>y?`b%X7JlnzZ=dVDs zTF2+^`8NDbHF)G9-2gt7HB@aG1}cPFVJzNMgad8M#DZxca4eWvAn=F*nDk~6m1aM| zZ0g|B)+PaFT7|&DE&*1Q(LXCelBL*MpOshsqYsmWvk^}7eU_r?0B#6WohBYVaSA(Y zvv|5Yi_7df1MRRQbwQ(gUMG5pg{CRl4MTp*->0T1s#qRwN{ez+6mTrI)CBGc0;M1e zBP<6!toS~beIMOCk;F+)n|Ld)D2ZMs0LuYc$50+a;y-5CQWo;RR-F-84lUy*mrqkT z4TY`^!-QcI?cv`OJgy6$sMIxAB}B#F>c6!I`atDY2*K$?;T5>Dy@I%AqHkr$IsqEB zI(jts_iBi(RKkf{nF+^e;LcuxudZ~k;N-A0H>w{7R75Cx8CJo`^Rq0LZV)Osy74Rv zK`Um29JPfq1y`8@=u80CsQP-Q0*SKXDeHHY0j%;z(s%{jMgdk?Ih0-Bvg4lstg;e1 zhu=>C*2W84XCc%8i#O1RKm1`lTe^>+6Z+!q#QPx&V-=EDnEB_i5W+C~p$cs@RR|rkmX(GWtttpC0&=X6ArdDrct+*w;1=u@H}1iVj2#h%`nc? zKqIxV$?&k*@Gygl7^YJ(b%|R=947GUEgW0v!l_l2x++b?dn_e?5x*ue5tMzHnFS+N zirUAFK74xg1pyZPK2AjRyb7_D#^_}+(k{`LNur39*;D1!QhrcWnDi8YvocGRTvlev zs{lI~0?Pyv(2t3yl=2$L7Uf)*Y?XzM%W3MO{Ig-`RDAD_2oWrPALR-m4SMO@!dNf}*;8`wQ(?r$>d@n*^2C%6(&T8lzO?*2s@y#%V zld0=7>Kyoa!n(9B+~Nu)A%Z0#gk`NO>)H6F1kjWyn93AX!vL%d*bEe3-#?he=eD?>sIOubLda*GWJ;sCdmJm}*H8%IApVmB^z#`Ddd63Lvf>j} z0)B?pJ`lGW__Kr(huq@VR66q0X#tX@*|Kgw12k zAd2uf3DM6ogf$lnE^xv~(X(l4Zpyja3AdSpohZQ+Dgv-BB`70MFl=}k*L4Iy3Dz^05&5 zSPTQSqY(Wh!io`#>Pl2tnI!;99J%DO8?YVKUTEbHL74Vx;%D=AMWzs`3={Pjm3LH! zQ7Hyy;ZuNtS@vWZHs_|KZXI}4{9Lv%)NZL~*LZ-D=DuH}_8}o&(p0XV->|}|6RHro zVR)s>fIxEGLW`s#;L*pSKP#S7(F03w)3aAi+;tfgVU^=5l`tngsPxtU_+GrJdTl&! zs*Y<~CaPHv2$*-zgj=a2VwPLGiIeFP`eqk1rUxso;laL%+hgDX+d!@F%b~2N@X{fc z`gn%{4$F7kve7JdPc*=KylwEg2Uukqt?^@Cs#3>ZpArwN$6G$b>z668CID-rC43Hl zKLJ>0qp&%B2vI8k`fq_;Q-93Bv!jWe2T zLzMuPbbt0|eBNf|y#N`NYcG?5H< zI+X3SGtZR?1Uax_H|ct9TQ+Q(w~GqPh3%>=gnTbP9k~Y;UoW}j z61?OkFA<=m{iz6<_^cpABEaJB7{W)8B_SrJiEgJO`w091j_ZIPVVgE>R#~NzSe`BV zUgAFa+v0n!N97bj7(tp2LF9S_XM|WhCa%MUfQ-L??6JqhBa7#w2Uh~HqG*sEO@|I9 z0c{5S8lmAAmW6lI%8A*zO zVx&A)NQV%LlF5L;n83`y_2|DuA1tft!9CW-zk14Z@yNcnzZ5|bz4S$aCg$i24rG{KilrdM(V&gkwy}780c|_O z{G!JmnvUgKV|@wvNC`QE6+O1C>Su@ekJR8Pz{dBS_|NY zAyFsKHmlp#BB+7UL} z(^!nF_*Tcqol%IcWns!xCiv?q$ci3Hqn<5gqJgpyKhSq>%u)tGR$H~v8`-FWY239} zYW6a~H2!&1ethE%hmosEmZ&bparlUf$Wv3u`c zeE7qE1kZ6#AF%88<#7Tm4XSjQiH2emfOR&m;plDr>7V{7KJt-|$e@%4$`V4j!3V?> zceLk!%f%3=D5BI|%_M3sA9lR?HwUf zgb#A?&}vO#etu3SO6Z%z$A=zth#7R6%CklWi4~PToZBNf)S!x{?fjl0f->2XFr!x{ z5Ka$J?!NnOfnnNHOM7q?A(jSMaTpQ%s16iE^O)g}aD&^cMZls*Z=@8hRNb#DW+K@NuW8KV%H|f_ zaq=J@3>J}kHmdY+4-+JgiNG^K^_Ct$^DZL*i3x)ZmDSK5;ek{vk#PWvgDak&KCfb! zlm-BFg{m7iUbuA+;!Yo5UO9l{PK@cyL8Tj^TcJ{lA#|xIt*WUF$4@Zhw6JZ{JX-bb zsKJ64WpENxyuIj`<%B@PcClP%cp;z5K%7EC41-MlW7~6lWl12GWbsQF+Q-)j?KDI` zPEgBS983GC*DA12cBCy^uF%8Ez;tAy-nT`)CjM0HF4?9kLjpi5kLZDwn=$Yl2=z>6 z$78Xl8BR2F4>1Y(TMhlw-e|okS9x3|8LT7$0Ve-uJ)pt0Bm>C%Xf$r8(oJAd{+a2l zpG9s|U-~pik^`jTwJZL;-0jK!ba>xz#y^;=*>#J`CcPi30=bNWL;PI(91j0h|6V;4 z@{m}9J2`JPp}>F;*HK=Ld`7U%FaF~*tyXtW3t=ptUxi_}Itrl>N~rIdolXz0ccxH7 z2Yv&n`vz)u11nT^g^|G0uGvP_$WS#}cqpmjD^Y+Wv5yuEgvsjl(PglvEOLoe@w?*p zY3>8LUMsaxfTfcWthaq?E5|M6fT+BE9R)52pKWk_Qht0TA(|x$#WDrl<5iRmm)1rB zR@wEP0Ic%*dCu0D0Iai6)OnitFbJ`{vLdtRE8Px0``KGCzhzE#zyZc!`91*_e_vE# z=?BI}Z}_uN0za^u_~=JJiVuD0Lo!%ps(Fdep0Jm7uQyY2^Z98rJ5r>~N;x=`v{DnrpM!|vUC2B8Dz+XG7m5o#onA5;EH@0bC= zq5{hirIh|m11#2if*wMCihi*9u$>e%tA+A(HcX`GHeP>c(8CJYJ(ng#<6Am^p(%Uw~ju9yLuxwSehviepWsAQH%wrLd_+mG=rH874yjRVGOZq%>n>rb^mD!M4}42bt8g zib{$p4+U)cDnvRlsR~oTDmAGZ%d=SKeQhH%bJdnPs9VVBrxmTMa9VFNxcJOk%uUjD z+gJou0?G_$UHBvu427`xQGkZZy5Xg`e}=NF$I@!3UvWF8k>m<02Nijicmv6y>1BLn#vYafet; zqj|;Oehk~UZy(IWZt&Eeq(9GOK8dr?D=Te;oVjYR;Ip@U7CW|Wlg`ST2jlkvu!_Gg z{(V|_;*<0WJW;3341_n{c%uvunMq9K$rFIJZgFd+6+zba?K=i0)Sl~{{5HTAeVK3p5R(pwx(Xu7PaCjD4 z&(3qd8lX{aMPDl}^uZ#)qM1Io&4sEgUEU1wJb3V6u7FcvPW)FELa1lxCjjew*Vqel z|9fwGD=LPGdS>8idjYr7`YD;gwxotftrbLejJc?eAhwX^Cfgcp=`+&(R%Re1WTM)J zO01p(#1>EqGf`R5oLnzOLuB0!U0dCPm((x8|6IBYN1X_pJ4!9Y?06^KL_+JdUzPTB zWOl=dzFT}PY*Y_6i(_VD6%A9w-H9G`q7q{`T>15pkVT2TGw>^$pM^um9>bsG0Gc$x z?lXk&bdQ;0JFvrg4tjouc3_~FMCiqB^dcV#jp_|oLIO9kP)Wt5*p3(fX6CA2Iz+6fKq~H!9#q5XrQ-X*RH{>I_GBA!J$05z13|Ld-bsRrybaW$ zfTp1`!|KW8Vj>N7OsgS)#lHFg0433B?RHVoRGg&NzbRfXubvFD(ek;V|FOO2bEz_- zeiVOS26$9?tiRM_8%u7VvAU@F^zL^M(#W6c#FZ}Ispjn0U3yj>^Bo^q)xvF#fv>DE zd%KN>?I5yzO7_P7o=|k$QdB^WTCdC`TujQwEhT`ZOueH3jdf8%IqD%(R0Cb{$&XF|R@ohY2H&%s`Cx5#I+7-KX=MeU_{3k}+NWM4 zzg|no^9?@EmPpUi^MT2@bjhG2rjn0yLuYV4lT}m+{MBFm75?B4{y=82IM6idhchXh zbxVL{Ly)^`*JXI$d*2Jowh#oN)YaR*^(}n(k3TE}^@#%ONmPmQEQD12Fl=qqA`<{{ zjNN0U0Y6u~-B&Nvd=aVahCkm_!q1Ikl$8hz{Z-Ybi zj$z^wXA%1|8-Ch^oml8u0a7zYJ*~=MI5kxrK2w0@6JQZ)MVZP-xDKGv1D~B)6))O$ zCGO}R#lI{)ikj;o3nKAmTC$Ve&^*sA+IfQSG~GUlau za=vkwhaO*^2`kR<+Qwy=t~K!4llNmW_TjP5w@#Kd-A)Ay^9TY9eo{ed+el1i^<(xz zQvg;LmkiKLs*aet>n?2G_bm27voQdQ>m_-XzEKkyQf`GTZ^L6BeqS744Xcp&UWY2` zXGjrr@$Y^V7QlQe?Uy8?h?PPtNR@J2x4EmrfgI=)p604tw#j-tRSXr>P)mPT1pJn* zl&bn4k5jKN+qE)jyZP+kbAbw3w$I|VXfws)=>Tj^Ih2Lal@Nk5fK`bsbgQAbqE$ma zxhv?o4jd$yjS~Fq^s3+1sHzkv7Mfr-NE6?TW8B#T%(w#AG0-(SutzAYirYEg0IO`g zRR*9gc7RpJ;7bAFc?MW!Nr-3J2=7S)u!;|{Vx?b`u6KmokB#Z@%xdwyHeFrsIioWY ztv5r$4zgaZ`qV^$wb8DgE@zb{J;cJ|B5cpaPyN&l_@!U`#nUqpmME~as!Bif$?2Tc4<4{G!Seoe^Y_i=)H7HGJmGVH&lzt?3@*0_HkhjLzj z!ZQEEKm0>E24?9}p-$)ZkS_S0vp!yN#pSs1#+&fBfBUzf@`m;1&2N4)_U+q;-~FB6 z8H8miZw4i2U+tLYDbbTeva!(%NkcF_fTtQog%BN z9O;3@nu^S@Q_I4R9or>*?m`0dMSvy4E2^Y&KqOh0TvxK0DNihA=FWfooeu3|xxD`M zua^M{uQ$OF6`fRJ@i)rzOLF8yvoe7#-c+@XdRWED)W$J0MU{XD85rPZW-ctKHhDdO#n0(^#kxkY6xeEA zX5Eu;!V-m1rJvxbd-h^SNdQ7jCreu7w>u+4n4Xb-|9bxxZ%MG)G-eC zxpX^qVxfsJbP>i?WR?pA!~+QpIDHV=fF}NBy3ljmz*D zNFTNKvf{S1Dyj&ndg8sgz6X{1y;fYY91F=NG81l1C0^40fEreg+=Ws6|X>Qj<)d)ilOluYv2U>KVV@;si0$S{3`^7`Jr;EXOs}j5;ziz>3{LC0;*- zQ0m1X^~2~rY*c|&8e&*-`;-B!vb(Qr47I`ASN!M3E#>7q{tU_hR_XbbbbrefSY-f8 z88WQDl!YMvzyqwZ3d$LfVuMs{tob)n*p6zvi;bb)$8aMyvcVc6o>ATaaC=w(&7V&c zSY;Qi^m}&PIS4ioh7p#Qm!y-zne&f-?Bm$JZQI(;#u$KAgjP});uyEzemg$@`Oo8@ z{^_4&R)&KMz7k-)=tVD*R}Pr;AgK6Sdgvoo;69bn_G%BVSoey9E&cHRK@AD})Tcg$ z_rCYNQcConnEn5%w#G9n<@39ifOP_rW5?wDcJ11=W_Da3oiZgi#5kPb zW+b4KEQAJj?${~Uh}T?auspwKx#~3{9kW6xp&EcFfMpY67ZY+2dNO>7b)P^}Pe`%xVROq+x`Vp~Bjei=a5qUN_iRqOuWcc%{D=1)`X% zEB_~MgW*I}U&%jCk1i zer8(A!-~r&fE6UG3Z7vg&iB1YO$2GkRBWf@^V}m!|F#IZxKGDW`!52iV)^l64FjsR z{a@8r(A$u(@4}=-6!+JFe14}DvGP2yQh8SB2?Z4%t|mSd*jfb)MetQTpW^ZBV;_`d ziNLNDAe2-9BTSJsOoWk-dSt<_HL)1BF%w02{>)}vYp#sl!c-LFP_2ru`yuXKVIqPl zG%_1Kte{tqQ3=O~5S9Uk(kytTF%)Gc<>LWRSqNO&{Z$5lN`GGhfXc3aSqNd-^lBMk zE8Bnh^&MXVWq?i^;W0}Y0DIB_tl@^d>;js$nuTBQ-#B#*x2+|L#fGi;H)nWt19-`w zeP{x(%36do_+B2&rYQsP<&`%2p)U`uU-J@1k8qQYci;y(T=ux#x5aH{5W8 zd`4sVfB1*b;UjeG0$%o4<+oz3+Xv>BbxJ`7e9{zx%ttE8asK^dCHQ5Fh%` zAK|XM?vme9S@-5Q|C|`~&&XP-M%b2p9gXR8DGeMQB8Ls#OB|^!0mgM*}i`M$oHO zS_HYg4oZO-iz<%o`+fJ_C+DRV7Fxk2p^QW>baX48kt2=WDr4=$*2T1 zMsP+DNmL{zFL@bW)Ta?Of(jWlFBnC9iHdoms6<6T5D-y70h!01Ypy$<>3#p&XWiO$ z`&ONX?v|F+`M&z9>fST%v-jF-{rg}4@){UOD{x~Eqh5@P8^Fm@pymRw7$DNerCrfb zlYkOa$9POBHKN_RDHzrH-*qwSgm_0~f0PFL@RdhzHUZ9$`zLg9F_~cui$5+!SrZEn|%UEqq|}b{JG}?j zGybm)I(6(aD=r5!DTa0`AQvhOaAiP6of~*hx(Hz})M@)^8|te{VHV`kPSb5jaJAdx++v)S=zMnh>R!)lJ za~{Czy((c|n>dz*8I2Eng`s2AtsdNsuJeE9YIhrFHFms)S2X9>ee6j@KiA(&{^64g z09M|J+Q#o0Z15d6noZPOO$ic?IrXV=BOys5$WGC!lsT3UIZ-P}!6=a$R0|){r zWLz=exb3#vM1)s$u+BQ`ESz)BIWiIJO8oY)qBNbw2Bj3l;%{B0*YCI2Xl-K?|JHZA z_S$Rlp$~mX+LS3j3jkK$DRb-44+J8{Y>Cu8l}wZfnzkVO#ct#5q`zVn@H1jzcEzxf*x z)*c%h#Z^~*Q_@M963IaRvdb=&`+N7f@5Vj%-h(fH`ODGRTmOu8fzY}45vi$D7_g(?N$*$Sn^xwQUv}3&IslfLUyUvbb?^u>>dHE+5K2m6mO`ii z728?$yi|{h&qp9vQz<{;i7{ z8h9C|Un>LNJMY-Ows5xJ)fPDR zpWll{(#90Q0pG*kF_n&57Ypi^y zo6WwmKU2_(zvUhzbIzO~R|6*nQqPrf+3G8xf2@U9uRIWwMd0SA9zY`#LGSJh>hC8A z(QNjiRvSdCQGw$arlSn2cY@pe4tNTRLT^m~;nkmGaSpXZwR@0o6S01AsI#065$Bb3qt zl2U+nQo{jhh!gu4!B5GApL?5feB2sFxT}@GORE@kebn1EglULMsfsAt8lZbR&*EAd zYES35nSJMHVC4cNc>qYxP2~Ylx%MNMVK)B_>}&vQdl^=F?UPrdBJcWnvFvjmz|slW zUKOz$rJd#3&(%;~!DwD6-QWIgJ~t@>YFxWPE_;Ht??JmQbt`mRdf6uy0IX+bbn*t`e2;AdR|FtF_qoqW;LmF@6^4v2mZj$Z z8elya8CXC3;ScfGfBo0uj4S|H`2$4()YYq3~*F zo_Z3O{lh=voU_js5P_@KbmCR?JHMr${XJ-3_`a#J#CzX!&pi#WGONTlMUScN<>KLo zAMS{jci+9Jv_!E0n6!0dsWAm~S7BhyS}+o!T?1h8N3^PZvm&oQHUmpj0NDmy)Zkno z>Bx>F%qY`8${oEd2Fgr*)f7c#RT*{^gFNG4H|vdA3@n~YudBA$4gf{JElDJmmizKu zaa@j$j^dF=9_jcK8cfc`z*6=Ve=7s4*FxO0-$NJfU{`5@<3Im?)DdDdtf8Ei;CKzJ zMjMs5fX5vdBaV+s>YSa6v~LiAoR2|O4`)QmZ5CC>7Rds~OooYqGc#b&3_vvt*vW*|+g$*aK1ZiLh;YuK zp~dqN%+tk(An;HqW@+HQYh*a0SQc7nt7#{@AnmqW#DqbiwiHbvAhpE zW|NlBMB5E;WdJ<2(F%U4?QXS<2An?oR_`fGvF&afJ;tu$*!vyN4^hpZzz3u*IbaEb zC`Ez5vzNdxgm|GJ<7I9UtnxVDc30cOo$WR@rUmpn1q5hg%4-8@fc|C?tzdotET3UD ze~N4#0K(^+Z_7JAFYd|%2=mUL2Vmt@L8Lsvd|RFdR-WC+eg5raSmm`3r6_jh_M8W> z?1@DU*({K$U`#|WfJ(jyW+n(dm%VD;t4fDGp>YE3-t6OT1bNw|3jo&kcJ{3p2V4yd zTM`6wQd+y;TKvzy{7dY)=N{RlM1na-aqsuUfcBH0{3LF;;Rc~H?77DtIQr%P;>|Tzl<* z;mIeTFctVRx-<1|PCxy00o7FVMJME^17vltKs}vfxA(nm%kkHI_ZocUBmWx(GOz{) z1YFUmTI{ePMJ#Mt3#ju(0E^%b*-INYY(S}8#&^GaO{Od5;HzK#zxdwwzKehRw=aov z_x|_4A1`>p3-I>0zfG7N1O=EP$W%i*!A#dHUa#T(@4o=2o_eY6TjXFhWYF248@N&RCmf6B?H;B9Yz zJKpk^w+Q>{^>28Cu#@;Kk{T=(m=a-Z5rF>UzkLZG{F4ju;DZkthc$C_WxVd98*Lrm z51o6qnFx~C>Y`aifY+?fbM@Jmluy}T1nxZnuta1(vmxD&NIj)BYY1RfjdQ=9D~UU< z313-B@(_lsds)T8| z46ewsVsK#Evr(UM^fgfAGb@Ow3|tMs*ss~Hnli{Lgal$aer(M{(RRxKRRyc;6hi$> zfHh11N)6#ch0z_?^PVebdifVFK;4P3xjlu!s2`h(BRG)0O;o}!9AKRrU}@r^5VcXy z{MS4Hi;OFZqqFiLx0;`#Rsi~_wr*)yDGN$`Zjz9q2rIk_?sg|}e04V*KfEu#wEhl^ zw;L$I?J&QTab>f&cn$(swuSD-vs6Qi;F@}PbP<^1NN6RmOncplu`CMkRM5ua$V0^| zpcc1r`l^F5(Qe>}BWAwn1z^eeFKj^)Ek&!j47FMnt(dlh-z260iN)}FCjD!=Wi+1D z=5%XNg_xb<*d4xZYWm$L#p0`*`1)AMIdS|BhW#;Z?=axi~;ziT_LLUy<>b z(bF`7=Goub%Ob-_<27EJ_L(-53u2u2c|QJdp@qLS?OK6Y4tQgwsG$CMMIT1jwJ(Z#W0is>8#?E5tb z4}=lgUIjy`i&ip@`hbIC+K1|97xk(sATswhzkig+z{&$a@&GJle9n1)&oTpRX9HMy z45nOwY&+wny!V#}VC5a32M{_-|L(KtR;vb9Io2?qc|sd_>2#Q|g34e8TP8Q4;3XI+ z6w#`;fl>vr>mxy9W`GO5-3(YA+;Q9Jv~V(U93z|utMWy~Z=%s=r5_hux`@IUo@2^V zOCVAy&q~kh2B}z5Ten^Yw&ycFlbK|WV_E^lg*}|oKZqlTOSm^}<9iQ|qp!3C02vTdXXmP`zJZNfHY1E;yyrdV;mkLk zX#`C|5+RL;Y|iPgrcSrEi~bDk6K|(yp?Bk`sdt1w1w21 z+GEc>@!8LP4(Gq;Jgi^0UVs~>gb6i2it!&``x>sf=9(^;~&R`7hWjrCsy;k>86|T=}%uQ*P>%e0PL)@-YiZjul>h= z{71sRI_Z?|Y+B({Nwhgt`sL#fJrZ!Xk3-&)C{bWH+T zQvHwYtki)=@Rz_9(_E3F;ukO;w@~j7uxcd28n;ng>3v*V6`Y3sWn5w3zN23^s610OV9!yePH^5*M{GnH0%>y{{+CTs4^NK9Yq&RlZw{pK(hL`jq(eBJrmn|Qm)337PU+O~` zyEo%c*yqsmG+Q$nT>8DT(Ya4d>?GTI^))3a*nZS35LbcZtf97gpG+NByol-6I?gi* z12RMe}rdl-w zzJq~c8RH|P@T3fGiUH36O!^SKU&nfwxSUZm=jcgMz`Su!0vS^I1%${%_gFzNPE3xj z9e~?LHq1mQ=W2kR4PbGlhugajIuLI>d@XLOZNf$Wc@rj^B7ZxmKYwZ9K;N@j?u_-9snLVWX^R|&JEQYoX=ZsUy8 zPsiGQ_LJi|VKewphl72N$8rVzo8S6RaOIwChi_hW6_yMQ8&HV>C;P7eFNtAeS(_RY zd%)AtBRFvGIp<(}d_ouiYuE0NFIKY!u#_}72^SCk7S3@utD!pWTpVFAF}+V^o;d?1ok){8&= zXD*XHZ{lD_Q3HF?K-n((xWtZWnKfOg(J<0O>)Tcfv zLhVfNJLKSl@rh4-0=L|HD@I30guO+U7H#yGzx*Z9&bsEB?+DmRG4-LL#dya%-ihVQ zmtp_?pNGHuyN}_#^WGzX*q6TaZ@A%x8wH%?SR>ec<&|F*%{jw*N${?-&&I1?^BQ3q z68L%%QwZPsRzWKn{PUg&fH6&ynpZD>`O8I^okbf6PHZSm%tZ<4vhR3P*bhV4w; z{j(XMwoVvdrBb=Wp80L|@uzbw)Av)XU%vrU(^GSTZ3IsE{%i+}{eX5%$9VU3+2%}3 zCPPW~iRag%cslpJz57c4H50ng!OH>*f|(+^Zlw?^sHJHtwsWUIKR;uC85$buR2kG% zL0u5j<9J!aY%|~)+mLox!7AH9<-W=Y;NMcoGh-j94j0n~37pZ6lZ{BwP_@Zy0F2kM z8Cdq;8sJK0PU}4_09f1G)1I5hA93mXP?73tO^gf6Dn*$K9bOR>#eO_(qJch?8YM)9 zty74e4uI7lfRz}w71;;`c61E!JVEN9S#&Y&##q_%aa4IFs*4A4`{Yx2YI;n@4{eW* zRSC+nv|R~+SXI?ZP1FEO^|0KGpC!OZCN@tHtD~XiByzk6yz?g$ch@%`77T#pGo6tD zmY+(>fH`PA0zYl9g&w0NZs#VCeqQs|K#|x4CG_G7!yR}ddK znMuVIJDX|4d0hYu`_-&K+X}#YS(9F%g1ukf_r)XyS%Up;1ygZ|Rx!n~se|JR9%_X# zA%pZc%Wx22GH8p|-2jSMpZK_=)xvMWJb-5B0$2nK=i3Bm>;YcrXFDIjn*aW~ftl`S z@g(79roY%@jeUp`Z>L7kA0bwAK6bY zeBlf6(T{#q?DM(jo-4uq-~R323Ui5U!;3HeG=_(U1sK}AWi!^TTQ4bp6mkETfB6D_ z@Pi);Q2Wkzz7t0r@gk`p$?2wuwi^Ky z_GtoGC!KsU-uT8h3Ipq)gANvei}y=l_n-gypCyHnAONp<^wG!Q{P(;^QV4mkuYK)n zMJw*xS6_{re|ocw%|H9IKf@&#UxFu|d{R;@|MD;YCmwp}VVR6oD@h&IUA1rUT~ecu z;B_xnC-0w*&0c%$)d8c~Cs5{6c`aKOJ+K%L(ofBf-Sv0{Y)O1h9?17Cc4P3co$O4(QZj?Sezio8Dsy7(FU zl%9+2$>aFW`1=>X_yrz#-~j>9>{LUWdBNi~sO5ELX zB@`sr#YcXTSR&fJ+MNrW8W3v0X|pL>EyF79KDP5eQ$NXGDi%BGc$(%XHV`umB|D(i z<9)Wjv~eQ9A{SVN9hS9kk(Dg@eHPOZgp!Jt40_4d$OPjlCQoJ+e>&e0*y^@vmfVX1 zSRH>k12W01(tw+KV;YbPh~@dh){?fC^m>z_Lo4+l#Q*>x07*naRM1P}PsXPiIL6PK zO#{FQgDdl=8MkVihn9v`H<+Pw!1j#!JOIljgzFXHwH>tG1istEiIo8ymd2R&C*g!1 z%Eb~|afn7#!{VR_&+Wr68wqZ1HqdltMCyCpCu92gHYWp<=h`Qafwe6FR=_hbemo`!tw>teV znyJ{?tN#@f&BHCmFBF~VO)LwVn z9~(>RWz+1wB;aw6G|dCZ&Wc@f86q6=MYZ}7gcXYfm>T8ALCt;db3ePbWcK8y4QW0^K zU~?A*vKQL7JqBcZk8Mo1F|fFb_rCCXc>R9ExOx3!_~K6<#3SP=Cd(}pk}^D2YKa~6 zfBvEc0Bd_2yz6-OQvy;fh0eZ5L%=jaO}9~o2Su&d?zf-p!+@FT94g{`=%I(=m9KoI zp@4Fd#IS=A^*iT=XB{0qj%#^fB-reYA!;9d~#jD^+fQEel{zbQb^ zAe;fqA%`4_m!EI~%B9jQHU$BNpWkr@e*EJf%RN%S`7@vSjOgHW4EY?n;JgOG0}5}` zm@$B3Y8Hi!Z6?+Zel5@Fbbt9be~lmh;0MCM8eY6u99T6i3jo&EO{#i5D_5?-``-6{ z0cofMB@SEG52@G20tL6;atp5guWN-dMG8JwRF8YjpN+lt+EYMZes}!KUWS`) zzFE$B(M1szW&Q!{!*$a@|rxJ!t)eCR|mpWGJQr} zb*CRB?DWJ0A1v&^^olI6Zq}IRyW&2qN~jJ6?Hd6sbyj-aERQ3|$4Y&YDlJ~fPJgW2 z3#db*DTJMBRnAN)bS_ZPCiA(w8CbTH$mdsWEMAzl^F=Ru5%%AIe|csCM%?J^@rN5f zQ>RZ?Ep4Yy&!Ye#YRv)y^DG9SslqF_6#4iYSsChn>TW@}t^Yhdv_3aAMfDdNO4 z4xgsD=QirX4*#uM;Q5!Hk0g!I-&aPt)yAXE8q&TZs?8==!$GxF#>3M!OchHg^k9(8 z0!g!$BQP~<%Z{VKyNp?;=@BGgQkd%QQC~3zniU_;bQ3|fjLB95C-(1weal1m*2a6W z#c9Kl1;QCXm_UTfg~TvIl4;a3sNyvgyrT3Lfs(ex@UTLe&aD!_Vj)4M8j%gAsf64? zd`AZ+jgbIx;2|z}2wQDbBL~Y%{dmpFgK*pAlelg4aTKc+#8Y*Y{Q{a^ind2l`y$eW zL28OHcCmRh#giLSOt$*r1%oIT4d`sMr!;uvZgwe2o8>U;h-2n!2EMK06l@ueGXUnS+ zn8%>%2Ed+fd*uOGd4@ml{%wMQp35GK#e&s;t&8b+*Fpn2wv^GW#a#$+*^5`*w!rge zG~R5xtnCzqtq$<2#32RIxDWky+6M);bb(K8fD@VVrQkJzDjOiLMdtiwEM*x*8PL@W zoa%Lt^Sy(-_wOvb}DOAJ7EGYVpP!Hh^!rH;F@gFEFs?Z%Rpv^^7<*Cn>``B*VzC zvzSK5z?zdJHPs02Dx=U&O(L^UgJX5(*!E1` z`^{^}SSl0*6i}uR&&~6(?~8Ll29b!!n_PZQ`23D&iW!FlaRT{_tVlCQaa?od%d`zY zE0tLFje_S5*_Ww~I-%RtZE?c0lm$KZ8Fkj3e2{=9S=;>PH@`s`gni=8pQ+teD!uj{?!*4ZAD&P5Wf}lkSDYJkWuM2W=zF*Bm4a3L zUO_PaZ3nxWYGuX%g`HAR)h6iWe?z`;6J!mJd5W(}*H6e~() zJXNb>bIFGvZOy>w1z;K9KC`!0fKL!d13F3VQY|9xnxrUtKBl8Ks)>tM!Ns@};;?1~ zC#-%Re$m*3J4T<7l;D)9844f}1fy+_6U3}mX8|@0rwLvO(}!{q7Jy|3vkH0;z#_|n zIFY0g3X5lEPkmMiI62=H$)pN}l~oOjctvRqf~CXw{=;`*I>@RWHX}Ht0QG`{Vp2pB zHQ`We%kwZ%2cF#QV9P`w!ekMg)@aWZJB`00&lGW(>&NxY0);Xxx&bQA`T7jq=aBaF zW;3kR7U}id4U@uWzjK@EMIe;z%p4k-lR8`l1IlqRiNBc%qrg==i4Dt2iW6n}uo+0H zAef$~6-OpbJWF8`9jgok<@M|;@5&I-ej+|{$p8pqC$m&kd#H-Ie-?a`eZ?OM(#;cz zzuk$2m1RO7ChN;lrg3DGG-NKwf_Nt+g0O&AHAcg!p-Q3mv>*3Pq`0XSVqISugO)~8FB7)20j#HMHuKu6`+VCEV9md3 z#}r-#qtw5$?=gwZBAAY=PXD&j3h5ir4p_^sAE92^K?uzK2#%P79~Gt)u1_3GR^0tI}!gUsH)LDBiX0Pos=PrQ4-aRbv0AOuTWA`{#DsN@0fs$euw#86LAOYZ*V~@c-_uM08&~?RK5o%Uq z^Q{#)~o_$TVR}j;@T`ro zJNVT+t<$l6-gWLd@~-;I6%6$C8)0b`MO;WBd|K@}-_9l&mtN9o-)=j~iI0q?yY9M6 z`ZQAw+4pX}^;S8xPI}sR^nCi=Toc+3dx$wsB=@8Dx3e#{6VETz93$%Kxp?6I2ZZ(6 zE#l61plQVfuvA2x&eFPd>%^|vX>Q%O%V20%1F*X9ai)LGqL5I!}Bm5*D>rQ zSnau}MG?06Ks(+##mMecTAk1U3z;8Ib%d-hMxN2EB3L1db{PO+3h||qx=4R)pio8~ zG2)Vs!HE#Zty(K=p=+PKM})RRW?v|X6=%Zha0INL6higkn1l=jY1M>NT(O zd8X92Ecar7BJHHM7OGA<6^T25Jg58hnWg;A037j#q=}3 zLKx07;^^INAn(&nI@&uTq^@Gp+Se@RU(Z-?j?4q~8x{QQu(-G=n%Pic^sz{Q>l$`e z#>AyqytF+5ElUrPi*v$OQ2j^Ohz7nH61jtA{@kID@L&r;wV4D3rbvU zj1a*`F)m;-r~_UbRg^K(D&nV;4Lp!KNc;OxXwJO+Oo z^V&C;Vde!L@J8%g1~!R#BWRi!0NP$?vKdv>fVG*_JkFMG@x2+1JdGRGZ&AS59-sEL z__v>Fw9PgCxiD-WqtBrIyVWq&nQ3nrchO&={UM&i&nKGGM$*YMi-uy$vZ|;8=w*um zb73>8MK@SZNX>PFf&kG%1uY9VXZ`K7p^^WOBUc z+BDzZ{@ylpPZ!bM)&Zyc1)hg`0KD~peeg#I>;@-nAx;*dUYmk5+`^LP5F*b-(+%+Y zmmakMU_IRiej59m;3C1qB-02(0c$91ZP*2=RA^(0A=Buny~9%M5&$-hSi1&%+j2?v ztEt*FuDId~5!|Cg^OBdm1Q&hcBC)xg?9@pyfWeF|gkI;8OD@4TzxhpJc%60TnWAGO zj21E6v+sg5dwxf)tZT2mRtzSY1Rwn12PFvAR2e!KJU^fPd*Az>q;GLwY6LNDkoU{~ z`TXyC*Sn;|Ji&@*dt)2@;hAp|!TSD6A1Yi~B*S1q18axB8tspIV(pvug@zU{#;5-N z@3Y|E7riT{p(=Aq*os+SlYVYFoIM@Q9sU%(PuQ{dyL5%Y{KgOfD`w!3;L%4P5%v|e zUApHvj&&8`SFl7ul=&D~JP%jlXgkDl5*wL+U%%}=Oz+XyMiVYb&))1l6|y+ER+gh*V+HV%{w)BONf9GcN5)*npkjZe zrc}^~;8IhR@*rM-RuW-lp&utL-4EAKK914JaZIopT)~G!CNP2fBo(1xtyU*`R|0rI zz%Hpa=%gs5CPbBc%-B_$ZYb3dGZATQFV$T#m4O&_C&)&M@8D;C+0koY4NIlW{j;9E-+BFS=Wh%%(t!9!{1*D#4my?`&z#>0 zVCiO$o6Z={UXKk*cgBI-$7~J5Uj9J$wKelXSh__+FzUr#<>yP5EfN1lDvuTns4myY zgxxtNbo|-(rT3BB{+1*{uW{?_d&M_r^?>dNbTflJmm}1S5|ooBRu@9N_2d(A;F49i zf73c#{_XEz>468~w8I86aXbnnGKZNOSS)>;aH>EPGb;H;gw}xwyK#kxTdO4>7Xl*p zDVib}U%*&1#D=j6eCy^J5k$R5`(ABPF>Qd~CV*9T9E`aM{_wzk@J9#j1vg~+$`D%9 zqwoh?2pchqZV`b~#;cDzbpgQIE_1Z?!JUDZ0YnV^n#~q!jk*|+7r*$$k}e`S@WrB} zqp)&Y97Qr}ITj0rK-dlp5INZMHeQqaGVO{QJ9piEw*)c_ATRvjpWx`Dk4ArAzbWUd zD}<^Gk)52(mjCfT{)ZSl8i%vaI?EUdRyVXNO=UzG(H2n6t}lQ2%OJao=O!@4W0x&k z)+y1>po`xz&5$}p{r&v{R?&g_&Ud~8rX$m@g*r)gs2pTXYtypBbxdDlly){Em?w$sJ`}g}?x}pMD^?C#A*RPus zz~VUPJJ5=PYy;YcjT<-4n?lIrRQ$aIj_iUBI6E*hsf2VG)R|NrELkNCf{reht}xnQ zmO5A(u+ir580v?uUcFj0!Dz#|DN{_* z-fCgD${@y@b*#sZ1F#4#NuW>GO$K(={1iiJfaxTZ6u!RD!PuaWaC{o)uRH?3DmU=x z`lqmIattUJ5R^-XRg{5A%IxU|u*kq76RR3~rb->JM}`Db#xl`v0ni*%#ZFjQ!eTYm z3RO$Xi;@n2l|&Irt}m>DmXja~T(q1NN45uW^zH}Xdr#brhdiT!6^%@ySSe#VsKHN4 zC`18}5~w4atPizlG3w1hq(de?Qah%BX(y=6QjjzVoUaS?8uNB~kZs>OL1nb{qKAEr zM2d5nAD&CK{M5#gHD>^P(`K&2G=9&tVd5b1jISv+wIf(M!$=9-8IgYV5N0vNSP0DW zk-MMYi)VPp`uuifMS`4qJmX5WwZb|PIh&cZM|sAs3)uLL%|=q@mX}qz7eRQ>h{O{V z?_SLlAbrD^F+k!g$7oRS5YsO5fmr!hW-MUOmD$dk?g$1l4eUatbWf&v+m=j zsSrP}_(0LavZ)rPGYzG=?qg>ISa~Ua;^KF)=w|)Do%38Sfa1)L@Hs>^vU|{eYmbr5 zn>KX7EFFus29@+ftBRiuCh?uPj>(KsyP&>_&hgzE`*#19L!YIc z>6Pmug}EpDtp(aj^gziBjr=#W*=&qqs$GEtucC$z6e}JB7VB*YQWMJsK}v zQNo?;fD3+fJ&xLUF-|;WsZ1QgzRL27#R1F`9;oBd%Q$zyD2f3_E_^4D-dlBMUR0IWQV{xrXr)i;@#IM7UL6oVWF z7VHZY(*3>P`#l_X$e~6f#w_OxaK#{z#z=yqEVoyU(0sR{3@U2!kO}bRE3S~rY80^~ zutfoC3SO^SwOUs9c}`uqXWtzi9Tfpv}d$#Y%{_YOga?=v6!}a z)m2vs_{G5LoO8|*5qVyN`_Qob=Uz{VGAkDu435RW=xq?mjr`@i!e4e zD!?Lzv}unO@SQK9HXv-CE3<{N-;h*j?G)P7@O5~EBYS!o8Su> zMI6_(FJuGF^=`xtW;zBO`?6n7Iq+wv6=plPQay^nAT_bHVpNvuL4QC6+-+8tYD;v3 zS8DIMFKsAoA%)g=-+gz{MbzUIz|yuRD8M;|$M82(1=-eQu@d~^m{2EF|F+o?Jf96> z*{rMX@ASBiGn;jQ1@P+G>W#k}*FF5Qvypl}YV`)vvX3E@P(=x~xQ%ht;khAJIu4en z4jx8~siYv)%8G7`a@t@e1Js=&n!y07NkbmGyU%HmL7$oaHkn%d&5b}6tNsy8A`8q0 zaCF=$uzbPd!|{c&yD@GK!S_RENz0PSEoVz-FIDG0n1 z#BJF>VO@5&0;Dq;CicACVKB^*dZ_Jh+jt(MshyovO3&|943zVC=5-S^Pe!5mz_e#} z0SXPY^K1>{togQ`{Q7bd+z4!@BHS))yiChbQ=$0$O}OZbd?0CK+-tyJ)Q>{Dgwj+4 z_4SVD6LIb&=oMW$S;=b;D>1?IU&Dg0Ip zH%jo(5Ksw$!G?pr7AI8~p_CGa09%!yh!AF=3u2h2C?<|nEFmI4*5|=*$0#)-0rwgu z7tOMRO5$R;nPS}WIsn!?*RBN$GXPfV1PIe`0l?acBhYaA%x3fuD8w6~SSn%jmdz4; zb7Fqo8E0U>efLAN(GbyS?#lfr49u9)#myY2Sd1z_U2 zs6(^Y9(&@{Q%}Y7pZ|PeNbp{`Qvaz>eM+iR34%Q^fOF41*MI?1;&+BMtIwvZhC0C6 zPw%_$K4DX-(PpJNGO8Gm-EzwJ@4r_XB;!1|NQ60AT!|NekYu8!cKfc z+jeR`)5)ivBI!4a`Ugdmz@FR|7+BlZj@z=AnV?A1&&JIhrEG=boKc34J@!~EUbF~L zJo#itoO))WGw0GtKhJ5|mV11r`|Jw$@J#RBK2AZV&6_s~h(&;Yt}2AI0dyL6+if>F z1p$?jk&#*2E4|Lm;|O4h6Sm6&SjHaCa&EGq$!1rnU!cH~GO#o?P@O1k2Rmh40~&RF zMGvB{PnR!;M>)$*^(*V_B%LA~K1!1q63Uh#qAY>D4 z=Zf@>=$i}Y*tJ{W(9fN1vK+`pPeTl%hzda!0Ao%ANLyHf6wBaY%xz;l_A#B7#D6cM z3B(~n_-K22)Z73TgK*n8_p?UOli6M$yKNlaHerh3Jo5 zge4F4b_;_D(CRKzwS$|Ui;kl2Wmnm=mI@lJ7S@)A@S^2=3FGUQC+^4N(G*H7`V+=z zG3FtF#d7oXSR4;+H$d!`5IR0We+@#fDE~8_2$B|D>gG5EmRP~i0E7a1cZthOx?Sdu z+T&j5SN^6A(tEeHb#x#4#A=Vo;_qne#Tk(9nG~sR7KrU@&e!CsK{nSu+u}`c&nwLf z@0p6)0sFFfgzd#=Cc7`HPGe*u#s0(lBE9`C+;_$Q!TOu8$8ZwEnQWj~U503%-Ld3V zCt}e%ejiiCA_gCtK--P6X;m4Er;J?|_8;R=6^f@XPsU0yFoX-oMImEtku@f1h$6#~ zz5lMo34PyF0c{+up6ar}xrCNZAAe2gjBT0&%CLtaOO9(Vg&`)hxU|9oN-nuCksHtPtcYgptjLJ$mMB3=iF zWvPQI;09>5VubaktfH`jNTt0QM;x&~UO2D{NAAA_OOkQ?Y@>${{^VvHzIzp?9J+j) z04z1q-8Y+dF|e9xy~DsFfc5|G%mlglpv-6IDgvvM#HK<|)h$TAJV7gmlvdY4qu`)f z^dgNJ_(kC9zyl62E0t2Z*obCw6^GX*%Zn?S zwsGOU6led@kA5W2xpe7Lyy(R*mVIu$^%m5oYjS_Ddey6hRY1)m&B^}BO*i4Dn{JYQ z&p-csyzz~16azCW$h9PKBxN#d1Jb6|kc-om0f5rx;xoI5lNg@sNxOQ7%20gCOOC>_rAuYCll_D` zKfn6bujTzvXuq?m6PB+Gx)Yx2xphj8F;4VkcG8ArLQu2Es5N$IV+df;E>J|A4AeY! z9KWY+5Cg*;w%8m$toOMj;DfIGeDM~Rm1dV6}iwAQ+2TPytaR$e{-Mi6fb5=Z&C>&88ZrG*$gbs841}LOetVRE!(lPOS|u?FKOYvc8L}^=(Fb_ zPTB&v*5f)#v4^TtLRu(b+G(TFu45ohFzf{=_%)1&0mjoJBBuZ!F+5q)r7E5p+k%Jdqu3nPh0()`?4wB}QYl^MMB`p zB|zn&i|AanFymAn!TgJW*RdM@+kE3z*udr`x4c0$zE&4zDUKCfX!k+C4o=odo zi_T|ux})9Y!Vo*iQt<ITxYAAvVU&hjr4U|m)2QrEwS93uvy}s418fM+nk=o5c=*^|t-?Lt1JHXw@GDU;*C+0Bc)^!cN#PP0?z%1r(u! zLgPf?^8*ez0DJ7QN2lTp4V?r)bhZqYL)1QcK}N$?rZSI7<8*|r#&(ly7+(dojC3Z20!}PV`w#-aOik<4FQwOM!HP=3ICX`$>jJRyjvg3%i|9 z^-FB$R-Gw*M%_mpvu=mb{#=25+cD<%8c2%0j|gC~iWe8)43Nde5ZNb*#pZF$@yBL0 z+J4is(f$k9{M~7RLoWMcgyA$wB?_iD;k8qgyfO-vipXQs8a4P)gg!sOnxKY>(8Fj{ zK+P!vWRbYcL?Fu}L^Ov+Zf6{@pOU?vrT8lgi><|2pkSq-bO$%w$14`_uKojYPc(*~ zOgt_u6*97z1;NaT(BEE;#{BP1eKM^=$YMEC4KJ&CyGp762eQ`vS*xW`I$g(Mu=V)Q`vrG zpxFVqK8+0o8bB%*oz!*|%1}_IEQjm(7|_IOhq2T|NJMUw|o(w{@B}4a@J#d%X-{bT#PSotf9TC4}%Ye zSa-!;NNv@TVqla52CU{rzy8BT|8|RPICEO40Acc*p^6XSPwpgAId2eg$@AIy2vpem%TIXEHnUPEAFz=Xg7KYLf$fo9RO`+Ar zCcTp&m?^UGO#Gv~_RVXN?PXx)UEhAD?tSx)HFj(3MTuDelvUx>X2_|})vPxpmLS1{ z3ocp(k^hST{)T8O-JH01V7i5y?ztZ~-1RH0i`qz6Ekk=?0C;i?mHsM9r2?W>4avkf zmKO?m@!osk(0%v88OxTTjtHnH@Cq#y(h2d-Y|||JJ?eLixZgwSlv#c z?TnFuh1dfXrg~{${rfF7GbM;-kuirtr_U;$w6e-0WKW4F@B;*m!l1yh+C^@iM&8X^VYG(e=z)){AbU=<93hrxaNw1*MJ`DjZVJ-bGFtD`K z85u(>urs=c5(o%@<-ws%X39pk+N~*t+(&=97bxt7wqDMg+OS#vi!}h0jiq*8^|LgM z&^Xl*C>G5H4%&SF*6)RNMF5M778FhHyl~Y?c@{e2!X6oZ)hKDlxCV|G#Fg~{7 zA^h^bC*iHy4P)Lg9{uDEc;3AO2;cq(sGoZV1||ZOqE?5X(P5)yDeh#(Y1Ks&xXuLo zI&M7C>@{E&=PmXvj!RikXFu$(VCnccj#)B@eaivT))bg_RW9|RokR%Q32tk*@$=Y2 zBdwr6E~A)+s0U4nd41;g&a>_6468f}1?bGNjZqe|!pn~D2xQA3Hr~uujl;1(@QcT885uz{ zYKsF?DVMQiXt;9@UXy9JQc!{5SenSSw3;EGo9Rbdfs5K+&2|f8)ZWQx=kgqEmn4yP zBh!jwlBr7kQAQa-Fb2ghKk-ET{^_T8XrtXM2Og_!!w38Jx4(^#ee7fMEIhwnZ|APR z?wtPiTsf;U6A7wHWi_U!ZP+LbJRJ*KMz=Hh2@xw#nc}(9LOb(03=8M6#|U6$ijs4H zxyoqVYp=b;h7t5q0r6hJr`|Pf3&$#%%ygD_b+%&%V4^neRwYwxZ;As3CED9%^>Rt+Dnc&ofonmJV5m>fo zvhuq#d*;HqckLF~_p={B)o%jHG$Lv(MKK6uREj0I)M$!AG~-bG-8C*3iBjvM{FT~F# zp2Xda&G4t1s127LlVF*=v#e5|9$yp*h#4Vq1@-gN&v*2Dc&6vG zb;Ej{!-*3UFS0*o#Y+g<@f{(HdxbTmQIPr*alrW5%yBp&E7=`8tN+V62HBv`B z+Cbg!N4wdN`~T!ySb5}WD1Y{EvHRvKMyt)vW%bQ>m_R~DpFf2_DtB_xk68&q#xOxW zfmHF^Jr@UuExdY#eNH z++6LuvjMC;5r3Pp+3Ozj?oYEf>^a<|4w{9bT5ZY{e`~d*O0Zq1fY*~OE^AYeSm$xi z3+C;b`C!k^1+en3|MW)IRxGR>osmw=Y%#IyE3&=qg+kl+?Dny`7Zmxu^Kdkt#$gjq z%-R^NG*W@*mJquXE{~BEN+M>>fl~~8WYZPeX(@Oj%n--*QE#(CVgkQdlKeH6Mr7eC*ZoaeTec=;<({KV_0(3O8k{6<119M4pSfpQ7$2qNP=8r?P6q z0TFq?K+Qwk=c1juDAYaNQ%rH?>JUE~Xkj93Bfw$-u-2uZoep4+g6X5NBC=x!HM**z=7y-Y5aD zI+eVC8vCGFFy*WPX`59mS7QIQ`wNiK-`6kcl05hL#Dq)=8#ivmZMWSfU>1!U$Im|d z?1N*DIYyXO1f}$u?G!>@gU7In;-*cTgi6}kmsIy%R9t!obkbe=6n0UA{rBHr(nGn@ z+YTe?AGiGUr{WM~38G!kvH)Q1h?mQ;Va8^PnD(cu;*&VI+4!gJVG1F~=fe*_JWIQ& z8vx<|nmR)Oi=grE0)VA$YL|}gW=$zTB~=Qu6ha%o>RzGcIc-*!?Wc7AZLd~#>}pq) zFdM+qRbd6NBxocPmx~`61B+>c2Cy>h3bXO=?5~9s>K!qZ{#%`6=tE~?#gGplHN;M- zld({7d`Wu~IfXPrEe_F-0R4W1qSHbnPB0b+Xm~}@b0P~X)rg?W|L6v=2+Rn>JF5cT z_DrfB=zTL6ftKz!p$1&QNMmcdYUNpY=&fLTn($CXE31KXN zTE+EIb_1NY>OkB&@)&;A9zj_2Ol;5yMNWi(mMnnF*84tFF0A{*Xcbl>au-PvDaIjm zBF&?jgOYq)mjaEl<)Mj6G7$XG}VC(;CvpT6&Sqh=-qbZ9Sh$YX?wB@eN zP667PZNDSVod;m0EY!p-1{NBKW2q9zw8Chrj;XP6#IHIPS6=^z7~1Da_~A-mV+C-x z0L5v*?ZdmK`f&e)zrj9z%dl>+3h(2$W8&H|>~;6Gn5xc>|0yjX>D}nG;JB}sTCso#W3m5{hA)SUF4`L*qL|-w& zO;0BH^Xsn1%hwL!=mUm3l-pia2o(!B zr`8LQi})Z2?t6MOVd%f5{Sq=E2eP6CW@SNyg({91~CP-9XwJD@teLF|7)>}DQ5=2iVID| zPP_nM`>IeZVxPVD#vXg@DcVl` z{R0A`l4(WIXMAK7KfnFwXf)~qY$=UZDi8wb9~dyf2mvfzK^HA39pr?IRp*4ly+-uC z*=&eL%Ce=)aORuO5~qYfRfmD4!AzDuOW-T;DFo^WBZjQOR@m<7c`5oWE1d-1B>z9@ zfKv?Yn7Vh}b=QelG{-3?0fI;buy)^l52;eNdi5#{_74cqCS`y#QA(MdUB{#{mP*n# z*I$2qhXJBGVXt__D{$Irr{Um(50>g)Hf@xDZ`iOw(hip`TPENa0W6-ILG=QFwUYPd#ivk-M}?_1N<=f@s?P7M*?8cFXG&x`v`!gdMX|El@%0gsod@D zSPREL=Uc$N@DH%>Zv7Z2C1}Kfq^c39C?-Ik8^HB_)SVa;vanso(qbEfUPGz?QVVO^ zEeN3FI}zN}q=3v7=uk(NL8<~+wEP6GSmB!h)}odH*>&vL3`X|-!A6QLtE*T%o#5;x zhv7T5M{sXAhTS%_@!*;Q7S(s|Tq5_yLOhwC3#*SWE>y6he=&xu{Wvh{!!K$Z@YB)9 z1oT^8=!4gaFcvn@9xS2UGQMR(gPoclpb38w9lN7WbF`Rg69Rt?!Jnot>6LEmdV=aUWJtwC54MmR`@+ z80s}}^6Is8x5thie0cztFt7q&071@o)j|msH^B6kQEYttDQtNE+wmViJ`=0m+p)5} zMreauR*a&V_*gS}Al`HT7TjB%#)|c0cwkK*mi%xMBcHt&t8cpob!Ry$;Y6qX?02AT zs>-vSImBuJY2$X(SwOMH__h6`LV(i>0baX$2-CIoD3%9NYSIUbQ144|(E}T?*)JlE zOIVq@sFou%2NMKI6~pxk!phbFrTq@_0H(armj{sKoj;F(l?PyrPnwFr1g#j)DPXAc zeH9^V?c!Gb+nK-p-NXQxb8RBAG|!gT{(0Zq_up&Z zZsNq8_h~I~*lpbl;Ii!v$EE#$H&*045{{+3NueZ?O+q>`#o~NloZdbsz+~LQ@}P<> zL5wA#hjnORiBm!i5tb)atdGaAs632K=@<&m6mHvG#0A&<5HHo43G;e^h~nxV#TZk>fzh9E5^7T=aKc#1kqUj+^$@3yfK9D9#Z8U#IsyA@R z%000(EnxjU4`S+pC$N95fS1+>u7L4nF4C*xS5EmSraqKBrwQ5zzY2CSZws7`sX#pC%Fl-x9KLTB@(VwDL2~+eK z43Pol`<{Hx;9V+TbV@H9mQ|@#?&z(U>k6-Y8*afctT;wnEv_Ea<(T26ON6;3X?+~O z+4YRT?~K6wOi<;>D$`Tzp2BbLyAMx3@uZAzQ%S>A11uE_SUfa@J@(vF*ii(NbmM+B zHk#^3P_0lbNI=Nz3s^>GRaVMf3}2>mXFnv*L2&SAKl>T(y6Y|@RvgE2-J_2_8gF~s z+XSd$(9Co2ycb`5v1oFU&dYo17}87>d>a~ZVV51;0s?jt?Dc)=^D9=Y#G%iBKKw#a z-Wk(WDenKsBacXbV`oskGG)k!+_sqKZ5<0c_#u9WPsh1~sl1yuZ8j+)lK#8(1KCc; z;>C-xeED+G;8S2^E(eC=oc4hXEQ0g$?w;MLberE6Q&dehjL9XGXY7Fu?L$&Xuzq3#e18BXOkqhs zb(|b*ngrTu6<(=;c37KTMKH5JWD4m`L zsMt<1)vV*BwTEN%w1aQ2zX$7Amr)&QNL6wATl9ZadZ87Ch^W(5pe9gg77DYKf4wi> z6USh)%-|z7X@Qi2puwPz$5cmxZ{;FNtprO$AG?OXzO}aH9ydVkjcutVUU^wa_kC5V&Oo6A4f% zVziQ?RiDHjeg(B?ej_y(@Y%7kIX-e8K#&)pC*=UqmT4(mmK1%AC3Ot)dQyUr@nb@DkkRIaWL>Q*bYl4W684j2m)?D0IJ0TUmX@CL?UGQ$jJ@GvF~ z&%nT&`34@3A$$Wo(vY4RY>=@rHa0evE!oOysk^H~b>&+(o_yZ7{&V)NQ@5+?R&{l^ z)N*a9zOK6Wgnjne;s4iO|N3FCRG?YgKmRa*%}ZP~!Ul{{D-ZANG4TO)yF!p@VWEZ} zzIhyXWj-#%I&5zQZfglqeFE>k*un?an*A;?==}4Gx}}Q-tz+A$SPmSD#50*dQEiDy zqJK~dSC{Q|#q3v$0{#F1AOJ~3K~y$#CSZS!D>lz1>{ip@Q0KYV>-z_^;l*B&4Vn}t zGi?rp`9Cb(Q;P$|h3+C~Jeh5=yA{JC8j)_;bLuVH$xoO8-$ zxAz-%d>+8Pbz15t>i?jUdtgh>o{ z6AJ9GM!%BZhm)hQFE(J2xprb27hiD@joZdityM4u4`=-q)Ey5_47~Y)H|_&iSF-W< zcr9T^$u)9Eo1je;=ekrXhMJ)$`5}1-kA&_qRM1#Y2PzpuiVP?Dp^Akv9Kc!!pz=wZ z_ilIda73~xzVa)-Qo{Gh%#v_MVL;^u8;uYy9@T0^fP{Dd^HozC6J$sxO=B7K%T-Qs53KI7!sqzh`A&3{`bEh zbMqG^+lNX)|H@asQbGp#_q*QpE~z`)fsQnpT>M>}$NemXd+gzte|kPPa&{p>Q-WBw z>)}WCE z!K=Z~c&;+m)f~7LfTea9%Laa#QKd2=mBR`}=c>>Zl(j>sUK z;M_NT1&&Nxxc$TotSm;D_F$U?kt}F|iK<(J?f{MM3PQ~j0BhWiVCx3jfsIaLA~p$M zL?9zc74_?G04%bIM8YG>0W31Lq@i4`nNegAi`D zBDM^Dn1q7LaU%7UjL}IdegN;G#vQNE?;VX9*L4I)au%kHr`!?e@gktE0k25LK;WNq zCj%xgbXM?OYYFpl7rv39%BYNOO8L4}qGBn}8x0+pj!guyfip%8Yx)$7jtN9P1dfj+ z-KfDcc&ohvST;>G!$zwc$fnas#X@6sDc2BY_U)PhuNfms4RmWBMl2UoJq=OZ!@M2B zsX0I=f|+WFI5%nrT$>q)UUst#t?c;GPZRY_I!5cq8&A1Rt;nvU?Bk~8&T>5MuKTL_@P^7aKvw5$*V)xDj4gw z@obdf_g5R3Ei~o^fduup!3ZbX(*%z-4K~LGeHUT?x`B~uF0rFZnNcU&T*w|l&AUtLGQdpQ?J6}4AbK$YSer7yPKP-IYcl|g3k2zu+cB^v0~0}o*+e{CXkJ9U zn&O{UJiP6FAHe6G7{{CMm_%%92rWZ)TSVt31nfA2odAnoA{ie%SgqaDCDJ)j#%h*aWP2u}t? zVQhTjXfTotTAIQ?P($n9gYfS-2zPoEQ4qj{jyJ#VU+e=|!y5D&f4>f5<%S2HcIB8z zdUG;}l%j62`#{H?;cW`ET3=+>>87Lx3|oA~*eRSC(YGmd7@F-|c#vb3npXGTdoPY0 zJ}e9+CA3cPnL7|XW^Qf{k38}Snyr?kVkgLE7dlk^g+s#e$RNwJ)u=gv-!o*70?_;+ zh%`AlDfi;F`(ReVaFFX2Mw%Fem(JKQ41yj6%QUpx9sJ`*KY|MvE)>pqzMyh(ad}jvF&pGUUx7 z$XOHx=I+17-MvN5MaxS|SZy$o0>f0c2C$U&9_I!!u&9BhjJz^HUao$lR z$jVviXbG$+g+5wEyw<^29KIV>-NJj$K8nVO3465%?uaBNWkB*dP_i>~+dBiywH}zs zkiJ3e7`dKJn1f`K_`J6x(pQNr?xWyX9OX~-5i#LfU(Z*tH1s9eVB&1S~wRQ1{ z+I|m{c4gZhV8*#{df65tIH%ewMh|1~(1V9lk%NWM0|Hw##$r1GVYcncFaT&+_w<7d zj%&eWof042&KfGNE1MRyF}uAC-be)u6b)J}gp`)4)R34C{4hmq#TZ%b!J}O^S%Kf{ zpuU!%=G8D~1cgG{*0tEK{xTn5W%G_&Hq`Gy0~8*}K5O+ZH#ZYRe3mM-G|jo0AB z-g?BsKuu(mikpcNQIcmtCsU9%Ho+_YYZZQmfLgW<*S2LNyPv(+&qcT?52VI9ZF2Dg z(hPn%&b{t5G;dS{WZE|Yi{-; zt~LW}F96msaBA4t-pTjF7*Kny!?5#*-M{<{n}M*J0}SE^0lgCY|2pP7q_m8B<@i<=?CqVx*g*l9=$F z=Qj;(Y$QTQ=3q3V3@-Jx=)gOMwA;d+V>ocMZ7jhP^#)oSN}`X&*63Y_9tE<1-olux@qCu;VMi&5Jr|c>Oc=; zV5x&@r4GO9APIBHi>=CL8z|-VXs-a)Fb6uyQh4-9lQbt-*tunHMG4$E#ixGcKf-wU zA92rjyaa1segN=0@D@V&(BV`oXjj@8H66^Zc2Il9#i?I?6kq*Ue~H!1!84NvrkmS~ zxDR7s(Kj~I7!^wA1TkP#p)-46(1qos_`!*B+%{fAuRRCX8-=co;+d5W-m`KMA2$Px z#qPH4pA^wfYVFGv+wy1+X@^3Ngg&>j^VRyu?`JBxqz5&0$$Au>YwAlDV>+c@US#~^ zF;)?kLExC{AIT=MOJrrpAgct&W@=iyjnQKA1~FYjOFL@ex6>Yn_3`*L+d z2zLTtZ3fI-sWoF*|KAOObUAe*AUbUP54-Mm?IQpdky3FMNmr*xwULJqMnNc(^>z%b zx>-Ss!`ZjdO*$B{L%jcVgtveAqxhmbCvo4slOV|DWxCLfwT!w?3H&5QgcQf;eAHG0 zOwIY2nhQ|n_D%$$=LU?S<%G!aEQ(<>r7lbXuw-J>G|bvPRAHi?8nEKL{$#`m711=| zOQyExucTInN(dlI(KAvsD`e(a80(}GGoBu@v4{ZS4deLwUwg+sfb~4Rs?GMZ*Y$bw zUHlw%;zXX~NbBxI{+R$&%ox?r23FSg*{Jig)BSS=*vQSfOGdCv#h<4sTJ4rNIJww- zSyL#VFd0Y?gm+)g->&VzcAa(M;r@H&eYtCrYm3d!&f>XKr*Zb&S<&>75Jrl@bMZ7y$^57m zQzfL_uZOU`b_xYPPaW$;dfPHHQN@fBz@phB;H0KW=mj%&k{u`j7L6Rkz{31R(P3Iy zS?TW%mJRV2X_H;i$6^~ZvnN4awYxvacT~;+$BP=P1f7|=P#Jb=*K)9OGyrJ>5cnpW zE{T)tXQT}PSjDW}-!;hRa?Yje+Bgb~l9{ojnIoTb*5|xQnT1jaVcC!`_us+a%NrMi z09K!2RlEQ)uxL`Nc{rE8Qf@_YkoXuoT|usBx7)wii=YM0y#0HDtOL_d@C8#IY%PMR zg`y`FXg0J&M-4hAY#Vbafujsbw~bNgI8dvi7l*h=P^ap_qHU|X@1H|#=TaeY;b^QL|l1*tELVz^TPK%*HKrMr>#kHAK%`fK#u+ zs#TDf8iFv)>jYgg)~zS`*`i}mQ9&5`xudL@#u5(349;nQrPM%6A4NN>qUi&nX+bk= z#JxzEQQMVa0M;-E7KsUmS*x@Ni>)rEkKT@@V}7idawkBU?a{-2Q0uH|EUn98tC8!*5aV9u}x^u&}PdyBv>*|1)WpFhOp`RhME3#1-_tr2~bMW&s z(^#vf!k(K5Ohon+{@}s|eAI6vurklt>rHq!1OaYlt2E-Wnd z*;-}$UjbBP%P9sIA9HY{Y3TSIq7k)&F1!8v6^nT1WmtdR`IYh`hh6Xa2C(+}Jlbrq zF5)i6Q~_YI!?7a`1F#Op9=e8)G_IiM(eZ5I{il2Q$xr+-cNJDf2U*07FQZ&Z7-T1F?&aLCMAq*!36ulG3111gOJ+VU#sy%&1>};Qh@Dij z)Q)OLgbN4nCF$JI09M~fSU4<**2DK zi;%lRBcfnkUB+wOKjj*?0PXT}-zG!of!DrP7<6R!F-%n#3c7_y9(foipJ7J4ROW1z z_&~812dlo>nAv4FzGkg)Ipce)%1H>yz?U2oC!cvH*K#UEQ3s8cvU8)r76Mr3&!1ms zF>aDUj6j$qjz9*_aV2z^pt1sURAqMhj4yj05_Ug#TM z(kF`@#;vkxDex-a+$glHN)4g_Ew;7FsCp@wt2QRCS@+$)(TlhR&i>2~NLW%7cX0oh zhZ)zvh!!EC9+u%CVhDc>OxO;nK^4#r41dZZ!xJ8#oq6!9>7Zu-hz)cPQh*k&|DksIKYM0 zDq4u3*E}SKhIYUZzpAi21gL<4Y16|oYXmpiBbYKgEX~bhF6rPT+PGjv5=uzF!txX7 zeuUBSF?4%9bV45?rAf$MH%%GKoD<2!+ODLQCVol6q*Mttel<9{EjmWj8S*>_pKf%q zkb2P53j8pVs1eO{ptWL{PVUQWxi$>Z&>7~yCSit(oghvlbl{+ydN6_%_fC%DnGgRh zp8Mth6H{XzrjL$7J78fYXkq!u^GKd(z?cs)_SWyh*uVTdjNbQB^p--Tv4&)#icYVM zdJsXgw%70~Ki6h;9R~0W8>YjapXYOJjN=@rrL7#N%=(xL0ixx0P=DV;c={Lq3no|3 zV(RX3;ElJSb=wF=-72PMyLfi)9M*pCQ*atbG4s*C0<>|=j;-LO^9xurXSS{4u;=S( z1%L&hmuN_xYR-%c+PM9|1b%4D!3AWfdM>PCN{SQQY++J0#w4l;zmvZKJjx#PxRN;LPv`%D+MG~ibOx`>%vL09ZTe ztGlh~)qT3*wHe018h(ZKBQ~8M$^e#7)KwP39RgV6x`QR%2a+mUS{qtt9#700`1Q{` zfxDeHzG<}%CrDB6B&aciLX;s&6Zlywi{rSKPjG?)3yoM8F?Xg9CE!D0J$6h%b4^oX z!_}^_IOw_!L}YEnIa`mRD29ffo=7TS?zB9gC8$|Qx`9w@tA-8BCZ#h&FZ9ui0yv%r z&5vZEe$5AeaUa0i#mmb3MearwN$);OBFb_$SDy{g7jRy8bo!23PE?dafa`L~;KacN zC1h4YhPsq8fG9mIex?Aga(1t>qpiXN<@@4UC;-n;OMb_2CsmY_xzEzMoVWM)|H^UO3BzoYRrkfCLh&|8%b;rV~cjWyUQ zxU-XbZjW;qR$=vFP;cg0GaT(3mT{0;NVA0rA^FUvxW+#>J zC&Jj_!B^?9K>$mI6Y_TJEcg7a4I04wzWkZ;8O!Gl0$63%mHJ&Eu?@`KJX9lRXylCE zt+e3w=f11dF+K|~d*&zKiX;u7=`kiu4R?%<;1EJ&ae&aZ5iqPLj4^H)sF*Gq8PJhT zfj%bEHpXldp=M*Dmmp$jTv2ukV2LeKWFu4nmKuZtc9j6E5!1mbt&4HSBCU21PE;_W z+xVhGccSZeFs-?g<(%PPOMV;YI;*%4wb3vWM3#@bdV`t&hbXSCC`G~ZBXb~a{8jH&6k4!Ti8XuFbS5wuK)nd)#d0~Ost z-Skkk909S;Wx(GrEDL}&VU8h+GIi}FzZubMAl7? ziwp1l1AOX_e*<^CNr!cG97e?kIw6e87)*B(*~3eS-t#0*p3{)scMo3vw(muD=w_^} z`KZ;aXmwYin-NTSJ04+|u&+454zXFUh|@1Z=FCD#%`wU6ErRp`bllQQac)}2$`emO z`=j?_`G36^PSnB3NFAr==iparIP3+u;qz|A>5pH)_`m&e+<5;R@#JwER%0GB@yNE% zKMcTPJ)9(gk)`mdIqOxR^}0A526*7+oA7zH4(v4tb+?LVjb;38V-25J@!-c6JaY|c z;a?A~AL?(b$Z+0YqlyrFwc(YTc?Xwuiuz~8zv_6GEIr}|>bpY!D)-4U)bf;t0$35i zVg^szdDPeLb-QS{n|UZ9wS)_8+cJwPW_Hk0reI!EZK4ao#?F~u%Fj@BRhnLk%(B%> z7$$PQc*6Oe-?5XbB3lBR0`OjL6QBSqj4&K`e_P{|=K9$9b>4@iNYLiWQD&MPogM zpT!80P_lDXy$V)ZUD<7-yZ%M*`-Ob~YnN?I0E-$?{FeaDP6quhZ*g55UUty(3Sa6B z?X7M4LM+nG+=Ud~og&mwEi7DAl(Wl4h2e*4F;n+ffV5h4s+Edpa^;R>iFY3gW9U;jI9y^4R0JV*9SHt_}sT@+dn^c1v$Mep5eL z1FtvC=)Rh5ak!oNm|$+gz+_LuM4(}IBtw7{ zCmK2q!o?Gw4=YS@d~_POOddki>EitCS@9tb9lZgs)uyo=_b?l*;Z)GTT-cUyM3tS4 zY$t|5sqiQ=wP><)jz*a9ki?-bkm00)DRb%Ok4Hhy#iR>L`T(OgiDBKJHnVV zj)Sd5{NdZa4nOtg2k;GV3~;zM1=t?`uDy)^Z*dM!wG(vpQ6zR1hkx=j_=nkf-1Eaf zit3ksIhv7)<5mUj-V&OlF-(8Ge{44rHwCYF!c_*a#MYEdlp6FT7UG0yI7lrA?KFWE zBv_lOp(@crZHykNV)l_okepvd_0}6DM1 zx;^w-ZG?Uxy4H+DvN+C)O`MIJM0seTY3BHW0;I}dmB@|wxi0Qt>4*0Z@fof*fJKq{ z?TVT+x9tBzmak!U!HWgJ+NyoDXQHKyAw0yLiN*>&Fv&v+$;Jw+HCa&HOc$0A8C1bq z8?D7&I5a0TGIy2s7u`khzB%HJ3;F_^h-#_5rNjzV-oKsggd)Zm)Db9iQuM zi7BKmEjj1^9BF@LWES?lL-rhB@N z-CxNO_1S%`(?9X;{RW7&2%}Mm&p&Y-POpJ9@ey-1Hf2Gn1fnoTFO5LG>#7Zm zrUC50$C$ zTqu*x-R%mGZ$`fOFSpgEaR2BHIOL3=nfRCsTKGh;(AU&a3~?o=zUK0CJbeLh#I`DTF4Trh2{*g&V+!I3~iJ9covH8B61{~2HX=>Nn!e(Civ z>lG~8EgTO`_^lKd({X(7*(cG8Mlso`z)V|s{1-olgBNZ?^Mn5lN23}7_^2Bu7Hq0M z9>f3uAOJ~3K~z9XTBvn3)Z-d@mLsC~rj=rh?A~4vtJcmLTATF)ZOCFY%z>vIKl_@n zUy~SFR@fXAPp9Ttn)lUwE|(ZN>7RLfr_j4iocftxg8qs3LjR^a5d6sn-1E-g!0M~+ zf|)EpkN5U`ab^K#7o*(3UCZECClNXc?v5An-8UXV%StfqQ)PM-zrK1Jf0nG`mS`Mf z%fOj&CMj6gAnP|((VzHCN>@tR5#5GUZKwh9wmZ8bN90G2m?RR7)TGhUC88Y<#LES8dA!QYd3eGI5)R6dAc6k)J| zT|EetBtx<&Ff@9%Wzeq~Jb%OYLqZ&lU4$s^ww^mVzO12jIUw9H!Jnb?zn=sd!+|Kw z7*f}UltJ5sDb!#cQwtIN0DQNA3ovDraMDwo|c_wvxp=UmXfjcwI6g z4jM(l-HZV;*{P4qg_PJ+aS?l57gJEmRt@&&Puo{g978VxdrK$N~ zD+8iD2Kg?O0BYHg+wk@a%`I^zbptmYKfYmXzE}XP@-wS>bT^}*-`-nffE=9D%I&t9 zW2vq;Y*%$Rb=*I8zXb+cpbTJ9dv;ularfjH4!N3$Lz}jhgIJjX*T^K)jYNWO!a%(k zu909|&rnNaoXjj_qLNP5q5-`RPUQ|i6E&%RO>jqkFCp@psf#`p8BzRLG;W}aW|jhO zwtIsVWpAgE+=t=@hO8t$7Lu-H8svP(AC__=29C3yWfs*bvLQ;iQwmEmB5LTy zc?5?f!ZC7L1I6?g36ms{WK%J-t7RtYnuEi-i(^JbG`5VPYEH>Qz^=qd zdp-CglQ6>sOK!&eu%k7wTBbe6;iQ9hs?iIjl zYl#3@w3peICZChQU_r_lacf2UZ%hW3ClSk_8z%7Xzr_>p`f=R!eXqvTzy5K&{B6I8 z)vx*@)Qv8ZcyAImS!yBHyQrBOk~WZ5CIB!=71 zZlbF3Q66Wi*JXu9-&VbF7ZGs%dX}%Xm4DQ~|8)XjZPstDgugZ{OQ-fv-TADlnV3v1 zjCC_OOC6+Vm(ZP^hrhCh={9#(atAZtso?lt*SK-2HO}b$5CcvC8yxJ*Kqx<3O^$s4 zYj#2c6HK}GMb^Y3>)`HMI6t}^azm{E z)wZggi=#wGU=UDK-woC|4{`TInS_v&hys-)C^IE3i}6L1!3l; z8E!jqn=pKA%NE@w8ZKmNJ@d@dIDPt*7&N)llPAgPYuy!q=L=zZ5vdN9$(IHi*UQ~n zHru?O&7P5IrKx3A2BCIhFsS2|F}SH?BeA^sj;U#wxbfIAG4A_2q3e-$JLpt2VyStS zpD(+*h4B0iPQJ>A3^I6Sw%hSN*XPASwKg?xs%r_qw6ArwnE|_Tj(s8Y>K!-3{(;w7 z3v2|iG>n=VCbAGOIWhrs)=+gUvGvIkLdtAx6ylF(4a@hG^0D9n4}(nGdgeH$dn9W z#&RZGb5ae}G|#5KrpIV#F(zSen0J&Ttv1?xCkId@vpGe)Q%%4t%9$`cup z6wU+@%-R81sSQ2R5Sba;@KKBNccI!)=1!G3f<9STB-c;^+XXnLo-<-t+(0Qi>U_tp zm5NBc;f+JPxPa`nUyh&ugMW#;zpw+RIgZ6j6XUuDGj)O97=G%^6L>7nuvomu=B$hM z4}KWQ&;2l7`T94)j%~~*8IrLn=p8^aBZOKPi4h4XXhkOMvrc;BL`uLio)A#~Y!)n|?-JQXIKXVcv>U1$-PNEeD z=v6XI`Y|Gc&n20U4Iyh}9~KWKEVRN=>W30)8rXl-bJNeVH3N>xBs?U!7#L?;8HW6A zQ@=LX6_MyI!41rf;HmNtRR1J-rrZW)O+&=gY_+MCY6Ca{?5b}+m)SL3xhU6{`W8dYuMlz#xNXq{$9T)18Xnf)v*3QY_n8b z`^eK-)a;-pDpL_16aFz)45~IT@V9j&YTt}^2QsF72z@Y&XodFcX#FeqxV~2zXh&V3lw}l zxjYRRYGK`X-+h>vn1JVbMTlDh-O%yA2Okv5ImfbO8I6-XV<81i#W>%s33270$}n;> zLWJoPijfv*+m*jn|B3{!Xxu3SPKC!@iCgB-cMk4&jw9JbnZjNbWmN10q~qJ6SU(Ni zIL;*o5{hPqRQV>;r@wu3ITEW(JXW6XBY(n5555&T4hZdITexn_-)B`^&QF&Wv# z6s>?5&X)O)CYnRkx=n0Dbfw6~LX?Q!l#(>rwjJUGG4-e{J=e~P^G)`^(j>gD(qd-x zyp)+6$_Y-25GO|d35dn1yU^icXjEwH!l26HJc}T+nv-S1~|BS^JGG8l$>icS_wCcmXl6U|-+7o7^utTfS~u>06SSa6X>Df}cr zC-Px3gpKSpArR!`HU3V}kI&%QxyF$Sb1Q=tY;VcsUH~rY-!g#3EP;N~MOC-qHZ;th zc>?wC{2qMOuicC9d1VdVIKomb#uQAXdL2=_hMzxk5+{QUtA>tSR});g`3|hU;dc<| z(IC*de({3Gp$458tF=f?YcT=nyF~Vb0u$Nbdbo1?ljP~ll z8$BO}WlFZhOw%O;p@icT$kH@)%}CZO(S8!}vXI9qn9n_)>HoBRQ)Mhwb1`j5V#1Y>o_{wbh{naKx1t#XG@;_fO;kU*BoRH#^TO0Gm{WtRb|N~P8Z zpw)HD^(=#uW$=o}UTFYp@LkJhZpjYX?E7JBKskhO*s+)M{cgwCu>L$)hhfJL1+cOo z{3G!vBr6ER2PrmgY3rqUuk* z4_;qw1e7(%b{xLRcV-x{Z41*=(|H1j>$uRdxugtywi#Hp4`5x#Fa1SS^)i5!p#o?T z5Vmlwdr_d-z_^*96@+Le8bZ5*m~#=O zNT`>k1D+%Y&m<&~4zw!NHW4P4ZOZ4&{6`;z8Ok}AQE!TgjtqZ$1_XuFc`geXTV!sD z!_0(F!W!C~<)Fr*WMLx!q(gMOa&0alO-YG+fn*>gNHt{A&|4#R#n{+J)p$X&!{T7DZ-^(jR2ZJb{` ziR3Ncg(Giu@$29601jy(;2A(SL&LD~SX0NZET6@4Vj;6D(0i*`oCB(F{|G9teg&dq zb;M7cgnwZb;pqnSm%SP@-~Y|XUiC^?O$SrvC_2>?tHBb+k_d^leU`pF+t=1*uPdGv z=%!mS;OF0o;D1~| z_J{u!BZqE+GbH?Dn19R=SwD^tI(dH{4+s_ASPQiN^*c#k|&79TCVjbV(Ge$$x1a32P{5Upt90_ z3bVY=m;HSuv@QTp5xTn>IK=xZjodP;s=Q9BY~<>Ep2L1mTTA_02DKDZO95XBJX0E> z686i?=LG?Wpr9Hb%El=JZj311YuOH%+DyB2Sf41@=V}93Dr9-9HrP9ZY;T6Lmi&iz zXA0d^jFoaH*P9(Mj@oc-WVVUe0D4)1FiQ|+DJCc~S1v`ItU`5%QGoZ_IbKZX?*mx7 zdz}*bzqoS>NoKEA?{r zue09*duV|&fMp~Od@7Uc5ysLGuQ+@N6~6_qs-v5$gz?N{1Qs7k)JVu9p+^mWy z^$3O74G$xlg_`ETX0Tb3p_N3kSs}pyx)Q}^cziC>{>kQZXoWFWq7cg|(AG@!OiMz$ zVut&5yKpTRo-=}qRe`Iy0=iKLjKEpL$V1!uAyEbMN;&+?omPLdL`Vn{{IU*Y+0mua z3md>JhHyq9Dq|Cvk9x4-WA2r2f^+{GzUAM430`?5#fa;`T?+6}65y$|6n_=8QO)Y` zOc#eV4WInjc^JQa3f>tXooNl)>keV+mA4^YT7&+nMV$ZW8BD(Bi&6iPe}(xQrX`!? zk$MFejW*n1o!Ps2m%h3H7Q9i}2#OOQ+*YYD+Q{!AY^=d=wt&WptY4;X8 z;{D0CQh<^?M=3;>e-8p+Wl)Q@5v3N&46Q-CgQ274`V9hneI$E}`F1y86E87%{4fCM zY6DcmmXVzTSev!OPTFP|!)jRlH2)|5j0DwO---=v=s6p!=wzOii>&o0&?3FILNJN& z_bXbW6RJ3OwWBetBKzM1`vBJNdci(`wY&DZl1J|iH@~zddtB$QngVZ6E<@_ z5krMp2P~98KhN!?mG+Ohnk`TUuxw_RqjDU;KR~RnXL}I5%DPA6?0$_=t zvY{cMKM+!sJi`r66N%{xc-0CMB$)=!)KJl47-0y{@dUUEG;Vxn2t^~ugqBh3N<-U7 zp!Gu3Qv*|8T{6?Q(hy5g7wsg3hwbNgvZmaf-EZ8!khw>8Pg}+EIk_K?|q5 zEzE}jdb|fT_yBxp2$^{?(~xEamNa;}i_yvmMy!f}BuXnXjY1J~56wIuqMGl^NwQ?k zEVK&Aj0>U=eiS000C|!#v~0K951~@JKV^qqG>)_kmCV9|m11O~isoDYBO3qw*EswQ zcOrdNjETt_yq1qy3vhe~E4GcpnF|VB$EzAX^P8W<@t1uSP8_)x!Lujv>G%FQusR2G zx{8_4zX>Cw6L|dH|AgqNCO-H3z8k%7|4KYraWR1rR5s1uTI&7U_5h|)rkiatXofMN zS7QwoOGj19;B?xE&z-~C(@&%M^eJ=~7m%#23b-ThhEYeh4Wn9tRj9;3jV{$?53 zj70(1AX9V>RkLbx54sJ2Vz=jW30o(5b& zvFsV8EJ#HMmRRxvb>;5Me%V;qUkYp1dSvaf-)yEeO0N0&p1_Ik}7ha&CuM*HW# zAXWQG zxYe+6-{BdoG|s~uw-8eIDN5m`y68TorU5@q#Ze}pGiogWP7MqyZ2Pe=E~XqCV-zkA zd*~n)@TMz28p4ch%yj^Z3@p1Br&W9m|ewKE&4BKC)AonSqLKqOQ9b*F8*G6--!Fc!q^mrzhugZHmG? zG~99>5w+)L|4e9LHSXbD(7Y>mB!+FnauK7FlPFGm4rAJ2{DSbMl`UB@IhhE7L7I6ZuJQWTsPIT zv)%YyT|Gr)1BX`<_;G^H4K<8E@)SP(jo%0FsENt%IRWq3D5AKHxoUCgTSrylzoOuYOMjy-TUmQP*4sXu-k zFFE>J-1;Lwfs?O&87fJhNq5U~l>sa!9dMEa@%%g%A9@Jq{{BPgedaNYtu`^Gn`mY| zVIHv>1R^8q7P$^k^I%k5v}dX~^s+a=&oWs5{a2Cv?CW5^&46dwl5~KXpGAxvY0j)F{C<`FljDYkdSR)$25Sr)4HGM|b zck!KX?SncsFAo)>qZy^9h%`^z8D_E;>ftI{o*_cuQ8$JK1Ecj3Bxx-ASf;6CysM$+ z>8M%}w9H3@6dgF|WEHei9ZhB-EC3h<^fJ6!B0jPVGcBNgU=sIE9>Yy-T@rLWY_{;= z(lhAU8f-tv!wplm`}%lSdR25b8SW$->uH9BAwit~HL_+5tU8eZR0P)Ol#50@0V3N# zW*N9SsAAM~alom`zr0R2P0>t4w6h4Ki3d;9P}dBMm<+E1dTEG8)I}%i;UiHSog_gk zNks?DPuWi#=Gv2tjFIUVBJla3B9q6nJ-D_D%W`1r?zWTIuxVu&_?a>OOwYpzxxqq^ zOf-X{P#pi3nZoF0a4Z**X&})ejQT$2|K`I*+khhPtm|&U8^*2Hcr3^r9x*#6-&J(4dHZ2$MR@ zsfLU?nudWeW1BK}U=C`;X(VhyzFP{2#~mB4u1i)(BaB3XfU}+9xbkCbOPK$Mk7MC4 z-UI&=kHBp-U>Q1sBu0lBk;kWCc6>Nd0>?5C7&Q*P6+;G92%#|~ zhKpgb+m&Ge$Iume2!J=N{|~$VFoG28uWT`;D@t}2!7PrGw%_aDV$cTT7qnAV*^Vuw z?7*@;DEB2fXaH0%U&k)=Ld)#6@-?=y_0%zGOrLqc_AUJ_`sSO2Hm;wuJpm~#vC+%# zYJHP)yomr;fz77E_i+Z2*jxr5S!mLy|faOI%WaL1lm1Kx_U}@*Z9w7^+Cg-_? zj_92g02W=VjC=0a7Qo6us@&mWXjk7Lm(SOMCNnkqxMP_}B(Rs*!8$T67QicK8s%Wv z`t@?Q**Zf+eOcT?E8KDZ$=_L*t4(DrjfYEEnOWSB_ zp@h&O(xAneg!nOQTM%{;L_T^ML$Cl(k6|P^!za;Q_?j(X&R7%|SG#6A|gO$1ej8s?6;VvO#|%!03ZNK zL_t(;7@Lp~ce0bZX@*7;;bPpwMZbf!AP^C6>VgHPhLB7xjS(so{m$##?FBFlOLT<@ z5>fBUHf>moZp{DqfI$`6z7`~n$w5U6oKyUYuoIa1v zW2exay@2f0Cz+QFnIB+nWf`kW%Se(8_0chmO-v$ek04lUAZRQi30lw`h!&@%Ij~X< z9y3H%4Rk$2fYC~rNg}hJp`mG}IGiR}(<{i55PBSA;vF}l`OY(_e(BfZo`3gk=pH%> z!;hfHxg$@8AO+(Yrdly=1ZmDuk{M8C2`p?L*+g&wyRE~wO}IuA-#T>w_rw-H5eNA5 z_8MBTCJZXJPp;L)F|6lWQIbX2%0=7@W|WGq>NEI;Bz|Fd>2_t)geJS0#I7=c#kpF{12E#qc8YvY)Y(OuZs`f(mI=i7EPk%7EUNVsoi?EAP5^&-|SL)mG>7b83K< z%OC)@)pug!7Vmw#V>UBeHrlA$16Tx-RoM){N@X)EFPquEoAsZ~0J_0v=mUcL0M>3s z+todGAHdqaeRbJM0-k>QX&g9k03##y%L1^-%2-%f!1D5nIK`Yp8P>F4_FG`T1zs2} zpc{JM*j7TF-EJ4Jdey6NVQvYcgUBR1AqTMXwknJMuLD@*pyjtzA(h1iOOGx0yT;3MS^G`-J_GxRL595}nR#&V0L;CHlX9tnW;u%=Vh*^~(sVz(5r- zX7nB=tq7gCDWI0ES;%7cSY0*`IHnuT20Ej*fIW7qL60I(4?Zh^95Srxp^ubo86AiS zT!~&4^`;DQx*s@rGfq@zFyC6nQ^5*4fsY&Q5ll@@;gN+|Jnk=w^GyIth0w9BRA`BW z4@&=qh{Y#lVHLuA8Cfz>gu3Zq(yn3BsbWm`P}NKUC+Ive^p8%MW*Wlqt!OstnuU61 z!pn3#>#U*S2bk~rxZwL(NHeU#K%4qInTBd;N{Df0F!LcnlwwpDW5vXXgbEV8CvasO zBL7~51xlRuwy%EA{Xba;u*mM|JL<)4%``?9B&fM{gpP$dzkxUlQHv88jTY8g9dyp0 z#o9B^!e5w&={l$!JBsRUCtw{qfO@5hl{CU?=)=(+9MC<{H0#6x%$kRWX<)*xAUS^? ztB-yREC1bR%{n9fZ2 zQHCC~{8IMcp}@Ef3o-O0#L`obqWkHSX#f2~z$c%AJHG-`OOd!5LI-Fi88nf(VgHCl z4u}2E*2qLMaZc}`o&Y1%Xv}%2@Ck~>8Io8-b3DMf?!ruLG;Y&1n4C)6h@ckC%SSmmvDQ*TME&SYAZ{Q36>pnQ+8}9RpUc1TdC* zf&w`b&qlV`hB4{lAi8+V+8#du3oL0BbYwO4_9aV5zn(cZvQQ zy9G;(K;c#ZpImPrz`B;E!}j;u2e7toA5I8rG9Z98Gc&UX0L#F_!n^=jCr+Gr;dFrg zn(Vj0ehcIV0b@OAm`S$6JPVUr$Ou^7b=O@2VsqD>EG!yl+#RD+{K%&s79fkq=ipZ! z!Xpb_$sryDu`WA=urPWyV_v-|0iwVWBhjF>=yg;BeTn&skKr|-hEoh5v_JuliyC-f2A>P?_) zTKIr}3Xd$D&eKoi2hPV$2jwo2(uKWS=ye`Fo=lkr}11{Y0K$^Gx^@d2c5$QWKR! z2XJ!XB70qA#54iKo-i%(Sjf3NLti~alnvPnt zCD|Ea<~nUr+y$OGiSA!Kh}HM}16GYyfGm}u3tfw#)pQsKJ(xF)!I-E5o(s*=VOCAp zRZqg{(r$q6N(cU07vnt(;o=H{^DF4BwnaZG(p|)wjWpFT)d`VsGYk~+_fQd_C`Pll zisfz#)p`xCUd2cjqo=2+{qj9%{P3elycta0a~RGWz6w+K+z$7|QDHb5evGQ+NLIm> zxQ8n2d>$=rc$Jwmp=QHqHDQkcFRNJi(vc~g)FS-p@-n>MDD+C+y%e}BdR;~4K>o{+ zQF-qS+m;n44^fmKO%o>Gc4Zg?Yp>AzUIDCO#OHy0E0;W~0W3>!y z4TQL-{!aUNv+MM)TZAa?X2W#146LodD=wwU z5C+z;dMUfVpG07w-S+{kYim1fd$)Z6Yx|d>`tCE&oW%6>^koBByw2j{5>{4LaNBLS z$?nX6BJB&PSL|11zXd+~T0o;tNEd( zc;d+?5C#qT`qv77U430Rn|sO1_lj|VGH(lZ+a_0YBRuUa98p9>_OKv zfR*UfC?aT;YgCDLQ4x}=G@V4-NQ7F3tY5<1p>|RZRPj7LwV2&{jeU1JR_GtD!? z<#iL~tK2B&fASqe1A)LS0IdFMnU9$Koc!EKLIlavA*{ilT<1dpSou|z4p?!Q!l4%? zQYoA+5#Z{(lv0v?g>!EjR4p75C@^? zOI0d00jz@d1<~-z45D3@u&uHzLIwg@5f-BamSIR{Glyd7nT2uF#iToey5r$qYZQNf z;VC2|E?zo*1V=ItD^V8@t(?Vd*uES#v+aiBhd zQLidtdt*V0b{wLUgyPgS{jGYqX20yMJ2N_?oJ3$x7ul;m2{9fI=U7U zuy6y3U{w!E7{IGnk=OWniG>Tv5^kHD$Lx>&G#-2OLpbrSFTld@ zJ_he03+Z3~7ud?HyK%7F0br=DV ztptdkUPABT^9Y|?0AdRvLnb2&c47;At7F7y)iwAdIwm?A;!cclBf^RwVDeXAg~s8GFBQwSjqh((4Fu8@I604t}7?w9=**l&RsSPSHyui(ptR=WHv!ozV4%`|c2jW^=N ziQ9ASt3q3ai!s5hM<0C*^B3n}8oD@PVi52G#c*dhF|+N-=ewlCmlu4VO3jtir_U52 zEnFfa@8+%KQjv)yhGLG{BL2 zZ^hZUbHG{;sb%8u!6P{T*mJ0v^`Xs1XH~N_1c?ue+9ZhvGd4vVDbG~4u9YJ#&lhbG{tf8V+KrJx| zI;A$&^PquMW?(UF&`1O5bTl*_5dp+hLsd^uHBy|YBxq94h|D6_21S9XNmQ{td0(A) z1!0<^$7eSP_Ug!z2zr_btW#OjP_qeG|@-Gn-(Ni5R<`X|O2XooVRAG3s6gGb7`eu1{c0cc29+;#L=7 zw};Hlll-ucGovAex5-*y@*kFq3oBSoLYz%|I1e8yMxHfM0s%9?^=r}xLoL@cV;>L@ zjoMNfgh@t?E7K@gSqwMJIJR?EV-L+-i>46f<~_@Rl8P$0+&)fVecPflWOY6BVtF{x zxozk^YOW_j{iz>Hm?-N@W)3wb<0{*?CgHGQC(jOSR~;m_20!s(M->Eq7n(TQsmuq2 zRHzHq3nSFpP1rZg;NrzajMWZeYCgvDM22N!4)L3R5}%p<0PgzvZ@}oUd=yX32e{`0 ze~4`4FzVe5sik3Y?n$iv@q_UH@NZzwp9KyZ@b9goa^FEr+*?Ot_H&FVf*JBv}6VQ)qqk zB(NO9`2X2^?-pb(>pzZyF0V9%Ux_&pr2?@A-beKf8=>6tI1bqNh=>>TIlSGFdjDP@(kmXKDPEH_)sC zt>P->;$dZQKlI}-GW5ykFej#jmV)NR*t&*mm^)b}Q`a2iRQhA#?o?-3XeDV;aoQ9h>-uQsKS0M0S<-rWQ z53kw#e5NtYJO4=7|2?w9tZXpNqL``(dZmUfS9+WKSrxM~MFr4jJf^b8Nsl38&a~_X zK&2+}yMt5rEhZoKeLe#^fveK{*qd{+7r^R0P6}W>?D)L^V|uM=d+!5S@Au8|A#B$N zu=0Z{4gKoXD@;the+i)iuvWzbYh6hQ`v6vc-1{~95%__OfMF_$!{p=yXV0FcQmLwe zpJXgGy4k7j-o3;1Ygef^>KKY4AX)L0GdF>($ciDXtgyd_l8`nNx_(*&P`i2aX5!5y zQ_~(p&-Cwy9VQD-W$Ww)V5Nhev|bjhN(W!PgW88Nz}~}UzpttvWdN(}L!%JWHard; zn&FmNV`OTarI#;Lot$8DXq?4Yu3<%cXA@I_vozYF%k1GOlz3h~ zu98TKB@1LS3>Su-_<4nfnDmE)R;=PvFbm+tbebKaK>84oq7^7t%4nuW$7@q>)`;zh z!^aP^uyl`8$4~Lvw_c?jm(=|ge=lM4DZuA3W?Gc%3NjKxk;K_rh!OiLgJ6hAY3@nzZmMY8}P0F#saO9}%JAu!l+u&waqYUytK*FY_}sEVdps(hNaUAeVQFtX{(D?foV_U_2nyg2dYfn4lt_|yixL) zZMkf1+-2o2|F7KIe4QWu??2D#-}xQZKKJ9C{e}OH+QvHD|JQGG>tFpArq-c)pv=f; zk6^yAA8)dN)^RB`eY`@9FYGUo8=Ja1ce#y*w1+TM5>CJ45_)a5o}}LMy0n8>G4Gn= zIu&1|>L$!O@oDocjksW8m^S{Vk5MY1`!T`AW!hi6LHm_u;!Oj?swl?VR;SKzS!ZZy znvK6$VfgQD;1&#)i+3osOK2k_44;3NnIHWTO3$4q7#Wf@9xB!XmMimh`EM8s)D`e5 zHDNdP2(K9M3D@LId6YkFFS9IJF@1}ALE5P>9p70};9mfiblf3ed@^jgKV}i}?_MPV z^xuEU1Asm#fF&UI-WRa<3ncYdP4^+~I}7k-!KmHFbG-msFA*Xgmu2Jrz?f0k+>-c0 zp1)m8;)N2M1+~)sq<~v50Nxw#6u?Ta?;ZCeLs8rPUgdb8^|YT9z)J6H!f1Z5JgiOZ z_W2G_wTp~X#iH+l_5L5uN4;eqz{-zkAHd3wQNKn%0{^*0Kqka8kqBkN5Jl`iaDXGn zjw)H9D=FB!FKCfDh{5``D_0fZB?DQ>WF(Vh83d$M<#!vmWH6&%q1^#u%D}pnFt9Q& z-0UD@HxMgtkhdEG(?_^*aSkW8DF}0*J0FmFgZMzXW=K@lIP%nS z7B`pJzPv`&FDgl*%zYH+s>{Faq!e37S|Tpb~hNG8ewXDhBse*3(K%Lb?OwC zu3S<#4jf>Y%H?~;+@lJa7uTnNH)3H!}FUIY>~aj#C}X!fE<08M!QbSuVWc7SST@V zk1*?uF;*O>VL;1ovh3BBdHQD1q^Otp(SuJ>Yi#k=^*L_QR31uYyTIbs zIs>J$YC~dxT^69zEGSd(A*-mexJAuiCl$T;bQNtU>Dz^M6h@SFlbYXQxl`w!S7$Zs zuo`!$haR0MqFxv#_M?OmBOYa%MQECe%j1csn^vQs+f>a06{Ac+D`IO-Vk@s1c!K<@ zNxm@H#Dg(Z%sN3)Kz5R@cls&GwZ_F;hvI6KDut z-q8Z}9xPj?TGVO#9-3`ZYzdfUq8Y-j4f_!LY7M_6!C zl9|%iGy=)~X4#Ck`~)}<{+6xdJM!Ge7=DQ1`8c+TA9}bVCp8=j;UMN+osF;GW9fT0 z8C?nJI1q+4O6D+ce|&@Ie{YDn596*G=YWXvKrU;X>*Dxt<1k@-Jwt(Vtl>By%C*qS3#IupZaw=v^GA4`Ag7sSjY~$EaVUAA$dDA`snw#fk@3 ztKC+B*70M&+3&-bux@w4!_c;NyI3ky5n$@d}wdbbk72Y@T(BayticVl4n znosU#M)}}?;hlGGHzrlOQkV`1da38x7k?Je+6@f*u-nQ<8NhOUjkX;V79zGAtDO1# z4{`nG4UP}auvKrfd~2DZxTs`TdBwDKHrv}A``9U#*H@{pZc_~lSb?ds(kU=Vi^(}Sh~4Pd()+AmC;;R0aIz#yhsme#%)eKdy4t` zBD2R1aP=z}DYeCzSV6;G@1I0MD9i_y<;(Oae5``ocB!w|h~1deM^175?Q2S2X9PNq zRZyT$p2x|fj?;Y!VZz4}GFB^SQ5Y<6_PMhxtu5e{JKS8k$>iu1jjbkP0d(f{X%?3k zaLNvsu3qHS=~HZ7s&nSaGhDcIQL%xR=av!%Rv_8_gv^%6mg9`?*Q36k-S!v$;@{r+ zSjXG>U3oR_0NzQTR)}isAFfhxYdCb2)U;3@V5=1o#wHG%Oqv56DU5T-8e`ZTK-UU* zS^@%D_6@fD220+i^0Zp?BG!GA?XZj+*?gul!;eqT^4h)c@b=a{DwQdgECaU?GqF~q zWK~SSA%@^Zw0fKd(mgdvZLSAwgse3+auFsaI z(T+{RSY)dLI2(jkv&*>9lq6L7(&=^rBnUX8RTMi$KrxXXio8n!1cH!BM#UW2d78A~ zVfR%ML+n+wyayns?c_0N9_B%lURRKVFzhyg&t6YCifH&Qu`N5p;uyWhk1TFiXr7~v;oaL$(>$0PB+kFok&ciDdRHs)N1L2HC& z!C=d;QN(A$wg^3u&<-)bw1G7TV?+=SjQj z-QRA1XJh)X-*-KbNOikO0n&3!$D8sqHJQKvUP<W7VlrPv3s-gnpa=r`;GSotyS16cVn>euK;;G-Uad^jMvLQ^+scREVaA)XxqUMX;g zm}0TWk)uaBc<=y*nRsR?sRtSx>+8(T%_$&Du|&FTs=T;m!7HgN{ZRr+$%=Hqty?#f zNlka6lfK-ub+dj8>F0Y6BD<5EED)8=nv+t{)9-ilzS^E+1t8%g}AL`tH-g zmSk81mRi*gn*r^buQF3Pnypsp^GXzY=p}=wsMGdc1=N%}Vh)@zumr#g^v5qD48_~W z4AF`(dw812i10lhciUrgVVgpfcwuR_c>f5KK{5=209c_Jpbr|%oZQEHYm<$OYn0rg zlI3@;&=s2?H9i+hEYI-p_Xiw3c!Z$k)7fs*SgYgE>NgDl03ZNKL_t(;cPI)R;iF`Q zBH9u_@39pjjY&300WngbPP~us(F+J7Rg?g*OzM1{Z-?&Fv69$&Bc7zR~L}~YpNFLLLK9Gel?)sYT$ek1Kopci8 z1|1GN7KbdI(A#3w-^L9i_7x`;(`sg58WGQyq5zc;P4n^e4o%&|BjCc)2JI+dJ8Dyl zLt2`JO981Za>e7O!}C+a++4oMLatb2yede~vUxy8-e1{O+;^n?RL@k|LU> z7_r-l{M;}oQrhX`Rll81zJ!G)(#9SW=iXcRQ3bHl_fnc&@nKCf55Ti37T)qU)k1}+ zT41|gQ}@#;+AK7;n6S!lZ;r43mA}T=H(#Z(&t&7jJ&$p2l;e@cYO(#8o{IN(n1OH< ze{Pe7FJEH&m3x$0lAY3`;robW&ow(#?Fx=oN-}YdR5;i+;hVBVFOr_9AvMO0yx=zCc9Xv>?))m>t^ciHHlZ5xqCdivi*Bj zLYW1gWSd?l*#pe9v|UMpmL4mO?0xE$P^NX$pFvkbDckHMFX+mh<+Ey~@_-db?*eci zzYm^CQi0z16Lk4{^#Yu|1K!-<$ zIeF@&O8lT+^kV+5X=-&y0IUlaF5q?C#BZnT6rbW*$xA!|xDp&mR^9JYxKjX2zDZ2n zZzX`1@4_M_0)P0y>(QPlp(mK`Uw#O5&%; zP+6@?zM&*muIA!eF@dIID~}}c(@C<`38*4qkpgoBSc#JMXet{eT}fp^TIi82yH)-w z;<2PG*>%Zs7^=y>G+;Fa*L0N>O-@5xm=Ys#AIyNj4)9&srAUP;D%+ZD7wWQBFGkuX zu^lL;R2&4vg@|_8Q65pA<}(xxQ1Bg00rk8#J{m?O8Q?S;MxByhRPsAfUP-n?0X1Y5S3tFn-BOwU?8s3* zTb>?L^-YzeLD)DV6tYx8I8!Wol(n-FNu1iMm8O*salC> zu>@{co_u0dF1Z^eJ6e~zpiFSP_x({lui-!b>pRkrUgBUcAki^wrkgHL4U};G4c7I# z%0&3$ufYz%-3qnw_B{n zu&HUZgaIb^x?NJn>!G0`YN=REt)q}w464EiODmvjrpgK@3?a)(0IbC5UF4D?73_Kk zWenKmUcDOtEAO7=5v=~S7+C3f=MhWu01U(JU`>ou>vV|f9YzXeT;HV~wHX;1V(FW& zapmv*0-N9YkLaHmV)#o>Q#?9Cv$a7dZc^4Nc_I8${k{>ksW=q|+C|pBKF7V^y}-bl z!%$&@jd}-fG+=Xcn?a{UDU9g&9Y)WeXaCRs6yq&f{@KPy0*{1^YXlwBol)3y_9hTT*M>iqj2Sb0tG@qOP1u<~Qw2e9&E)UVNx zKtBTaBM?b87u#ZVbX0lO3=R$|HdeZ-B`-%YU%zqf2CZfbOJ16BOb`Z&wk)Q+GN=?^ z8$%}KVSs6w#4`C6>VNkoEPh*8uUx^D)zr+3IDI+G8D&?HdRMMe3ifXIE}M;|7qH6y zou+3_J+acC*?nh$t-X%MP(JBL_VG3G_mGuRpttLgkNT3^pqnor#e$^NmHE_BeyX4(m;i zQYmI|rbw%xW3KpY%y)>6222*GxP57kf$0(xgHuGV#@x*t9GTh2_TnbE!e%KbV6JU8 zu?I}1#wV5JQk;^j2PR*mLrld%KitSxL(at9I8($=YM zM&~N%9iP&HX_Ya|zqOk9?sTAjcnc>SAX?NI*k7hu_Hi!P(7cG&h{MQimCni{ji$r4 z8L{u+G>(`Ycj~Oy>R3YuaThP5Gmbs&U=0|wS33mDP;hiMS)+7%n33aUf>ubyonY?r zTa*_@Y1(Uy?jOc4ID`T~&TSIAi8NG<-lvaEa_#mFD&7!Q?65t(%*?=kY|Eh~61#hg zSemWkA@^PZgd#FDd_rA-(?=&OjsNlAP!nXuQ+-DkvInQcx-)>ezQ*CINx|%(86J~X zkxz^sWW1qMGdJ06yDYStEcyZKLCjXH(~KhA0NNuJ!pJ0$8yH)OL@y2!AUO7kbe|C` z#)unK3pyn?WW+OhYWxsK%pp9Hk#;9Iv0>opI<3fO+jD99E|>g88lK0d=TVP!LPI7z z0v=0dNRj?lkyU=ltSLXmGs=h*2Ma?JAFojb8VKVrnK&grL;@yAkpv%VqSWmSRiB+< z2z*dUb}oRG!=TAq=n=oIy-MEkKPZ4Tgu$(-MWI+>psvwyo0RttV=k>Q|1W=^Z~W6= z#C6s<^B2w$JwMD^Nr0{Woua(z*Iu-)Hs9 za~w1$2`dik?FPE3DaO>0Z4p!|aQZCI{#SpI!V4d#GBk)M#{X`heC4FQd!dJBiMN+d zLA=x=pH>jl(u8g3V8tOuB&^?@e&GYQpS-B#0a&@)=OJvF_WKU-s{1VNb&L-RpydHr zc>q-&!zz!#n7y{W`kG$gXg6R>#=P=BWogO&R3`6-_)n$d)hvM2`}+eKPJ5CTseZG2 ze;>xg(#=E)s1iq*CRRosDBEYVEbexn`v6wn6ZROt?*mx*!R`ZC`7!F(=trO*f%_4V ziJ)O7nU>1sGEY45gkodK%TXpR@_DILrqk~5=9_Qs_+trpC7Ft3B`7s|7p9jkK1FsS zRa8taF|ifXU(e;{&0CoAQZ{8ml&s>X09Lw+mK|(l@6%o^tnA<=yNZ^jkEer^R8p8V zcFztx`T*9ue>!5#z&aYRQeWVy+2^@@=@zAi&w&>Y^Y$y(5et&1UO2^-OPBHQ6)+EY z9GE`H+uy&%U~vG~U*h1Wp228tbM^8~MyIA2ADiIyuf4*4>mY5-rE@f<7S=d-F*^**3@|b?#{BJhyhh0I#}3e5+{C-JO)CzVeSRNip~}jYJ2+N} z(s-G-F1*Z$KEm;*PjTnM1&*FPfiLqx53as>iIF3-bT&4b*f-7H>vJ4BwvTPSMes_4 zv1bl4cj+!CK6Zqq<~$3F3p{z|DHgsn&*-zm+`6`eWfVC7+!-!@;}y=FKF2Bzq9vE+ z?V4g#nTFG4mbKY`d>``*_n01?=K7sG9RBh1EWG|2we{;>zkWcO;Z_0d(Xlsqb$C$LiN-rjm>4o zD&yR}dW+-Foo8Y77W+#@7B6jJ?Hi>yJIv<#Dzg)V*pbPt*EbkmvskDsarD{aTwA}* z`O{BxV*cXaCJcSme+AtMaLNR@Z!n(BJW8=cGpJ$NE)zwl)*GA~n_|K&(b{S-7cEkE zBUb#7t;nHmR*20Z(8|OJV``09+Oe<|HCxH53^6;8+h|If3#Jh=NXUpDP>lmll!keB z;4lNiXf(t?JERc?)S`g(&}F&PWVKmi%k8kNl@+@xGKCqK$o`BVCTh7VD`8j>Z>uER zn~tfZS&m+yU^*&Az2=DARd|8jWE{eJ6v=D)KZ6jZz?JIrgk%w=_IFW@RoLb2e8cTA=0`gAMV;?Pa(e=Hv zC+FS2yzlcup9|pR>>#)Oce6R~HcrYrHwB>N0C;)($UVPY0B&ypHWwi4o_{X`KfSg* z33K-PcLTs=3@o2NOoEthlO3~WEiih4sq}ny#;AcXuaog}Iu4d`b;`0zJ+fqsot|q7 zitWbOO0PSu+Xt}nTJU51z7JsK2fGho<;SRBqaT5O1Tqm&)+q^9S->iJfesH3bN1|6 zs@1Bhn7oLSNlC3%Q~p@DZ{JR&Bx*%ojfN1XU(?W)d8VTHOGcw0pj<8?8DnnTY`tYr z99`6|J-AzNC%AhE?(P!Y2G=0L-Q9u=!69hy!QI_0xI=JvhcnOj)m!zRs`F>p{ORhc z-rakzz1FqvyE*8)z~MTm@U|$sP*=t1-!haaa&VDV+iD;aDX?(UVp;R3n+mRaR`JV^ zY+d=MH#^0{rRAUz1PiQx4GjsLFk?4VgAm|CmlXYQ$ZNMK2GfK0aZSvjlV62IChPGp z)<&mOP!LGWb`DK>f^2*L&t08*9iX9AQLJ0gGu_-`7v|_G8(7kyYQLg$tabEEjq0OX>+sX&1C6sx za1^Mh9i`NmWez7qO+*$i{3}(-wz6;m$-DjhwdorYRg#eJgT}MbKJpHu;Iini=tz7bHjwd6Q04l7=O&Ki# z3!cNyA*3x)idpx_K2wK!%`%Z<7ALd+L443O(Nz2o67ht1q*8|YF?K}VlE&iRDp7$+ zzs^#zUc4uyERDT@lih8~RWWzTUx8%3*Px5fpvgP}BfiJ*?F+`PynElU2H`>I6>VOv zO=LMJeE%!hb>vd3pF=)vN4G>E?b?{j>5jFJ5ro7zP?6NhQDGL3vF-4J(}W6U;irOgt-cfMz4`5^e?wW!f>1Y8Xd@k}A;G;C_-K?Z*VH}A z*4guV_67MFAk`*Xw=Bx_MSc&8xn%SZUw9~;{Dp*zO)x^gV$0*T|3#j9LOS$JzrR(+ zJd$0|goB9EJ6>=v;SQ1jA?Ftb?dEUzygney?#)lZ{JADlb@2TmSal7kSdY&Qmb+ee zFl#!s>Hz$8kPDr?vPd1tjpxuveypE_+45h6VSiJcWFkE%zC%gvFe^$VMX?&{?&t=o zkC*)Di-qO(VS@xUMq{rUkN@9d)A7F+n{yco3t&+!6I9VRzrxpB%z^37;!7j6* zAq5fJbXmBfuY{S|bT`xbZ+4!^+r)x#)*iwq4h(PGpelq?jC(mDlj;xYyN{KL{6(i11(k7?eo zAOBuRcz>koXRf}U;(ss)JZ5(FZY{sXYL_(MzJ29uzo7nFHMzS)G(cXSAJ8=6?T2mW z9yxR5oXTow1{N+PKzetf8Fz>Ju#MaKsq9lLx$M@`+%fWdl)3z-iSMQc+rF!|S9;pi z>4PBLj2-M4sNA7+)@J7kgB3EyLrmwF7F2>E*h6gWpL|4@u+3WC_h+E^oI?^ckMfn^ z?Uq`9^Ok+}v%7u)kbrxFzeq#ENup$rCuL~qafW06d{XTSoI2yEC5VjaPKf?%NbA*pn)>gvGY7q>&|=&B z5vZIv_`gSo|6ZavW0xdPlbdai*ogN?U}a|7vx2Op3<?JHas`F#Q+sh@@dLln=#)%=?_e*@~w%NDn(Xo<-7Nu>=@ydVzq>nw8 z;#iKAQ0^UCsUceHdP2chSgwG5IP~{%d_rD7WHhL1>_&N}d#7ILplv!pswKUMs0Qk5 zq4B(h+%^n!p4X>7!EiO@@f$$?!*NXxg6v(6ve8@n&6u6~&QP;<;=`uVz~6hz1Ax5kPmi<84FWBSlkYzG0hmOV{u`v8bHmH)dv4ZdPKOg~Wl zz3Xu&hMA4c<>}gDp!<`h)-&Z)unq%u>8~IVx@av-#Od1!X=q_c22S26w6=}+o~vr2 zg~=UM#l!oz$i-#Y6boK}a#nk5Qb(7~~oFefkw+BtrshxhhoL!$^#wPA& z$Q^c`te<+j5uM!<-iEA>WOhv>e5-z!hz4lGdQ5kF+nKZM;^Jj?ZLzLmgA#e#&t_5 z-kas-ClLtHgVLF}qotyW)Au;wb3R1EyQpwFPp@kidf-H$rET`|z#Sq4R`Byes8Yi6pVHjUBX$*>X$s zzDF$IY%SMO@t@XGr0{@6Cl#5zZ^CzeSVU@6;{W8*HhIJ58|?VnQ%;gD6lG-CBh1l1 zs2*`0Jb2%+isSE_bSJW8Ia>`3lQLx~G~6imY>jrWQ7kaT-t-%ck9EG;P-5)CghL+p zbq{9R>`FDKaHX6SdBefqY!_XMon9qM1?coftM9*k?vF}8E1;kI*!krliXxX^LdzY^ zKrue9suW*@2$64!%$xsa^!*GRBqTf>?)hvT-a3@C+MR-P!1$0sFhkd^n&hTl0$MM@ zV+>#z_>ARptJ+>dxxkVg_-X9pE^ zp{l1XjF15Nu?{UWSfi(LAmqDf5R#ThaYY_C&71PS%^z_BZw|;+3{&N>);A%r?JFiz zmOU(qnCFEk%WspuPVfs67(kkb=l3v+fUiGlnfDuH7Ev$9;KDB)oDVKOP&%*K0@7y_ z;(y$C`A4%GSTNnwql0k4O9oXM45+55F@O7%DCY+5H66ytm(=6^^uom?02+P2acmF2 z8`BKXr=pDiqO#l!k2Cg;nItAwWvn$k1TJHRpQv5aMNZ}dkEcFh5d!|zp<<|L%wk)5 ztlO#Q#X3Geh65_$-G2gflDH+Cpxdn-ku_K)4q-B~4%X8I1L-lkM;*F|3GT#%R<0*S zE?zK@fpT3f+9RBQyoW-sn_}7K4!%}qlCte{(tAL$d+4i9oO8Xj4L@0or+aITc=D2d zFb;(LV#X{?>M5L3!U1rS;WFG$zK52rvP26px!tT-ZT1UQM+tXc{6|t&{5QltLvTt+ zm9#^q+m$4TKOm>Hl%bbBeY&Vt!i&SW)iX-r7b_z`p}iiKIwLFVAA};;Vq10e-6clu zPRd7RU{QcFxXyk}`PJUO2Iskw&fS5M5Wa4`Q|o9FIpQqYNzpy*Ie{1@;M1ODRV<1!8lZ+qtmwtNh`&Z^g2ctZDEdoA&#LmXaX)7zQ z-MB?UZg^h*cka!OJ3q@sQmtY)VV=6&lg*akV(m0R9;J0-Q6_Yk9W#~7*{)|Q^qh?C z+OI>~zhvkIKd76kUlDeu_eT;wFdaMZkR?`=k%r4gxcSx7=lGo?>ZXLnCaP!RAu$%$ z5VlJ0!JtPK=PX0*n|OEk4*ScLvdcjmzH@fuXv>>t*J6KyUhE3(m+FDbAir_8D$_Cf z&SDLlh!hb%#W9|x=6dm(<$TX$#MX7wm%Z;6;b#J5pc?4%tBfQ$bh0Y-%;b?G3H{aL ze~}*wac{Z2quJVy8ppiUUi+cw*q_okSPCS@u9iLS*(InX)?S}2;1Rg-P@s|r5i@^X zIB%8iuF+R%=-OOf9R!4KzJ2|OpOeW2o>#8oG^F+9E~}hjoZzg&cakycZhHG9_hf`v zdRXT$bCxTq2Ds%+A8z3=;-IG~Lb5-50S}zvgj_eTa_4?~@bNZ(#)A{FYE0*OZ~pPE zY#QWSIC5N4m9#uhII6MoWxe#5c&wJZ8E0hb6YsWyPuD09sp7x1(e zrghOaqC+y z>AtVKw9vRS;B6Vn$$QdL8@gfD<9a#G&ZTG#IE<2Rf4Ej>njbvj3Yb`7tQD4hirc}_1|CyMP&Dr4O~mw|%3lcGx8Cd)O`3T(2&7iGSpgSM@|&I7BQVX^RU#PO zGZu+|^vMRt!Ssa_wFu!+y zw@s$N$=9dfbRrYS9h$eT;aue|yQ4zA%EKB{B0YDN0-?mDdjl@l!~P2w-)n?6dl$^w zHTdgRxGUX$ovqr93-S%DZ;@$KYnCRU{&;OMG4j4cQ_d3VTQAopFd$RU1F7>3$nB4& zE)EjbBOwc8M+`PQoghzT`J|Q`w*~HISc?e8dX)E_KGNI$a==nvQWW+He(q|Q@L@0B z*f768gn}OpS@S=EpKlJdLmI}}^=%jbXZP30SSp$O!V07Ayuz#tj{!+x!k(kPdQ__( zVtWTXT%zbvA}@gVFAXV)KpjWd$YKOvjzSkHi!Bc@fW^T0XnL(N`lx)bw`#td7BBiY zhkYFHHEN7*q#r9p#Fh~Y8WJS)j1_Euqhir_BOaU`O_G5YaY6XuGhG&+zN1{?Xr%wC zozazXw0$fPE)l+?ZtCKSXkn#rNFMRTJQ*+{vcqbKIg!*F-cHChe>!QxshFJ=u$DmI zw~yN10rWI2937JNTyfmT4Yqr~q2)Z?CS0v_1%%0Q^}o+(*!#c0??*=_vFJ%afmBkb z{fz_vak6v-61SX+a4EXfOWh_Z%ze)j;HQc}D1CC1Zb0I}<0%!?$m=+q)xAaR_^IBK zmveBhg{@G-tT^!6f&mob$9{P0x>pz}6s^c<1t_znb<|xuQom_&^2rnEMbDSE*HY^B znks1jZOgR~s&}PApjfeh&dQFAg6hoRl`>2>&iW^$FvXDgC(>X>9e(LrL$ASH0EZ0Z zIeex`{W1^f*>3BI9-e$)bOtxUN>}VXFvh!mycpqy+W)eUJ$v?h%?mAk5H2D6di1aU z!608~()ixOi<-ces4`OLWZas(^fe+Ttlw%`Sr(}`e z>I`RKuzH>i#3vHUM7_{KOTKw=`5gYoh?RnZf&glT5vBqy?NK0=-Sfs+ulI$T_l3T1 z3Ka814M)!9(Kr6)ro3iCj@NOMNW1Y4SB!Ob-nU+kjhwdrATGM}fIZHacohvh&sfjC z@h<_z8?{m5nQ_0-;)QRhD~I>)!xYA=V(GQwGeS^K zsO8m_+FTELS#qAXZ(b+AzW>biyh3TeLfF)1ILa)R`N}>OTlHwZ@$Ap4PVBwoMjHh%;&S?5w;wA3;iYtK#yZoDV=*Q5PZ~{|>YA#P; z;NF5^{RCs*P`ULD$3XmqH@LSGTSn)?p2NjHI@36_;2#L*M3#eqiqM;=xkhI7-06OR zuEl9viB^lzo`CrBuQ2=x{5A;p+?{9Xp-APEp&@YBC^;Qj3@q4hws3Q6J3 z8(%R3-O|0_n*8u|3A{}}OFWrvs4}5leJodz**E@2M{XNWG=7uJ5S25lf|kj|MC`Q= zo~d!G!ItM)G|PIwiVeNr-1MS~igs;b*!U??KF~lZL!@nlo7NHG21sNOaPG;Ev^JM% zE6g+|H&;RDrwLtbsnPf1Z2FiJtoNW%Plw9JR#7f-0bliJsu=@(I!b{Ei;6o4x}A`_ zXEZ@0@b2yYl%Dr&q~s*&&d{AzrFA;rKfFXtF{&>L{$Y8jM&X4+Zj|K^@G(tv{8>ew zZA|WM{Vwq6tZA-Q+0{6yPJgqiR4@S})jq2aHAKR;!-euyIq+W)zc`V#UW5Uo2AQ56oHHMFLKi6)z(2!+Yyf&`NJK2}x6w z8VeXR6x9*K<%v9i@a@iR5Pnc+&NRBRQJ$aud96rS++0BN$p+~>}z%Ph0%;^8$P4R}<{(v~F zL&M>$LTi4_3Hntmi=03zG`KaL2hD6SHNdTCamp&yO_?~v@UzG5X`!ieVE>uFIGvz* z>|k|u_4T>>qjlvMxS-JA9nx$zr4|2F#OBA4IO58MUR+WBH<<#2RU8s840F;UO~|}R z@tmS0xHb3qjQoAh@&~wg+)Bmi%($zHb0|)@D`BtAgPuGCcyz}XFXR>qnt*@VAxt&u z3cfdvoq5`&DQ=XuUJ|})fm+ywhp9%;LB&jSrxGt~SZSAO^m08M?1+zcIjCM79}7O-_bZ7E=WUyb3-kg;1c zH?>9WnlbURfpN`DBnoW|y73LO9vEsnWK7>24iwv)OI~~WIOoJcn~OZLHX|yc(mb_e zcW)iNYdYUmPo$`62vebALI3+`?gxpAJ2{*XM@O!{0V^*0I565qf;u z%=!axp8mO>>C5pPOS?~I7N1kjSL4p^Kmf@M1%lBZr@a#wofQCS$4D}{Ku`9s1CHQ8 zmQ{=WbZq8@{q*UvX2*JGB@}&V@_KNN+n+3={p+r_@y>?6rCcJ@-IuS^-%*U`W*Q=| zred9U%b8*kCFT;q#o^P%_RL-3J`+WxjYzkFzx!ZRW9eTc>{%Vu{93zL8dxmTO|Dji zq>IBr-@uJ(ebL$dRPtGA^|0OY<3r?1SOA4PA&yZIM!A{{_Ps)p5mRIgXh9@m#x}iN zW#7O5#1%x#{{?VfSz8f8JPmhX-Z0N$@aF{xUFvK3bJ9plkT{sBj_mfj%#oC)6p<-n^oQFwc3?3(96VK{c#ogU#Y$* zikuiq$~A2+C%jWQt-Sb|AEQ3zN7pS?`6#CMF-xh$a`tR2z>oC+f0bcK@`}Tx&*ZoV^(8mF8&82-qti{ly* zZ8^g`O|b^;)1s&o3C==a2>KbfiVm_QWU-%P=Al1j;+!Tc_|mL&CLM=NBUsL0P8(iQ z(p>iig372yeixk37LCMPW+Ygr7#q*3&4a2vH+L0^i?M9;b|u!&Zel;3u9`demi96*AK|%b4Jk znT*((U#q;0A>=kV%n_r7V+-FyQqR=wBY2DDuC_4s-|;5bp+I}+bj2F>oa}r6eRyJ& z)&3!0ONAGmj`mpdBy9JrM?X(e6(}8VW>n_Nv2Jg6t_?_QKZe6+T||%BY>#t=f3tE@ z$iPyhNRX^x(nq@Rmu%0c2Pix^d$%hRlVmxhR={wdIb|UkU0V$?psmfXRzL_wm8Qe{ zZ&3n+hCAG?dG(k4UnYNv+XR#EmR1E~(oPy4+DX00bUMh6E@1P>Zkv)qETH;vT*v)$ z;L>+^q4GAM6x~En3SP+cm%WcJ)D{bve2kViGmT>U%#sas4S?28BnS~tz>uT)FIDer zoBNfkT|Vy1iKvw(uM+rLcj{#y6#(m4FAJxrjIPNp@zr8QNy(}>%}xnVKQ)#sL)#0u9R-4 zL_<0vRfBXnFH?|mP(S_KD=XHa6uUKGHS)~#xw#Qg463YT@!$RGFEN5;5#aUrv0cNV zY4vq&>TPYZoAQf;idcC?C_AL|DKg(*Jr+JJFj??u1ke4WgIo&RLq<@Mzg%^JT^gQU zipYI{Qjp|RwHJ;+JhTzJt6}zG7It@AvoEy>* zHpO2l4@zGa(WFj3oT$5$pdvF_=`L9ffQ)$rcP~+DajCsKJX|}$cypz>RS=fil1Q*N z;!S695se9 zrq(kx=F^6vFRg{7PMv zKE1mzIq@Y=_Bb>5B1p^43KyO-tXeI}^k zeIfP>a6j!sec%}R)f`8Sltg3p`7_>%6z^yYtZKGnP? z0P?*pAiz1PW8WCQpo3s7F0hB=REh(Z&j`E##zww3RU&YaWR1C`y6Y0PNX5(_+3!4` zR7Id9>QKw=dviD5DNxc%Hj5}g=AP@7=J?FB?{sas%s*4tOJ3grI(QLC06J+{!z~De z?uz6D=vl_idL9L;Tw4xL2)u}d*hTvS>ezDf3-V({krgUtlcSI zq^<@N=G`$_{eE1{2(QJcv}R|TDD+}f`umjy0O?mwk~8I`m+N7Is#E9DT5#fO<4k>f zQQQc3%7ZAIe>7m=%F}_`Sgn-U+wr5gan($2W^77IXEBc5M;1MyPQJIQc zK7tcShNduw3t+&8e_F-Bj?(7bmh~-8O8xcvw;@)pCGfidcO|SSax0m_(Z3>(Psz0g zb%~?O$GyWEL!W-Cd~e%rO|r*=JTS^3zv(KW(%i2-+%B`B1AI8if;LuUfS;Dj-b;7- zZR|_#cA6d7gZ0Yp{w=F6)pi%=q82Abk4qAS1Vx`Fig53hCTjnEy=t=i*7bti^}hIy z%tZ&!{!xOR(ieCY1g%gBpJNE5V4XHFwz!?9zFXP&G)6v7cetLbSyDG}xx{Q&?p7uh zqiUyKrL~;4X$kq3p2+=@?G{rBStnJkWse8>y+wG|e4WsVLL`459(oKDZ`G7n;|Aw07BjXu<6bGF2}KQj*#&ySiGy zCWm*m4QhY9i$|N|8iC$Xr?czMiAUOVQNwO8m@rqI)d>H#ka--`S?2RX4qs?-Va&g; z_+ocQHbPYU@LF~32DO5ap&O38h5#0BZ+yskfc&_Y_}?2r0wXjAw2l~#^X;Rva*kjT zI_A(0h$gwkp^>>J7^_dy(9FRh9-`REm}lqbXUG8-Rs=9vn2h8}04h?#=G$5qP|StO zWQFWS$SvTtLJ4G=t`Hf>(h7h4-QD>0mGHHOFj#v5yg->@8AwXa*)pV=BB+j76~MOwQIBTF3;e;RlkB0TV(v%R(l2Nkk-{w@bFLCGT*7o}NW zYb;qX_I>k!&r;-u#o_!W-CZB5#ve3!jDpR^%+NT0w|M-X4JZDsD^CdVwKD|juhK4S zxYLoE#U#zR&hiGQd2qTSrRFLgm4{o^$W%LXU_T$3B8CaUDJ+E*bf&yD*#c3k=hiv= zIitqEbL@ZI%KIB~=p1J+i;KiQxOL60AL{NcGV7}k@iz(^ejI2_mV@-zJS%In`msYC zn~zZ+;de}%z}tWi%04=!6=J);(xmj71p2Y`Iy@7fM+};S&9wcU$WvsTENLbr>;#(c z0b|NBradLiwPI>)+gjmE4ff<{2+mWXLwu1biX2_LHHQ^ZgPRpJ(^R_ey1_0 z$%wD`B42v&9M$g>F_ZHA+5IILK@i;|@ss5g8%l9e_czC+*oXm+GZk-`B=7b+A@GmP z(R18h2cp$_s_ELpTv_Gb7p4r|##(NJmf!Br;o^Va*X5Mq|Dw0%j>u2sJ{5FLjgQCL zI=yMmu3yMN<}eqnrAt=?8j=}EKomp-F30zw;$6fLRPI@vJZG9nKMpdiCV zR6`IC?o1_%op%#X@T?+7sk0A6-#Oz)F-#cb$iMyt&X5iBdDV2V4;~63hYa}gCHES| zjMs%Vj+od}O09%unTA{&3n=DnO0DqQynIfw`EXnJb0_xIzoDtCg)v9YdPD!M6bSLX z+bSW_JaqLQ1kkx)Zc}1~AEWuwQ-g|~7*nXoLbDx{WRAa#q_!gg3N)K#o#Uvc9$ZS_ zIvjZ@W4V|8xAD0&*_=q=hqMWhhDK*$lO+%rg-VO<^L__QxIM45O}dT7Gh8WeZKuQnFN_4%%Wn_o2f&ehiloeMnCJ(!0AqeL!81q`CCyFotJGavSp4=kDZbn!S`tH%$e3n^dF2$w(Nlvf4 zwR=DHbQiop3o#Tc9l47z>O-a~?Ls*Eso!&dU;>AaJfZ3J83X5C_C#Pj|6S~DS_CTj zZrpWL*c(qXcthz>`l~{rmI0nzVRRDB^7ygyh4(32PaM{+jyDH;77RVdS94;$-N=ev zY&FWK8Xwe~T+=X$nlB1AW%jBtJ9jDBDG8z?uKGpiDoszL$H3c!Dg&wIxsg|Kt75tx zET)qwil~HI2o>@zDWWN~-_PhYE-+O0p_nxT##Wo?!zxeSR8eE-h`UE)zz3_jQ-KEO zZ%hwt04InOTn!oFADTB5*)@@ebX01rKE*&SadC0l?tgCzogL8K$9o?!ml%6OW74$t z1u{YLMeXHfIHyn$<&b>P<^05bs>b{SSEBKipa0JoH03L+kQSh>m1(+bELQ&+sN$sa zZV2*R0YH|$4zg1&h~X@BNk8;DAhlQnt|hPtPTfsxB{EJ5I+;6&*J%q-jw<_Muo!mn z^5+|4T2_|5_Gdv|BAwdFpo*X`0I+gr5!E*gvzO(o)z*Tw}f@3=drTgyjgfwhV z&GAbaRVuXN&+Nd!){~Zb#A{nEJ;4}*)uq^O;gK2uCqx6~a8)MVx`unAaE zsbW+@WmXgWx$h-j74*vWWcFOKd1K)cNd|qndpsUTKz=a^BM51^+ zbzj<@_XdMf(FqrdVWYz68V9PzD~c+8rU=r!O@5us5%SSdl?j*=5xdJtPyf$RrL_#T z;#cQw(P_9v98(LjNg{meAK|o;qUz2)ek+{hvbq}N&zdt_f7CPJL;K6>GQc6o$5j#0 zjy-XTlHR?+5gM%=fEZ70?oFVr&gnHQ?O0W*#oQNv6yuA0bk(B10D!m*T^cYG;!R$onVjBTa>L@Z-??Lt+09JVqO&Z2bVuLv+WZcy zp{7*3$<)C_w9EINUO(5*uj66_*qhGDAH+P=gpA`9Uz0=|K&^@I}wC)lhYlkO5 z>ZVIaywY%eQvNw)1UmY3Sh9$;H#~fA0?DiU!35jwL@} zP!OE*5_AlJ`O{Q!ZD-*Zlf&L^^CNE zZc{p&A!FAlO0*Q4f9E0`%IyI9} z<-R|upu2cuSDQ;ig(`8?Oj(w?5i%*pm7=NaNTgJ)ppy9x?(~A~L2wxI-RhbDVa;Ai{d7$#Em*4kZR0XUR$H?qMUg3RY(RN{sg(6k~+ zO;cc;-=L8nlmzgBSFicCdP0$R>Y0e0S%jN(gSDD`{&e|2Gx}|jZ^`k$8P&24qJ%6? zj1sNvv3^pgA*kIeZ3vAPeH1*w77Zay$!NeRc`hl+b503`9FlCtg`?&1?)<}SXwTUU z)4nG7e(Jx~MHEmvTrt%ud@wQHrT2e>baW_>@dNQLp8ihu@PGsD|GNRA?C&YrmpC3M z#gQPUjzuplAcqXzy7HsEsdXY`T1B|)xFs}FTFeNMQa&-^1wDaWOZq6Vj{JZ8(t;9= z2YNcVv;E?n`VLyJ@#^}>K9-yxFaL8Lf&HYI=Ah9E$@47+Yy%Z(ItqUfAqOHW- zqYs;t2WFyYv1F=t-kREbtt5j_R?0Ea62zMnsY?gT&^6{qYi;`G6|L2vjeq|zf>mZ4 zk~H=IJ8xC=@SOpm-gUwd!6uamjT=H2aJJVDQCQVrgHOGLs-Kq29Is7ksF2jlGninT zY95_BGXD@iTIYeX3D>r{#578;de;a(c8RT(~Q5Z@nMTjwF z7Z0TC6c2Dm-k&dzsUxC|S#G5wZYkphN_j8<%8ZC~U;romFVIK@G4cWSoH-en69n*@ z-m{;0All?-f4RU*dK4JIJLu}ibvN!ZNuVU< z45f9gEFlw$PE?Ro*O-_-SAJdw4Dhz2$O44AyvZM4mi4>uuHjMm^dYuqZ@@njYB11g z`5!mAwrbwBCi)E&=(U67v0+)OzZoQ%0{4?nIK~Cav{PomwE*X| z?)ucGz#5!s@jK==g7~qv*L)482)4=qkb=Yr`)TJt+qEuV>1BMpC;V&UU=yis5TJUc zTXP?RAtw1@nb}FbzI{5t+e8ronQzAM+&$c7r?SnXk5Yd6Bv$eV4F*2-_`BZrLt)T> zmUBLAq-mj8|7amqEMX+Bc`W1gjeVYFQRP#hVs4oCid1bum_ZBG+|z*j`ucwtI->!Y zL1FNl7|iV8Zd+X-M<6ITbWIoebJ2hfUO_-+Ju;C8H`p8y(N_CVR+}>C;$kuQx9UEGLpEIijUEREay9ujb z0RzmQ)k0%+$I}so1CI14WN7Mt-_*kU8R;)N++dQF3_ zp0@H&;i~^L`g_D*z4bHpXXOGO>w!tCA}nNJMefMR#~sSXHPP-9Me>#a{3ue;v*HJs zlp^D;{1gdZR_#*$jPn*``?oSSs6idT{&H9R z#!2m2n1fc+lV-{3%MwD-&J-0|3%&gE5kBfnj)DH7^Ytj-2rgrffJUgtiA!oNa)zj^ zXQh#lN?QbJb#gPV65l9rr8rJ@6t}Pn#TtIjif2yI%nNA>Sehr*rLi~l``Eb5vJ$78 zbM75gQaAtmmvfN-k$(r?9WV74<7><>MpY!TXL)>7R^30~ORY20+K?C!p>D@eb-n!Q zV5~dNtH~wg?|e~j5ioBUHlFMVk*xCWR=$1mF3Ao8Ip#I@+{29RhsB!yS}$tnHyua{ zNtx-i7f+{!5|B5Dm|Qi~oHm7FDuMw+@$4%yJs z1@N6qHd~giHadK~^h{EvWwEiIeZ0LhqMEDqo8pzEVc8o~4%E1>D2yM1@!JC%#1t+2 zk#k-(BK<}|cKxsi{meD51(TKlg+K{YHRMwCDilfR*+L#Eu`h2Q-1epp)F@Y$$)p@) zxvB2i@EWMBEv_j27cVf4Tn|iToJKKIOfLma?in>jX_x$RvKq)hElG-^V0=ETqjolh zBxL|~9Re(nduJ&tUCJMazkEeXjDw>j4P%}~we+!3#q6dh9#32HLb~`XQ!Qmbsahr# zm4abmULta{1qJx$bL7N;qbh#LsM{)3G5zW1y82Ku((D#LgOw;5pH}9N=5ox zPuoiY=SDU5N3=;E5gSH$S^w)6Jk%|j5G4T-sH zRsE%C!dF=0*w3EMh?_Ph+sSp8!VQ7pTrf%(AFppS&ZyOdLo0@D;QN|3j!rxLH5Ou% z_*g&{%&Ob!QI{!43|S<7^E5Xj7-^uW;x~I>iLxQvNK~LQr8c)0k%Vr={P?HOFq5Sc#+LJ zQTf&KT3(et(gDf^yK{y_5W9~bk0;|AA7Y+MWDk_;?7{LT0lf;(4Q!*BvMu0jz!zQp zAABn@Ioj@TMrXoj06ZJfyNv!ibWv~hA7mE(aP*5^1B`LJCGFjxMX8nvY=)VjYe9vv zx>BZ|44Np48vE_f-)*E#QWH(Rq~slPrc141oCvKcS6p~XFmuoWcAlP*C5ngq_ZO=X zPFR67(9h>|vU!VFyUA%eIlWbeZ912H0C1`>6xpfQzOE=hhoovJ5Ldy4=MfpFdYtc1 zqgTEPD+Vxe3OLSGxo(w)CvT@X|_$#sgG$;J7<_T|aQ5v;F zM4iOEgOW42v>dUi^nug-Z5JRR+>CpmVlVt|OJwy8%p*G#33tEIar_Tjr|fEoi$oFj zGm&@TG^eVA+Po&3m{i27{Z8gZ2i%bGtx2qiGu@hYc1-lVxOxJZ{j?zC@3i7GSDQaVPm&tGvXJD!A~1u8s4n|-9Kj`>jp71`?RPs7LU)+@x((|$54#m z?PrE_oqG3G3xhcH-kKbU}0`pJ5K`32IM~H zWfG}Z?5T|RVm_n^m2lRjsBM-^cJB>z9pXhw7VW$fp4cVeRDP99cu{)M#kG_=*bM2= zw&58jMc$DCN+--u4KA+&vpZ>ZXhSKxL=weVe5)l*AWBMxzc^-3@@P6ed%!?{yluE^ z*rmEXE2P<fUCZ&Cwv7Q+T_ZU?B(Vln&sO$K52e$Q6VP>& zI|IP;Q7Z(Ycye7_-~7+k$%!JHnFPs}FFRk(2OuqU z;0(ZmdK#v@mEe*IFlf#)C_a))p(BzK-m+Pe&gwl*%N8E;z6$410uBh<@qzR01rYG-APyi@$Jt5 zfA_mVRW}^Lb@h+E@T)S3W>VeST}tVuMZl#}XdQC+@IJ(xYzj_SUL{f%sxYC`UOrbG zWB;p|%Z`inc&m@|xIe~qgcy<$PE~lOX6k+Km-MD>3r%khK^KVM0{bY*H$$(#Ke81#i^LskCaV96mgT?f1}x4RDeOuNoZa| z8vEwhD28_J#Mng_V(fwoFuY?YMmBCnb$A@DsB^p^X3#rC|0umUTxsfj9{`K>%@qPz z%kkLxG(55?`IwztWJXbL>t1nSsy%>a z8d%~u7PMr4i2G$a02vc&pn;`!Hv<4mZKJ^+k3I{?t3x!X5~$((9)^a7Gyg(3Ml6bPDfy2;Px?n-XO;>`=a17ABP|Wb-8v3cTUc|&8eIB}C%_!9;7Ds8 zTG@rA`=A(*E#8j8{#Vl{r+x5&Yr1zK_58TpeYNOW^d{rjiEN;xtXzn!!?RDXwLiOK}1- zTfn5_MJk(^E3&?*0YSrqnOdk$Y(Q=24pbla7>xh)C78Hi7uIh&2Zrsi`whX<)oe!~!hRQ+F;V36N?F=ryb(!N#(Knq(kds08j(gWq{ zfx^e-s|R-ZmW=5o&R+y%I#5Od7C#Ykb`_{Ig%J~4Z-Z2X;)f9n+sJrA zI8rdAm@%Xra50b-rTz7Kh{V8>SA6)O#`orfW+y+NoF=uERu*Vu=%m%5h~Ds%j|>=C z$`@+Dz*3lK@b#n60>rQ)P=y9es*bm?P-g(v#KZ&-0Jukb6k29=Zn+D<(ntr37CAU| zTrjYrIKrNXDTR;#EQjm1WR(cnsxoPDm?op%Q_1V4vagEvlT$(otQ6FAnS~{%50VuG zmAx0+V0A3D_$+MYme>-ujqTgFv&Ey+BN}zG?r?D4fd$SU3oIAF>K9;8cozm9qL$Ap za2qtG&QjImG-9c9{We(-MO;U|o~%tHfsSYP+>yNPR5+DEXudc!aafA;Y_i(&nL2quwp0#_h zcAhi9du_34BUxymYU;4c4i?f7&6IS}=(;J&L!;20?EI)^OPQEV6;+07_~5I z%wqJq?U;DZg{W__U^ZLuwFohY9R^e)4K@v5x`o8H5Jmj~rcLG$?riNt3qH12H^8)9 z1nDfETuSgO!y}lgj$lU+1KvC^Vgq^;@O^yq3jyBv#yikZXrPrWo3nu^?#(;?tyB4A2fD&$XgNmAH zu$UY{|2d@!z{)eM^1epZKUH2=1z?GJnE&gDvlaMl088jv$%~dW z9~0YB0IK}HMXc1WeU`z%68=-RnJOYM6caU7`v~KZpP^u0Q5)#>w&LN$)s&AqXtXezLzw!;Dt%Gdl58zV~Nm9e_pS zaoc>Vw?XA?r06aX2zhBycj2R;+uCLwgOXe$CC~~QXrZC6z6Kswe3tpS7_z3kb#3xtU{MbX=RxRyk)VJpmu=CQlUE87hQo}CeEy7 zsaW}Y5bcen31$%hXJ(p%TppfpT|vJ>L|q90tT07T1rQjTi7+7mOM~laD5nmNyAetY z)A-J>{~jLrk1yhXy>L5T_l6BXx&TC5@UN38ZaY4Yhlge{=J#jlB)SDOTNrX}#IAuO z{sI!+#JDwzQlO)>FU38d{SKzSx))=<0k<-Sc@j@Yg0fqJ5pYrf71JWd74>Jv0?Y>M zx{k$r{Xq94w zK^;~rKqaRBWFj;y5J=l^Yew_fV2q$;>S(&Nc*al}uc>TyMe0vGfF(r0@!+&4E5+PL*h` z6zoum%q&eYVgo+!^iTTAADuM-7AqhifFc^C+hx61@YZIBvW}huZsfEZ(te@9yjH6r zjw2Q@9yoY_QI5B5+qS3y`2f%~4IDdm98*(MIPbjk*u|DNja&IWF7*tZ2^{Z>)Q{q9 zvbNN74EB3;Sb(vxvebklM~*Uoxn;{1Huwra_t9aAlXsU)mO$DR4rYqLP%_}ew(RaxDYd_-?mf+T(5J`0={oVNE{v3T!@-h#_?)|(vc(h zmuI{Z#=<`A{2$x!%TL*Xr;RqC)yjzHNAbPJ0^T*b4@moKU?r9Vt?8j+>1gROro#Y3 z_6Wx7Hd^-|!GXWL6NZ-}si&wXDZ-KqgIGh9a=6gKjO(;n&P;A6E_Ssv0x9c4;; z(hc|-v$&uA3834bOySCE3GW))jE!l6?;P8YkIx5qNL!1NM?%ka%uo1;qP1Ax+<>(9 zFeVHeU;4G%Q9ZQK_xU!Gko9j4%5rTr(!gpniZTMEJm$->@R;qQ75Ypo4wk{v5VatH z;YBc_1Pc=**m&V%anAMEW9v0nqjJtU&|H_t#c2%Pu==)7RV6Udx~q`NCu8re^sX$| z&nj1~wk=9QZ2K^2{?%(PD4thQmC;_HT(SS@ z1ky!7ldQpAWG__;Vev5?sHzR>Nju66+I|2QYj1%DntUIp9l(+)#PY)zbUbaQ!QDSS zhfK_o92GBX4G0RaSnXlw$a30Qhsx!!v&twL`-#4%6_T!(CVSqZT~u|V-zFXq(NP&V zWtr?J0aPi==}y=p6Kj(MZi!}@ac6+M?n{4o)&N-irDgwT=1B>0TB)F4`wcHbhRLZA zSP9&F@4eWtVIxL{hY>Lrf{ud+55f05?A*0W>9^?lA3b^mv$L}}=bW8S%duVPa^8h65&0ay&kVhe29!m?B~TwWj+ z=OTd*;S&Y$BwvRMfba$3c7Q3;`{>eM2cQy*#&Rq`npn)|#R6F4i`wEEI;A}t1{~Xl zW7%*?zmR-;cHK}fu0kmMv7;G<3j*T%IOQ24auq_2xM6J(Xhq7t13V$BkObng?03ZNKL_t(^jA01g_xIz+pZ*3$9vnqL&rmmEhZ@{~V!r?_ zH$bzTV%>DYK*mr@;ZvfYma^w5#ycl8cseKri=w(5Vorvj6fwPm#7f|4O&|$jrzZ5+ zM3R=E*=0^q;J2Cpy^AWDmp~W7`x`9O3(THQl>gu=ElLfqBXbevs9l@j);Pdkf z_}+XA3nV>Iu`r>zxFMRuV>Zqq^@p)(YA1}+ems~g;1eI5!tMWjwD0*thZiIxCKTzh zu}Y39aStht(m;@OMBoLG+wOa5iiQ=iLSlBT!%9q0y~T)hH7$c>2d!;1;0@PcU-(#T zz5aUay!Kj*Z`%&bvDrH%7bz=hsH%Sn0ILXGq4OD;Ms+VEDDYk7P>^R$F*aWqGKmNJ z=|y}&P!L&UAC=GW$@@2kGZ2v4V-xeDqOW@aSpDXUMK;W*V2f+D{a;SQD&H0=%F%Dj zf17VZ5rD;eC*K5s)$94IQcSglw|=S%;}nj&t>cs-Edp?n!5?Y> zUScE50q0rG40xhW%^o%ptD5uzCWwNNv8yPLo?a-fSEV6V7?Adn0V^>av{M0z0-S+e z0-O2(rVJv60`}!}x_pAZ1 zh@vY>$WkfQ>6z(OOT%MAow>J0R8XUFe|~-em2#N{jcgDyO*9$=bf$2qoa~}wyFZ|F zk!}n*DM~|ReV0-_mG15|>_DgkRX`!JXv@a<`1l|l>@+-vv*D5=otOIa!Gi}GQ+3nk z&Djdw0Ki&}XUO6X24GP+^h{TUDEpd@FbbIl7H8X9S;Z+{##)~E$g6Hk0kGJZE1{2K z@|_2;1oKL)ATqz!PGRXT{k$5sSn4?j0M=41HP~-pfs=26_>cdfeGwHvqH2vYKvks3 zE|Q^-g< zyzeGeDJ$GhVLwXQ?6;}L7ba`cXY&wZbLwE)0p?<0!?6I(omI3x@fm#KH{S$z`XD~I z=au-&JNDwoW(m)$#(4dvQ5?oY*r=b6zur58|8wjRhSsmg$nj$^M70rg%PQ{NR4kl1_WiE}tV*vS|c!u<| z(VFJ~rQ@&|ffjqJ)hfGVI=)h=V19m{{Y@H;LExcWF0=jV`sI-!)Mf+N&%Oxp%g=-D z9LIK~IMnb^9~p;}-j9vP9*?7yCM^4Y*cgY0VYtlzhe{P(TxsE!brv2x8sa@O7LLSq z3?~g-wtgL+RWop5#b>?C_hOVP6@-2ZmNSgF<>K!@`B}X0Pea5>2wmquD`x{ys6+99 zgIEHnRPSoh_ww9Ao@0o9V>K55$3Zkagw0R99GjkW4K9504X{Snkj2o_`!fKG{DZ1b z%I#F`n{Tt2TZws3USm(rBglTY*Bulxu$azNwxwo&3N1N= zBIHpt)X0!-R{4+80O{?ciX!wko0RMAstJ^rOb?Wo>Ex>*ks`TE1rP~+D{7Bec@b$@ zbc>Wbo!Fp^^zSd0i3y=JIsL;HdV#Q`W*%7^i1e`qGMC_8`VaP6uJUurH}(l&sYW)fvt3p zx^AFUDzTI>Ra&d+{s-Sb@+=_yEgyUn?B9O?)Xz6>-jXqZ1_0J-JaqwJ(YZK)MSg^@ z_|hbZG_V+0WyodIIe^8Ekt*2~4d}hvC|0sWuqCew%3|#T+>-Yb=M-9K%Ndha!)5~j zYc;GmILE*Ot7Cyv31G=Zk_ubD1QFt;26sj0r|NUG37;qH-HOj;e<&A=Vm@1o8JI=j z2I*(nyu@O=GNSGDXW*<9z)}UoDvco3@hSi-Hd9Ol2BwV&o@rwJRDvTDAtpcgF?{#; z-;e5O9pCuotMSm}9R98~ga2qfgx6_1@C)NL9Iq|l!MPIta&7?+`#Ne~0|8~HB;#=6 z2!3fAR-=aIaD=g@k7J&Wbu$zA&YS)oVQOQWRza9@wj9m(Z@lqFeBldUV86Sr%@(0) z@tgoDdOkG%(ikV?62t;E0aUb)82{)vTDX46OJ0IM`IA3ozmtw69Y;SKjRlO1jBwCw z!NYvbhGzyCy>bn+ndrLNq$FQTm(3`=^pjRQvhM{&Se#RUOl^_%C92@J zA7EbeT1sn^MJ2_956B15s)~`Vrc)YVCdx}GfRQ6nmjzfQ)0xA?6hZl+EGJkvy8tXM zCr(;0^+p5x5A5gQ-ZHjcg5b<{e?jU}Aq=XNTt;P8psiI(lPX$%{?Y&2U zii1Y5zy#W(Muc!!htu@X&{GUm#$f+o0pI)ce@CTW#h6{iOnnwf$_t@PP9DSi-uFJd z{T*+EVQ37HYBuW_o)}@3mPrp+ENat2uK=S=&BWbz-;H{`&cLqG(NQccEHKdOmRoMY zt6uS1wg^w(5gUt`T?As$M#rpkO4#G1ux1b_g_K zV9jNhV*8Cx#=0w>fN-dail<=s^ohsSty#?2$sfaQ(E+Gr@Qslgm}YRy`i3mEAQt`T zGkMDcL1N)Be_gR(5o@jOOLEM4`g{?HQxLl@)$hskLiw8Vb#w*8Q>BroF7naofJFcm z>7@0tU6DN&Jzs@fj^@AlQ_O^IsVE^no;hZbqbL9@=EyVB5`z*%UNMQDMKMS;k%>BH zRUSwXPHb%&Zq_J1AzwTK$W&jIgBAQKVa9gqW7aX+9gP@6nOHZg{wFT$TI?PeXvMUv z49+CV0If#YV$GM^!PBYv38)&wYHep1fYqr!*laejZ{NNpv6x~4Wb_nnl)y|TP>E{taD}lZ=xNhCHZBd%*nSKw0_MIvV@Bw>ap^l?R zkFwP2@v$+CjE=Gf5c`!_Lxb(aEg%Ep;&%d<={=5Mzi3GPLMd$?5il}Mxv@L`&i&`ArM8$F8+72AjW=d2kgsO$3{sDyQepLXL z>LpN}pN@BQ4fBBq!!BW?R>A|xQT*uF-i+g4_#&Qq`Fi}pEf=9>&tN#Qa6GBvdB*~b zwGQJm>vsW_Be+-Jgj?=7h`mD<_(=n6QxjezLbFKds11`DbVvMdGV<~?yO(a3UvqCJ3Ez~45 z-!W{yXpH}UDw}W5&rPG*j4(1X zj?zK{Q|TnOyz}XpzpR4s`31xTv?WKdu3kknwg$(|8El`A@N;WN@tpM@-ah#geCxp- zc>J18c=hl+E+oWvG=i5-!u8i8&?4C7VT4T&x{<&zdBr z^y<-0`PlY7odN)>?{n?Lz@qzB`5z?%YvC>b&|zQ|JV+ZHND!TWIiV z9ht~FE2As^rk6|}0kelCKhzRv!rT#7XB~_&Z1_J_j->4Viw4^`4l@xyoe8WHNM%r3 zBn23>a&Fu0B*j?I#MUK1kGMJP{skbGX=jNSQ&B~9sqZ1%@6iBY(R3m-Qk3EtW}KpB z>4-H0r4VS?F{}*0N>2N04(~L7J{S6)T+%0IWye zdoZ}8v)BTw2w<(0!IigSzksGFQ0fQxvvUg(c}aJdeVko5qAKATU?qZCR&*oNHzbA? z{Y~kE#J(bdcUH6`&h!Np>#QmUmWtt^3gA?|P!%AmjwcNQbtX?*AT zufg26zlrOAwuV1`*R=={Ak`*e$7A?%x(#nQ@KwCNd=6f*VIHx*1s}QZ82&j<;JLtX zg9OtZ%v&`yTZge`=o}n-@7GcP?j%Ob6F5FMi*Ve>oU!d3{4()C;& zN$4Yq8Q%|=UiQVdD81;Xf_263Qw1^if5IZZpuNQTWk9E{8(6b;J+?gNd>9+nV*HW| zQQ5Hrn|56Qw^W0dX)KK@s1C@H+i29Ir1q`21i)f144n8YoZlms43FqI5)oNM@9S%pAGJ=95vyu-$73%?UvAzLDL1gIw?rP2ybB8ea>2UEpp@n`_Bs8U8? zq-=$s79#@E6-z0g($KUhh~l49a^hgifZgok5nVA9oBY#Fz z`*rKqW#yH5L4d)watq`KVfwqnz#=u^PU?BlzSIJF@+ex=3&4^mnEA<;7Gz*3!46&|l9 zfYmEl?H5EYb9;S$csvFV$KlRQ z0?x(w^{Kn@6VJh)?Q(EFM)8BG2Ht&i5|dUL)g~8ZZ=?>()=BSdVDAUNjj?(S+He`O zwg&_uMkYOsUbqRbe)X&Itmi(Pv8bjdk6~}&%c_`v(|`)~Pu z)GHd&R)kVw!?JC7&0`q4eiKUn^D2~rDU^+M*l!*}2_Z)ODt=>K6;GU~;8*tEi-WTp z@br-?UcSl4Q27w1QGy+gqZ&krO9l`&VdxH`kUC`y)6tM7J_8GNt%NIn=F2QqFkxCr z)K=0m<)AAEvR2mr#JiPWBop%!uj#|AR4{bTW{h3@SnRy+T5P=daTr^-6{cpRVJ|NQ zNd-vd-zC-lvPio)RtB(wm@}|sZBW`zXo#u^GBTJ~*tR8T_{qmD7vPfLPn9i-uA{Ax zfwdd}tEhc4fK~Xt#3n29qe=iPAPp>f*@bQu0YXtnqbl*ZGZ4asB6UGbmMN%aFH?4P zc|c)osw@?O()47IicQ{$*%^dgG_pneC`7s0i$_Mtgwy;xcKu~qz?|0(QHG$|!T0!q;)rZiQkro{yMk5ag4qxn3I zjdJy_mD+UxV6D`GgX0GlSUn3Y2f$KkTrDT4Qr$s6psH68r~({;*tq1-azxj&Yc*5(-7{>(M$OilaKsbW0$G|&}H1PZ_Hh$G` z*_{9Ndk^DBtqR6;(s+syCOXzO*5Iz2{}nU)Ls-XKc=>Byf%kmk|KcKR7}ve%d3fV* z{Thoe%LGDEEI2YkWylc+0cTdR*pyPz+oHHsUXZ2N(Q#JUK^%tcZ>Ln^EG*iez_6() z43#Ue2=sDFKuDhh-}=V4@o)e3dB(*0^k4rYW{egRzln-fg9i)ax{iaH==ck zh2bE@Oce-%7Jk-9@$&5xcp%d7j=N`3Gl93CQ^sQ_62yrPW0ry*;7HBFT8-p(BBY54 zLwAv+AyW7-Op<$`5XiO#n7>0#7qN?c;16c{oTFF+lh{ooM0$9*u z=$e7VaWQtmZfw8)Iz0Bq8&Tc19g$`sLH`umMg2_ySS)vcD-&tYv&RHLMLMMN`zvc- zvG-Z$6`tjP@|>;97Esi-#yFzcd7o7&eySrDvs_CfUX3yx4IiR zS5&KDhlXIpQMm$6TI<-+-4G1!XPk=jYpX`ay?@rih ze4F8vfl_QgtJ8tn;_yqzjqG~pv^pZ#RWu-FdREjqeNpC9W=cuF8%c*ECg;Hm!^PkZ zLI7U*QoOc=fae2@UY);}!+A6SSWcY6H%Rx2S%-mDq`yJ|6s`V;89$clI}Ek~18dL+ zmSzFj_Z&NRl<7K%!W1O@FF*v&LD;z}H zT5M4f{WXYG0hkKFQUQpn@KhBnsu)vh^5o{RIkly?>n8*Jc&d@n%n82Gyrg7DVVZ7yV zguMsGam~miUikP3wdoki{6>_<4W!9D(!his&LMSO#E}luuCmm@FmA%OsZSY5V-vsl zvb%8bz)?(3ExKFo~Md2bbSIVae%JU=vDv4v7zSjo0bp4-xVz zxg1=S4bEVrm*?6q{~+NrP| ztB^O?R@DMR7fS}Pn7(3eAtt{{D31$rgZhnOMduLbDOx~TG@*$!=$3{c382x~6l<_j zi;cNdk&E=Oh>@kIt0xXS0I*iIyA4h@u)xYJAZcJJ0TNY;heCu{Na+#di8dK1qTnRa zIFR1pG@_I<%^bEwdUPHd-h<5x#uw3ov*8kMMK9Z~@-> zw)H4gN0Eju{P{z0OT$>Grug(dllU92j6dDxVx61f?xPjla_BJTY!iBA2tzXo_P_Ra z7TL|tPT|QnJP9v&;d8Kl!x~tQj=A|6_(2_4Tz(ajgk~-V18?k-jWmv+nL1L+79z@$ z>A;_#hf}I>(RNdZH#Y~}F2QzPAc@eNUqE@Nn(1dbNc{*4lXdLdw-<35Vb^&(QCUBR zq_uz`4&V;e@V&2p1Fw6{8_=AgY#|3Fy8_Kj5he{paSI!7{wc&eb&SNjQJQ}cAHN!y z#29}0zhk&@3%70O>8DIr%`n=s0V3uz4V!^bVHm)1D}<-PE?3d2Ps4VA7vHp(3D3{Y z&NDKJX;=tZ<$E2DT|yY~B4a0OGgAW%izI_0j93+Hxa{%Rb<+#6>AGv-lt&S#R5h{B zmd%5D?LpaI{rbP^zErbW6#x=TClE|6n#a-nnWr6g$M1{gQ_}q{1$$WZj!Rfa(fqBb z%Bg$~S;DBuR%-vy?Y|baui&KeJ|Y#n7l1`FP5m};e6K!0<3oPyy8h_~uw=o#q7D!y zS&E_1t|9?;D+8|xfhQrqY+FhPQoRt%{ay|z^57Mni|$Vbx9E3P(J>p)eF@=x%9q~r zhzGC?q7b#KxEasoId7jICWgn6I z(ib1rcXtwM8vETOe@ncIIBhq@Qd%|I2z+UheN!6xP>Qf8^zK2VZ8aFhwxzC$NKTjX#B^$IP!senI0CU2wrs2MeqV2 zKmPHZoUB0OlWnr<$-8&&#*Q63@QPRb5*~ZWW6+#C2Fuc6nl{TGWWZLfhN#W~9qKpE z@Gyer3~alE`rJIKYd0a7Ucf*6!>94ZFMJvI+;bnAQ3h5-0Zd)Px;5i?{3Vy-nKwQi zS6y`lN~10wyk`&I_=f+D$-{G)o|=Pc8A!DVA+h(KH-;_G-3>!ugDYwg-nelZKlUp4 zo&6flvpu|jlf@Ze*+0=AgcJ_}SaISbjw9F%z=~iyB?Nv0wxi=`uKqe2jTXB<%W`1o zCS#xxIgkYBL1~C5aWfMgP11ddBUCgSYc9SRJAd&7*!<+{P_9jY_y&EqB?4GQ?}_T& zVeg3I@+tsJ=w%Ce2LUXKxipFW3x6d(6VHx)o?SmrV3D75za|P`zlZ?CKFbx;$=gH@ za@>Oe03ZNKL_t&q5UK88E+SF*404TM1XLA>;CJC5%K)&7pSJ>FJKX?QS4vBEv#b+k zhKtM;8dVOoOc=JsDhSf*Hly-NV(Y@;=L3eN1PCj6|MLJ2?$mg6}F(eV7j%eS}VV&HjtB5GpEle_=>2gj}TZVkV@yk6bY--`6-o5 z0A9qrqJU5^u;}|J>@ZXo1z)TU3Jn-#eoFs&swxPl`##a&o!M=LT|(79GfCiUw6LLL zBCxPfF{OfaHhUkYs#Dy1C@R5)G6#Ui#P#%L8H(+}@P)@NY7{bf%n#7COC3w;H zVH|pR4sZ7Z9MeZI-YnxM@B9ap_tzN9Wp-{Jrs-m2Yz=X2N`Z1=a52Ie6#_scW;N3UB9gjJG7tE54BnY4r%PI`udmbFO1e8kfXJ%jIPmq2i7*NIE4ILL=^e;R<%-C1dUkS{jpY$HA zR0B)ZeasN>s5vPy$_xx&a6Zm?@$<3sX-~t@_y#0a{})6hk}fpr^6gOd%X~cDbH1Z^ zf62eF7(MeR^t*g*S^QlVgBKuHiwXhcGOXmk^Y_09fRc;QNsRqAprv5Ao=gCXwIQcL zo^O8ezv2`~C8-}sA3b`M`AkZ^ zrk}&Z!x$YMWr}n80qJbIzcan9f`LUgmNg;UldUCaAT0GB`vF+}&Y>Z~yyM|1&wD!d z@7arozk3fV{t#l#X6b`EJjTEp09Z?X5`+B)7C5^sAZuW$__)eIQn3P0TDom8UjSHH zu*j#qJV0S{Vmep$JI$5pGt1=w00CFTs0aU7qillhG8ItT~7f!KuceP7vEdQx?n&4DJWPcx4#JIP%$)B_fN~*OT|x$_EV(*s-Ay$R!xSBNb_VFz$(1{nE+rB5Jlxs zS-NQ^z)ox{(z;429gZUH*RCFzJ?wn7q(um)qKe^ay!`zFYhU9Xga%})gu({qY~6&d zECpGm#wf-$-~QuAJOiulL>OsVAo2XrND!MXnCFyn&5NFafBwL2D7VT;1D&x02HPNo zQ0@c#J!3^v+fH`?V0A2H7&@k>XIK?NmQqMsM!F8F6uW-?dcIq8({YLuFAAbdmuqRREcPnyP?r(f%v!4u+!IH!<2$OJ}0y zhVJlUS&cdT)7#$$|8M^Vb~(UTzw$KLRs(gzg=wWIc@|(aktV}iZ9%I=&Wnf9qbn zi;)|9#{``10q!fZzYUn=wDIpozXO10}4ON2HBJ|b}aI)>`OFZKIwXT*<^ zJ7{Xr%g?p2SX-&mBmJHQl4djJ-^B^8zw0kg3xL&uiiCZIk|w7plgvJ^3aGIPRfPKT z>Ww7eXQ0t+VBh||Y|@dY1k3SCR=nC3{nbvK#9S%FXw!xjTP%ezvKzoo7uWsrv+>zK zx)r5`3et#Z;wcvv*7zB?;3uz?MH{c0mC?|d(KB)HY(S=Kb_A=bJydF!L53{xlm-s= zd#WSVDC3^*P3@-Nh4@{}?t{53#!H|^kv;URBl4P?{20~@R>6zxl<@YYv@fkDYKVz# zsKsoxg*q~Q#_KThTTXg{@(orCuur{rMU)@?A@fX8i2KilV^yP{iStC+mq{P|`5 zvb`sNru3~25^d&GdNwi4&P$(Bx~ImpaQGQ$wUXJ2*`3;z*-SY1Z1t3mjhWG?4GCh6 zDxYzi@XxqCNX(xnx`|C#k@p$ehxVoKiLIAt0pe6+719i{tEA^dEusZ9_7s$~|E0d& zXVZREG1kQKGGYwrg+9`xINN(P|nFR^S0Ki)Phnkh}E&{Ont+27Th*j;)G-5Iz zBHk+DTbOqu-^F|!TgE}k5^HGVewq9*dmm|Xo>0(8{=sDaida|dO=B;3grn&UZhHMM zVgJK>@ZX=i1Fl~|q}fRH7&-#x>(kU^J}{>CX~LiI_mkc;@&R1zUHCn2R-O62jz^?# z6Ji1yIxNe^Iooz*Oo@(oGx-%^1#S!O7y12mbS6Z?3;}I)j81-#zSrXHy(eh_@?(PT zEQ&tFjPaY0?`_+dY|76;x?lWr*4oTZk>4Y|Mx#B>aK8msL061PJl&EX%X~YxLUu0R zHtsvQC_ZChvvG|7bRrs%E;Z3i9Ek5

    m{1QZp+kj=jeuF-iu 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 {S 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≦;_WhP|8+CjTspSP`w{^GVyGIId*zoomYz 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 toU{zJCW1yJRl@9}R^` ${toString(value)}, `; - } - - return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; - - } else if(data instanceof Set) { - let name = data.toString().split(/\s/g)[1].slice(0,-1); - let strBegin = `${name}(${data.size}) { `; - - let str = strBegin; - for(const [key, value] of data.entries()){ - str += `${toString(value)}, `; - } - - return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; - - } else if( data instanceof Array){ - if(data.length>0 && !(0 in data)) { - return `[ <${data.length} empty items> ]`; - } - - let str = "[ "; - for(const value of data) { - str += ""+ toString(value) + ", "; - } - - if("index" in data) str = str + `index: ${toString(data.index)}, `; - if("input" in data) str = str + `input: ${toString(data.input)}, `; - if("groups" in data) str = str + `groups: ${toString(data.groups)}, `; - return (str.length >2) ? str.slice(0, -2) + ' ]': '[]'; - } else if( data instanceof AggregateError){ - str = ""; - str += `[${data.stack}] {\n` - str += ` [errors]: ${toString(data.errors)}\n}` - return str; - - } else if( data instanceof Date){ - return data.toString(); - - } else if( data instanceof Window){ - return `Window`; - - } else if( typeof data === 'string'){ - return `'${data}'`; - - } else if(typeof data == 'bigint') { - return `${data}n`; - - } else if( typeof data === 'object'){ - let stringTag = data[Symbol.toStringTag]; - if( stringTag == "Float32Array" || stringTag == "Int32Array" || stringTag == "Uint8Array"){ - let arraString = data.toString().replaceAll(/\,/g, ", "); - return `${stringTag}(${data.length}) [ ${arraString} ]`; - - } else if( data.toString().includes("Arguments")){ - //let str = `Arguments(${data.length}) { ` - let strBegin = "[Arguments] { "; - let str = strBegin; - - for(const [key, value] of Object.entries(data)){ - str += `'${key}': ${toString(value)}, `; - } - - for(const sym of Object.getOwnPropertySymbols(data)){ // get properties of Symbol - str += `${sym.toString()}: ${toString(data[sym])}, `; - } - - return (str != strBegin ) ? str.slice(0, -2) + ' }': `${strBegin}}`; - //return (str != `Arguments(${data.length}) { ` ) ? str.slice(0, -2) + " }": `Arguments(${data.length}) {}`; - - } else if (data instanceof Error){ - return data.stack; - - } else { - let str = "{ "; - - for(const [key, value] of Object.entries(data)){ - str += `${key}: ${toString(value)}, `; - } - - for(const sym of Object.getOwnPropertySymbols(data)){ // get properties of Symbol - str += `[${sym.toString()}]: ${toString(data[sym])}, `; - } - - return (str.length >2) ? str.slice(0, -2) + " }": "{}"; - } - - } else { - return String(data); // stop recursive - } -} - -function dowloadfile(content){ - const link = document.createElement("a"); - const file = new Blob([content], { type: 'text/plain' }); - link.href = URL.createObjectURL(file); - link.download = "sample.html"; - link.click(); - URL.revokeObjectURL(link.href); -} - -const __old__console__ = console.log; -console.error = function(...data){ - console.log("@html++++Error++++"); - console.log(`@html${data}`); -} -console.log = function(...data){ - if(!__resultAreaId__) { - return __old__console__(data); - } - - let display = document.querySelector(__resultAreaId__); - if(!display) { - return __old__console__(data); - } - - for( let d of data){ - if( typeof d !== 'string'){ - d = toString(d); - } - - if(d == '@negzero'){ // fix bugs - d = "-0"; - } - - if(d === "@not_use_Arguments"){ // fix bugs - throw new ReferenceError("arguments is not defined"); - } - - if(d.startsWith('@html')){ - d = d.substring(5); // เมื่อเจอ @html นำหน้า เป็นการบอกว่าต้องการให้สตริง html มันทำงานในเว็บเบราเซอร์ - } else { - d = decodeHtml(d); // ไม่ต้องการให้สตริง html ทำงานในเว็บเบราเซอร์ - } - - display.innerHTML += d + " "; - } - display.innerHTML += "
    "; -} - -function clearDisplay(targetCount) { - let displayResult = document.querySelector(`#displayResult${targetCount}`); - displayResult.innerHTML = ""; - - let textCodeArea = document.querySelector(`#codeArea${targetCount}`); - if(textCodeArea.classList.contains("run-already")){ - textCodeArea.classList.remove("run-already"); - textCodeArea.classList.add("notrun"); - } -} - -//async function saveModule(codeText) { -// fetch('test_module/save_module.php', { -// method: "POST", -// headers: { -// 'Accept': 'application/json, text/plain, */*', -// 'Content-Type': 'application/json' -// }, -// body: JSON.stringify({ -// code: codeText -// }) -// }) -// .then( response => response.text()) -// .then( text => alert(text) ) -// .catch(error => console.error('Error:', error)); -//} - -function runCodeBtn(targetCount) { - clearDisplay(targetCount); - - __resultAreaId__ = `#displayResult${targetCount}`; - let textCodeArea = document.querySelector(`#codeArea${targetCount}`); - let btn = document.querySelector(`#btn${targetCount}`); - let myform = document.querySelector(`#form${targetCount}`); - let codeTxt = textCodeArea.value; - - if( codeTxt.includes("")>0 && btn.value=="Open HTML" ) { - myform.action="displayhtml.php" - myform.submit(); - - } else if( btn.value=="Import" ) { - myform.action="test_module/importmodule.php" - myform.submit(); - //saveModule(codeTxt); - - } else if( btn.value.startsWith("Run New Tab") ) { - myform.action="test_module/runmodule.php" - myform.submit(); - - } else { - - try { - console.log("@htmlผลการรัน:"); - codeTxt = codeTxt.replaceAll(/-false/g, "'@negzero'"); // fix bugs ถ้าเป็นเลข -false ต้องแสดง -0 เลยต้องแทนด้วย '@negzero' - //codeTxt = codeTxt.replaceAll(/-0.(?++++Error++++"); - console.log(`@htmlUncaught ${e}`); - if(e.stack) { - console.log(`@html${e.stack}`); - } - } - - } - - textCodeArea.classList.add("run-already"); - return false; -} \ No newline at end of file diff --git a/examples_book/util.js b/examples_book/util.js deleted file mode 100644 index daab7a7..0000000 --- a/examples_book/util.js +++ /dev/null @@ -1,20 +0,0 @@ -function escapeHtml(unsafe) { - return unsafe - .replaceAll(/&/g, "&") - .replaceAll(/</g, "<") - .replaceAll(/>/g, ">") - .replaceAll(/"/g, '"') - .replaceAll(/'/g, "'"); -} - -function decodeHtml(str) { - return str - .replaceAll(/&/g, "&") - .replaceAll(//g, ">") - .replaceAll(/"/g, '"') - .replaceAll(/'/g, "'") - .replaceAll(/\n/g,'
    ') - .replaceAll(/\t/g, "        ") - .replaceAll(/\s/g, " "); -} \ No newline at end of file From 0f91045bf3cce27cfe39ae45b3c3b2a046e0c9b7 Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 28 Sep 2023 18:01:05 +0700 Subject: [PATCH 538/757] no message --- examples_book/ipynb.css | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 examples_book/ipynb.css diff --git a/examples_book/ipynb.css b/examples_book/ipynb.css deleted file mode 100644 index cc2fb87..0000000 --- a/examples_book/ipynb.css +++ /dev/null @@ -1,23 +0,0 @@ -.describe-ipynb { - margin:30px 10px 0px 0px; - font-size:16px; -} - -.display-result-ipynb { - width: 100%; - /*background-color: #7B68EE;*/ - background-color: #e9f7e0; - color: black; - text-align: left; - font-size: 1rem; - margin-top: 2px; - margin-bottom: 20px; - border: 1px #F23F2F; -} - -br { -content: ""; -margin: 0em; -display: block; -font-size:5%; -} \ No newline at end of file From a9a0c5f167454cdff633c808d5c10dc392e3d0e0 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 05:59:08 +0700 Subject: [PATCH 539/757] no message --- examples_book/Chapter01.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 examples_book/Chapter01.md diff --git a/examples_book/Chapter01.md b/examples_book/Chapter01.md new file mode 100644 index 0000000..659dae3 --- /dev/null +++ b/examples_book/Chapter01.md @@ -0,0 +1,5 @@ +# โค้ดบทที่ 1 แนะนำ + +```js +``` + From 3effad67c745c01bbb91d5d2a6e6bc154bacdb44 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 10:39:32 +0700 Subject: [PATCH 540/757] no message --- examples_book/Chapter03/{ => js}/myScript_1.js | 0 examples_book/Chapter03/{ => js}/myScript_2.js | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename examples_book/Chapter03/{ => js}/myScript_1.js (100%) rename examples_book/Chapter03/{ => js}/myScript_2.js (100%) diff --git a/examples_book/Chapter03/myScript_1.js b/examples_book/Chapter03/js/myScript_1.js similarity index 100% rename from examples_book/Chapter03/myScript_1.js rename to examples_book/Chapter03/js/myScript_1.js diff --git a/examples_book/Chapter03/myScript_2.js b/examples_book/Chapter03/js/myScript_2.js similarity index 100% rename from examples_book/Chapter03/myScript_2.js rename to examples_book/Chapter03/js/myScript_2.js From d90dd20bd2e9ce47f72de2880744cce9f63cf51b Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 13:48:23 +0700 Subject: [PATCH 541/757] no message --- examples_book/Chapter02.md | 1 - 1 file changed, 1 deletion(-) diff --git a/examples_book/Chapter02.md b/examples_book/Chapter02.md index b2d64bf..7bd1807 100644 --- a/examples_book/Chapter02.md +++ b/examples_book/Chapter02.md @@ -174,7 +174,6 @@ -

    From 8aaacd0980d82a4f683819c73690fcadcb96d519 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 13:55:17 +0700 Subject: [PATCH 542/757] no message --- examples_book/Chapter02.md | 1 + 1 file changed, 1 insertion(+) diff --git a/examples_book/Chapter02.md b/examples_book/Chapter02.md index 7bd1807..7572ce2 100644 --- a/examples_book/Chapter02.md +++ b/examples_book/Chapter02.md @@ -75,6 +75,7 @@ ``` +หมายเหตุ ตัวอย่างนี้จะเกิด error (ต้องดูที่หน้าคอนโซล) ```html From 2c64d2baf8b4758d6d1cf2ead494440d8153dddf Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 14:37:26 +0700 Subject: [PATCH 543/757] no message --- examples_book/Chapter02.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter02.md b/examples_book/Chapter02.md index 7572ce2..0f0cac3 100644 --- a/examples_book/Chapter02.md +++ b/examples_book/Chapter02.md @@ -167,7 +167,7 @@ ### ตัวอย่างการใช้งาน Traceur -```html +```tab.html @@ -197,7 +197,7 @@ ### ตัวอย่างการใช้งาน Babel -```html +```tab.html From 06bd38813a699f104e70c179835e7c1a12b77c7c Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 15:15:05 +0700 Subject: [PATCH 544/757] no message --- examples_book/Chapter18.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter18.md b/examples_book/Chapter18.md index 96434ce..7618db5 100644 --- a/examples_book/Chapter18.md +++ b/examples_book/Chapter18.md @@ -868,11 +868,11 @@ Promise.reject("Error") ```js Promise.resolve(123) -.then( (value) => console.log(value)); // บรรทัด a -- ฟังก์ชันคอลแบ็คเป็นฟังก์ชันลูกศร +.then( value => console.log(value)); // บรรทัด a -- ฟังก์ชันคอลแบ็คเป็นฟังก์ชันลูกศร // แสดงผลลัพธ์ // 123 Promise.reject("Error") -.catch( (value) => console.log(value)); // บรรทัด b - ฟังก์ชันคอลแบ็คเป็นฟังก์ชันลูกศร +.catch( value => console.log(value)); // บรรทัด b - ฟังก์ชันคอลแบ็คเป็นฟังก์ชันลูกศร // แสดงผลลัพธ์ // "Error" ``` \ No newline at end of file From ff4737acbd15dd7604e3dfebb7c7ab5218201d92 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 16:37:30 +0700 Subject: [PATCH 545/757] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cf75243..9199649 100644 --- a/README.md +++ b/README.md @@ -914,7 +914,7 @@ http://www.ebooks.in.th/ebook/40184/รีวีวฟรีเจอร์ใ * [ซีเอ็ดบางสาขา]( https://www.se-ed.com/product/พัฒนาเว็บแอปพลิเคชั่นด้วย-JavaScript.aspx?no=9786160825394) * และร้านหนังสืออื่น ๆ ที่ไม่ได้กล่าว -เล่มใหม่เนื้อหาอัปเดต เป็นจาวาสคริปต์ตั้งแต่ ES6 เป็นต้นไป (ล่าสุดเนื้อหาถึง ES14) เนื้อหาเกือบ 900 กว่าหน้า +เล่มใหม่เนื้อหาอัปเดต เป็นจาวาสคริปต์ตั้งแต่ ES6 เป็นต้นไป (ล่าสุดเนื้อหาถึง ES14) เนื้อหาเกือบ 700 กว่าหน้า ![cover](images/cover_new.png) From 09a2b255c2dba0131cc6c83de59bf3053a904986 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 17:15:32 +0700 Subject: [PATCH 546/757] no message --- examples_book/Chapter18.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter18.md b/examples_book/Chapter18.md index 7618db5..ddb3953 100644 --- a/examples_book/Chapter18.md +++ b/examples_book/Chapter18.md @@ -868,11 +868,11 @@ Promise.reject("Error") ```js Promise.resolve(123) -.then( value => console.log(value)); // บรรทัด a -- ฟังก์ชันคอลแบ็คเป็นฟังก์ชันลูกศร +.then( value => console.log(value)); // บรรทัด a -- ฟังก์ชันคอลแบ็คเป็นฟังก์ชันลูกศร // แสดงผลลัพธ์ // 123 Promise.reject("Error") -.catch( value => console.log(value)); // บรรทัด b - ฟังก์ชันคอลแบ็คเป็นฟังก์ชันลูกศร +.catch( value => console.log(value)); // บรรทัด b - ฟังก์ชันคอลแบ็คเป็นฟังก์ชันลูกศร // แสดงผลลัพธ์ // "Error" ``` \ No newline at end of file From d0185521d25adda8ff555233de801fe3957ea83f Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 17:20:06 +0700 Subject: [PATCH 547/757] no message --- examples_book/Chapter18.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/examples_book/Chapter18.md b/examples_book/Chapter18.md index ddb3953..5cfc173 100644 --- a/examples_book/Chapter18.md +++ b/examples_book/Chapter18.md @@ -875,4 +875,16 @@ Promise.reject("Error") .catch( value => console.log(value)); // บรรทัด b - ฟังก์ชันคอลแบ็คเป็นฟังก์ชันลูกศร // แสดงผลลัพธ์ // "Error" +``` + +```js +let promise = new Promise(function(resolve, reject) { + console.log("Line a ...to do something") // บรรทัด a +}); +console.log("I done already"); // บรรทัดนี้ถูกเรียกให้ทำงาน +promise.then( value => console.log(value)) // บรรทัด b +.catch( value => console.log(value)); // บรรทัด c +// แสดงผลลัพธ์ +// "I done already" +// "Line a ...to do something" ``` \ No newline at end of file From 20da89ad642eb1438923cc8214bbbc7ec72b72ea Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 17:21:20 +0700 Subject: [PATCH 548/757] no message --- examples_book/Chapter18.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter18.md b/examples_book/Chapter18.md index 5cfc173..aa28d3e 100644 --- a/examples_book/Chapter18.md +++ b/examples_book/Chapter18.md @@ -885,6 +885,6 @@ console.log("I done already"); // บรรทัด promise.then( value => console.log(value)) // บรรทัด b .catch( value => console.log(value)); // บรรทัด c // แสดงผลลัพธ์ -// "I done already" // "Line a ...to do something" +// "I done already" ``` \ No newline at end of file From 7fc39729b007d07c09370313a6d195a2d9b76a94 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 17:24:03 +0700 Subject: [PATCH 549/757] no message --- examples_book/Chapter18.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter18.md b/examples_book/Chapter18.md index aa28d3e..0f63c9e 100644 --- a/examples_book/Chapter18.md +++ b/examples_book/Chapter18.md @@ -884,7 +884,7 @@ let promise = new Promise(function(resolve, reject) { console.log("I done already"); // บรรทัดนี้ถูกเรียกให้ทำงาน promise.then( value => console.log(value)) // บรรทัด b .catch( value => console.log(value)); // บรรทัด c -// แสดงผลลัพธ์ -// "Line a ...to do something" -// "I done already" +/* แสดงผลลัพธ์เป็น +"Line a ...to do something" +"I done already" */ ``` \ No newline at end of file From 23608d926f70a9b8e526f25cdc90f00e18c6d1b4 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 18:42:50 +0700 Subject: [PATCH 550/757] no message --- examples_book/Chapter20.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 4e50da5..3c3dd8e 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -136,6 +136,29 @@ import { calculate } from "./example.js"; import { multiply } from "./example.js"; ``` +เพื่อให้เข้าใจถึงหลักการทำงานเวลามอดูลถูกโหลดเข้ามา สมมติว่ามีไฟล์มอดูล say.js ดังนี้ +```module +// -------------- ไฟล์ say.js ----------------- +export const msg = "Hello"; // บรรทัด a +console.log(msg); // บรรทัด b +``` + +```run.module +// -------------- ไฟล์ main.js -------------- +import { msg } from "./say.js"; +// แสดงผลลัพธ์ +// "Hello" +``` + +```run.module +// -------------- ไฟล์ main.js -------------- +import { msg } from "./say.js"; +import { msg } from "./say.js"; +import { msg } from "./say.js"; +// แสดงผลลัพธ์ +// "Hello" +``` + ## เปลี่ยนชื่อสิ่งที่ต้องการโหลด และเอ็กซ์พอร์ต ```run.module From 0e552e1455424ebfaa128e2b480960869dc3b09e Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 19:07:11 +0700 Subject: [PATCH 551/757] no message --- examples_book/Chapter20.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 3c3dd8e..e1b3c02 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -152,9 +152,9 @@ import { msg } from "./say.js"; ```run.module // -------------- ไฟล์ main.js -------------- -import { msg } from "./say.js"; -import { msg } from "./say.js"; -import { msg } from "./say.js"; +import * as say1 from "./say.js"; +import * as say2 from "./say.js"; +import * as say3 from "./say.js"; // แสดงผลลัพธ์ // "Hello" ``` From 5e0589bd023f510e53e480edef2863ad9d7a5be6 Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 20:13:44 +0700 Subject: [PATCH 552/757] no message --- examples_book/Chapter20.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index e1b3c02..da9304b 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -159,6 +159,20 @@ import * as say3 from "./say.js"; // "Hello" ``` +```run.module +// -------------- ไฟล์ main.js -------------- +import { msg } from "./say.js"; +import { msg } from "./say.js"; // เกิด SyntaxError เพราะประกาศชื่อ msg ซ้ำกัน 2 ครั้ง +``` + +```run.module +// -------------- ไฟล์ main.js -------------- +import { msg as msg1 } from "./say.js"; +import { msg as msg2 } from "./say.js"; +// แสดงผลลัพธ์ +// "Hello" +``` + ## เปลี่ยนชื่อสิ่งที่ต้องการโหลด และเอ็กซ์พอร์ต ```run.module From 25217a08e2e671bd18bf751c58469c5441af53af Mon Sep 17 00:00:00 2001 From: adminho Date: Fri, 29 Sep 2023 20:53:31 +0700 Subject: [PATCH 553/757] no message --- examples_book/Chapter19.md | 106 ++++++++++++++++++------------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 7e8cc99..2659aa6 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -185,6 +185,59 @@ async function asyncFunc() { asyncFunc(); // "Error!" ``` +```js +function myFunc() { // ไม่มี async นำหน้า + let result1 = await otherAsyncFunc(1000); // "Error!" +} +``` + +```run.module +let result = await Promise.resolve("Success!"); +console.log(result); // "Success!" +``` + +```run.module +try { + await Promise.reject("Error!"); +} catch (error) { + console.log(error); // "Error!" +} +``` + +```run.module +let result = await 123; +console.log(result) // 123 +``` + +```js +async function asyncFunc() { + function innerFunc() { + return await otherAsyncFunc(1000); // await อยู่ใต้ innerFunc() ไม่ได้ + } + innerFunc() + .then(value => console.log(value)) +} +asyncFunc(); +``` + +```js +async function asyncFunc() { + await function innerFunc() { + return await otherAsyncFunc(1000); // await อยู่ใต้ innerFunc() ไม่ได้ + } + innerFunc() + .then(value => console.log(value)) +} +asyncFunc(); // Time out: 1000 ms +``` + +```js +async function foo() { +} +async function foo() { // ประกาศชื่อ foo ซ้ำกันไม่ได้ +} +``` + หมายเหตุ otherAsyncFunc(ms) ถูกนำไปใช้ในหลายๆ ตัวอย่าง ```js @@ -347,59 +400,6 @@ console.log("Hello"); // บรรทัด d // "Hello" ``` -```js -function myFunc() { // ไม่มี async นำหน้า - let result1 = await otherAsyncFunc(1000); // "Error!" -} -``` - -```run.module -let result = await Promise.resolve("Success!"); -console.log(result); // "Success!" -``` - -```run.module -try { - await Promise.reject("Error!"); -} catch (error) { - console.log(error); // "Error!" -} -``` - -```run.module -let result = await 123; -console.log(result) // 123 -``` - -```js -async function asyncFunc() { - function innerFunc() { - return await otherAsyncFunc(1000); // await อยู่ใต้ innerFunc() ไม่ได้ - } - innerFunc() - .then(value => console.log(value)) -} -asyncFunc(); -``` - -```js -async function asyncFunc() { - await function innerFunc() { - return await otherAsyncFunc(1000); // await อยู่ใต้ innerFunc() ไม่ได้ - } - innerFunc() - .then(value => console.log(value)) -} -asyncFunc(); // Time out: 1000 ms -``` - -```js -async function foo() { -} -async function foo() { // ประกาศชื่อ foo ซ้ำกันไม่ได้ -} -``` - ## Asynchronous iteration ```js From d79067ac3115623141bbda640884e62d9a6535b7 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Sep 2023 09:53:29 +0700 Subject: [PATCH 554/757] no message --- examples_book/Chapter19.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 2659aa6..636890d 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -209,6 +209,13 @@ let result = await 123; console.log(result) // 123 ``` +```js +(async () => { +let result = await 123; +console.log(result) // 123 +})(); +``` + ```js async function asyncFunc() { function innerFunc() { From 59e4fa0dbe60353162be4722641136e02d4ecd2d Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Sep 2023 10:56:58 +0700 Subject: [PATCH 555/757] no message --- examples_book/Chapter19.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 636890d..427dd9f 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -185,6 +185,20 @@ async function asyncFunc() { asyncFunc(); // "Error!" ``` +```js +async function asyncFunc() { + try { + let result = await new Promise((resolve, reject) => {}); // บรรทัด a + console.log(2333); // บรรทัด b + } catch (err) { + console.log(err); // บรรทัด c + } +} +asyncFunc(); +``` + +ข้อควรระวังในการใช้ await + ```js function myFunc() { // ไม่มี async นำหน้า let result1 = await otherAsyncFunc(1000); // "Error!" From 4df6ae806eaa1041b122acc09e02d95baff37e67 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Sep 2023 12:05:58 +0700 Subject: [PATCH 556/757] no message --- examples_book/Chapter19.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 427dd9f..d23d419 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -189,12 +189,12 @@ asyncFunc(); // "Error!" async function asyncFunc() { try { let result = await new Promise((resolve, reject) => {}); // บรรทัด a - console.log(2333); // บรรทัด b + console.log(result); // บรรทัด b } catch (err) { console.log(err); // บรรทัด c } } -asyncFunc(); +asyncFunc(); ``` ข้อควรระวังในการใช้ await From da798e99b3c62f05a5680bfe09d7d37dccc84991 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Sep 2023 12:40:00 +0700 Subject: [PATCH 557/757] no message --- examples_book/Chapter19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index d23d419..0ad1be7 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -194,7 +194,7 @@ async function asyncFunc() { console.log(err); // บรรทัด c } } -asyncFunc(); +asyncFunc(); ``` ข้อควรระวังในการใช้ await From a820a2ac3d405a4aa348d38679f3b279a37799ed Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Sep 2023 13:38:17 +0700 Subject: [PATCH 558/757] no message --- examples_book/Chapter19.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 0ad1be7..e0cc90e 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -421,6 +421,32 @@ console.log("Hello"); // บรรทัด d // "Hello" ``` +```run.module +async function otherAsyncFunc(ms) { // ส่งค่าอากิวเมนต์เข้ามา + return new Promise ( + resolve => setTimeout( + () => resolve(`Time out: ${ms} ms`, ms ) + ,ms ) // กำหนด timeout หน่วยเป็นมิลลิวินาที (millisecond) + ); +} +async function func1() { + let time = await otherAsyncFunc(1000); + let t = await "func1-> " + time; + console.log(t); +} +async function func2() { // ส่งค่าอากิวเมนต์เข้ามา + let time = await otherAsyncFunc(100); + let t = await "func2: " + time; + console.log(t); +} +func1(); // บรรทัด a +func2(); // บรรทัด b +/* แสดงผลลัพธ์ +"func1-> Time out: 100 ms" +"func2-> Time out: 1000 ms" */ +```run.module + + ## Asynchronous iteration ```js From 147818356b6ef437363bf4427abd8aa59b5f7f9c Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Sep 2023 15:16:42 +0700 Subject: [PATCH 559/757] no message --- examples_book/Chapter19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index e0cc90e..1ddb392 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -444,7 +444,7 @@ func2(); // บรรทัด b /* แสดงผลลัพธ์ "func1-> Time out: 100 ms" "func2-> Time out: 1000 ms" */ -```run.module +``` ## Asynchronous iteration From f94c878916d5fcb4cbb39bf288a5692ad823157a Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Sep 2023 15:21:22 +0700 Subject: [PATCH 560/757] no message --- examples_book/Chapter19.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 1ddb392..29ad27a 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -442,8 +442,8 @@ async function func2() { // ส่งค่าอากิวเมนต์เ func1(); // บรรทัด a func2(); // บรรทัด b /* แสดงผลลัพธ์ -"func1-> Time out: 100 ms" -"func2-> Time out: 1000 ms" */ +"func2-> Time out: 1000 ms" +"func1-> Time out: 100 ms" */ ``` From 9bc5c7489ba861576cdd82211d6f346a6a9c5deb Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Sep 2023 15:33:02 +0700 Subject: [PATCH 561/757] no message --- examples_book/Chapter19.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 29ad27a..d498df2 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -436,14 +436,14 @@ async function func1() { } async function func2() { // ส่งค่าอากิวเมนต์เข้ามา let time = await otherAsyncFunc(100); - let t = await "func2: " + time; + let t = await "func2-> " + time; console.log(t); } func1(); // บรรทัด a func2(); // บรรทัด b /* แสดงผลลัพธ์ -"func2-> Time out: 1000 ms" -"func1-> Time out: 100 ms" */ +"func2-> Time out: 100 ms" +"func1-> Time out: 1000 ms" */ ``` From df95232b60907d581d706864846335f0644e7de8 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Sep 2023 15:38:45 +0700 Subject: [PATCH 562/757] no message --- examples_book/Chapter19.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index d498df2..cb8247b 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -446,6 +446,14 @@ func2(); // บรรทัด b "func1-> Time out: 1000 ms" */ ``` +นำตัวอย่างก่อนหน้ามาใช้ด้วยการ เติม await นำหน้า (อย่าลืมก็อปปี้โค้ด func1() กับ func2() มาใช้งานด้วย) +```run.module +await func1(); +await func2(); +/* แสดงผลลัพธ์ +“func1-> Time out: 1000 ms” +“func2-> Time out: 100 ms” */ +``` ## Asynchronous iteration From 124ca0055d49489d6a1fb2b1d50db180bba19566 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Sep 2023 15:39:39 +0700 Subject: [PATCH 563/757] no message --- examples_book/Chapter19.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index cb8247b..21eafab 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -451,8 +451,8 @@ func2(); // บรรทัด b await func1(); await func2(); /* แสดงผลลัพธ์ -“func1-> Time out: 1000 ms” -“func2-> Time out: 100 ms” */ +"func1-> Time out: 1000 ms" +"func2-> Time out: 100 ms" */ ``` ## Asynchronous iteration From 9a39c49b0ea82d14e926c2f2e32e75564aa612b4 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Sep 2023 19:59:25 +0700 Subject: [PATCH 564/757] no message --- examples_book/Chapter19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 21eafab..dfdb0f8 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -434,7 +434,7 @@ async function func1() { let t = await "func1-> " + time; console.log(t); } -async function func2() { // ส่งค่าอากิวเมนต์เข้ามา +async function func2() { let time = await otherAsyncFunc(100); let t = await "func2-> " + time; console.log(t); From c68b5d4cff7c3a27766e9e0b3627f02a17a860ad Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Sep 2023 21:04:51 +0700 Subject: [PATCH 565/757] no message --- examples_book/Chapter19.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index dfdb0f8..4e83b48 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -595,8 +595,8 @@ async function* asynGenerator () { yield Promise.resolve(2); // บรรทัด b yield Promise.resolve(3); // บรรทัด c } -for await(const i of asynGenerator()) { - console.log(i) // บรรทัด d +for await(const i of asynGenerator()) { // บรรทัด d + console.log(i) // บรรทัด e } /* แสดงผลลัพธ์ 1 @@ -605,16 +605,16 @@ for await(const i of asynGenerator()) { ``` ```run.module -async function* otherAsynGenerator() { +async function* otherAsynGenerator() { // บรรทัด a yield Promise.resolve(2); yield Promise.resolve(3); } async function* asynGenerator() { yield Promise.resolve(1); - yield *otherAsynGenerator(); // บรรทัด a - yield Promise.resolve(4); // บรรทัด c + yield *otherAsynGenerator(); // บรรทัด b + yield Promise.resolve(4); // บรรทัด c } -for await(const i of asynGenerator()) { +for await(const i of asynGenerator()) { // บรรทัด d console.log(i) } /* แสดงผลลัพธ์ From 85365b8dc7684edd187b0bb8648bf5e7ba23606c Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 1 Oct 2023 13:31:55 +0700 Subject: [PATCH 566/757] no message --- examples_book/Chapter20.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index da9304b..6bb8132 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -173,6 +173,22 @@ import { msg as msg2 } from "./say.js"; // "Hello" ``` +```run.module +// -------------- ไฟล์ main.js -------------- +console.log(“Hi”) // บรรทัด a +import { msg } from “./say.js”; // บรรทัด b +// แสดงผลลัพธ์ +// “Hello” +// “Hi” +``` + +```run.module +// -------------- ไฟล์ main.js -------------- +{ + import { msg } from “./say.js”; // SyntaxError +} +``` + ## เปลี่ยนชื่อสิ่งที่ต้องการโหลด และเอ็กซ์พอร์ต ```run.module From b0a25f8e534dd407df051c0f89e096854fd51bfb Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 1 Oct 2023 14:45:28 +0700 Subject: [PATCH 567/757] no message --- examples_book/Chapter20.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 6bb8132..997381c 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -175,17 +175,17 @@ import { msg as msg2 } from "./say.js"; ```run.module // -------------- ไฟล์ main.js -------------- -console.log(“Hi”) // บรรทัด a -import { msg } from “./say.js”; // บรรทัด b +console.log("Hi") // บรรทัด a +import { msg } from "./say.js"; // บรรทัด b // แสดงผลลัพธ์ -// “Hello” -// “Hi” +// "Hello" +// "Hi" ``` ```run.module // -------------- ไฟล์ main.js -------------- { - import { msg } from “./say.js”; // SyntaxError + import { msg } from "./say.js"; // SyntaxError } ``` @@ -367,9 +367,9 @@ a.say("I love JavaScript"); // "I love JavaScript" หมายเหตุ ตัวอย่างหน้า HTML นี้ ต้องมีมอดูล mylib.js ข้างล่างเสียก่อน ไม่เช่นนั้นตัวอย่างหน้าเว็บจะไม่เจอมอดูล -เช่น mylib.js อยู่ในโฟลเดอร์ test_module เราก็อ้างถึงพาธ "./test_module/mylib.js" +เช่น mylib.js อยู่ในโฟลเดอร์ test_module เราก็อ้างถึงพาธ "./test_modulejs/mylib.js" -```html +```tab.html @@ -382,7 +382,7 @@ a.say("I love JavaScript"); // "I love JavaScript" ``` -หมายเหตุ mylib.js สมมติอยู่ในโฟลเดอร์ test_module +หมายเหตุ mylib.js สมมติอยู่ในโฟลเดอร์ test_modulejs ```module // -------------- ไฟล์ mylib.js ------------------ From ead1cc1dd6ead38987f8431f5e86f8aa3a86b482 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 1 Oct 2023 16:11:03 +0700 Subject: [PATCH 568/757] no message --- examples_book/Chapter20.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 997381c..904678e 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -97,10 +97,10 @@ export {square, calculate, multiply}; import {square, calculate} from "./example.js"; console.log(square(2)); // 4 console.log(calculate(2, 2)); // 800 -square =1; // TypeError -calculate= 2; // TypeError -var square = 1; // SyntaxError -var calculate = 2 ; // SyntaxError +square =1; // บรรทัด a -- จะเกิด TypeError +calculate= 2; // บรรทัด b -- จะเกิด ypeError +var square = 1; // บรรทัด c -- จะเกิด SyntaxError +var calculate = 2 ; // บรรทัด d -- จะเกิด SyntaxError ``` ----- From da52a3d2955543ceb9a6d1ab5e83052d94499685 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 1 Oct 2023 16:15:30 +0700 Subject: [PATCH 569/757] no message --- examples_book/Chapter20.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 904678e..f928aa0 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -98,7 +98,7 @@ import {square, calculate} from "./example.js"; console.log(square(2)); // 4 console.log(calculate(2, 2)); // 800 square =1; // บรรทัด a -- จะเกิด TypeError -calculate= 2; // บรรทัด b -- จะเกิด ypeError +calculate= 2; // บรรทัด b -- จะเกิด TypeError var square = 1; // บรรทัด c -- จะเกิด SyntaxError var calculate = 2 ; // บรรทัด d -- จะเกิด SyntaxError ``` From f71f97247ec622a8d7d1d5bc661cf118efadb6b2 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 1 Oct 2023 16:19:44 +0700 Subject: [PATCH 570/757] no message --- examples_book/Chapter20.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index f928aa0..39fe384 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -99,8 +99,8 @@ console.log(square(2)); // 4 console.log(calculate(2, 2)); // 800 square =1; // บรรทัด a -- จะเกิด TypeError calculate= 2; // บรรทัด b -- จะเกิด TypeError -var square = 1; // บรรทัด c -- จะเกิด SyntaxError -var calculate = 2 ; // บรรทัด d -- จะเกิด SyntaxError +let square = 1; // บรรทัด c -- จะเกิด SyntaxError +let calculate = 2 ; // บรรทัด d -- จะเกิด SyntaxError ``` ----- From 1b1b80edb6e719e270d854a6114b82b667f13990 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 1 Oct 2023 16:45:55 +0700 Subject: [PATCH 571/757] no message --- examples_book/Chapter20.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/examples_book/Chapter20.md b/examples_book/Chapter20.md index 39fe384..7717cba 100644 --- a/examples_book/Chapter20.md +++ b/examples_book/Chapter20.md @@ -65,7 +65,7 @@ function calculate(x, y) { function multiply(num1, num2) { return num1 * num2; } -export { square, calculate, multiply}; // เขียนคำว่า export ที่บรรทัดสุดท้ายที่เดียว +export { square, calculate, multiply }; // เขียนคำว่า export ที่บรรทัดสุดท้ายที่เดียว ``` ```js @@ -89,12 +89,12 @@ function calculate(x, y) { function multiply(num1, num2) { return num1 * num2; } -export {square, calculate, multiply}; +export { square, calculate, multiply }; ``` ```run.module // -------------- ไฟล์ main.js ----------------- -import {square, calculate} from "./example.js"; +import { square, calculate } from "./example.js"; console.log(square(2)); // 4 console.log(calculate(2, 2)); // 800 square =1; // บรรทัด a -- จะเกิด TypeError @@ -210,12 +210,12 @@ export function calculate(x, y) { function multiply(num1, num2) { return num1 * num2; } -export { square as sqr, calculate as calc, multiply as mul}; // บรรทัด a +export { square as sqr, calculate as calc, multiply as mul }; // บรรทัด a ``` ```run.module // -------------- ไฟล์ main.js ----------------- -import {sqr, calc, mul} from "./example.js"; +import { sqr, calc, mul } from "./example.js"; console.log(sqr(2)); // 4 console.log(calc(2, 2)); // 800 console.log(mul(2,2)); // 4 @@ -266,7 +266,7 @@ export default function(num1, num2) { // ฟังก์ชั่นไร้ ```run.module // -------------- ไฟล์ main.js ------------------- -import multiply, {value, square} from "./mydefault.js"; +import multiply, { value, square } from "./mydefault.js"; console.log(value); // 100 console.log(square(2,2)); // 4 console.log(multiply(2,2)); // 4 @@ -278,23 +278,23 @@ console.log(multiply(2,2)); // 4 // -------------- ไฟล์ mylib.js -------------- var foo = 1; var bar = 2; -export {foo, bar}; +export { foo, bar }; ``` ```module // -------------- ไฟล์ example.js -------------- -export {foo, bar} from "./mylib.js"; +export { foo, bar } from "./mylib.js"; ``` ```module // -------------- ไฟล์ example.js -------------- -import {foo, bar} from "./mylib.js"; -export {foo, bar}; +import { foo, bar } from "./mylib.js"; +export { foo, bar }; ``` ```module // -------------- ไฟล์ example.js -------------- -export {foo as foo1, bar} from "./mylib.js"; +export { foo as foo1, bar } from "./mylib.js"; ``` ```module @@ -306,7 +306,7 @@ export * from "./mylib.js"; ```run.module // -------------- ไฟล์ main.js -------------- -import {foo, bar} from "./example.js"; +import { foo, bar } from "./example.js"; console.log(foo, bar); ``` @@ -323,7 +323,7 @@ export * as ns from "http"; // -------------- ไฟล์ name.js ------------------ const firstname = "Somchai"; const lastname = "Jaidee"; -export {firstname, lastname}; // ส่งออก firstname กับ lastname +export { firstname, lastname }; // ส่งออก firstname กับ lastname ``` * 2) ไฟล์ student.js เป็นมอดูลอย่างง่าย ข้างในทำการ export ส่งออกตัวแปร age และจะนำเข้ามอดูล name.js พร้อม export ส่องออกมอดูลออกมาเป็นชื่อ person (เปลี่ยนชื่อ namespace) @@ -338,8 +338,8 @@ export * as person from "./name.js" // ส่งออก person * 3) ไฟล์ myprogram.js เอาไว้รันทดสอบโปรแกรม โดยจะนำเข้ามอดูล student.js ดังตัวอย่าง ```run.module -// -------------- ไฟล์ myprogram.js ----------------- -import {age, person} from "./student.js" +// -------------- ไฟล์ myprogram.js ------------------ +import { age, person } from "./student.js" console.log(age); // 25 console.log(person.firstname); // "Somchai" console.log(person.lastname); // "Jaidee" @@ -389,9 +389,9 @@ a.say("I love JavaScript"); // "I love JavaScript" export const msg = "I love JavaScript"; ``` -```js +```notrun ``` @@ -424,11 +424,11 @@ console.log(msg); ตัวอย่างไฟล์ package.json -```js +```notrun { "type": "module" } ``` -```js +```notrun { "name": "my-awesome-package", "version": "1.0.0" From 0ae6bba8f319986317214074760fd954af020c77 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 1 Oct 2023 22:49:26 +0700 Subject: [PATCH 572/757] no message --- examples_book/Chapter19.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 4e83b48..a7b2831 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -200,8 +200,8 @@ asyncFunc(); ข้อควรระวังในการใช้ await ```js -function myFunc() { // ไม่มี async นำหน้า - let result1 = await otherAsyncFunc(1000); // "Error!" +function myFunc() { // ไม่มี async นำหน้า + let result1 = await Promise.resolve("Success!"); // "Error!" } ``` @@ -243,7 +243,7 @@ asyncFunc(); ```js async function asyncFunc() { - await function innerFunc() { + await async function innerFunc() { return await otherAsyncFunc(1000); // await อยู่ใต้ innerFunc() ไม่ได้ } innerFunc() From 9e9712bc81e4754e2b21907a64862653e9e31e7a Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 1 Oct 2023 22:55:06 +0700 Subject: [PATCH 573/757] no message --- examples_book/Chapter19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index a7b2831..4e81f18 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -201,7 +201,7 @@ asyncFunc(); ```js function myFunc() { // ไม่มี async นำหน้า - let result1 = await Promise.resolve("Success!"); // "Error!" + let result1 = await Promise.resolve("Success!"); // SyntaxError } ``` From 8ea9e7b78de16cc78ca80663458126c58ed03473 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 1 Oct 2023 22:57:28 +0700 Subject: [PATCH 574/757] no message --- examples_book/Chapter19.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 4e81f18..6599491 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -200,8 +200,8 @@ asyncFunc(); ข้อควรระวังในการใช้ await ```js -function myFunc() { // ไม่มี async นำหน้า - let result1 = await Promise.resolve("Success!"); // SyntaxError +function myFunc() { // ไม่มี async นำหน้า + let result = await Promise.resolve("Success!"); // SyntaxError } ``` From 610a5f5ac5a8d5ae957ce54635f3733b788f67ec Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 1 Oct 2023 23:03:28 +0700 Subject: [PATCH 575/757] no message --- examples_book/Chapter19.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 6599491..084adb5 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -233,7 +233,7 @@ console.log(result) // 123 ```js async function asyncFunc() { function innerFunc() { - return await otherAsyncFunc(1000); // await อยู่ใต้ innerFunc() ไม่ได้ + return await Promise.resolve("Success!"); // await อยู่ใต้ innerFunc() ไม่ได้ } innerFunc() .then(value => console.log(value)) @@ -243,8 +243,8 @@ asyncFunc(); ```js async function asyncFunc() { - await async function innerFunc() { - return await otherAsyncFunc(1000); // await อยู่ใต้ innerFunc() ไม่ได้ + async function innerFunc() { + return await Promise.resolve("Success!"); // await สามารถอยู่ใต้ innerFunc() ได้ } innerFunc() .then(value => console.log(value)) From 15ed5c26592d53cf958c2946552a8ecd6af97742 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 1 Oct 2023 23:07:11 +0700 Subject: [PATCH 576/757] no message --- examples_book/Chapter19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 084adb5..34c3946 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -249,7 +249,7 @@ async function asyncFunc() { innerFunc() .then(value => console.log(value)) } -asyncFunc(); // Time out: 1000 ms +asyncFunc(); // "Success!" ``` ```js From 05b999289e9428e14b8018f151aa7d33d1cc480d Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 2 Oct 2023 16:53:31 +0700 Subject: [PATCH 577/757] no message --- examples_book/Chapter19.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 34c3946..92f815b 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -185,6 +185,8 @@ async function asyncFunc() { asyncFunc(); // "Error!" ``` +ขอฝากเตือน + ```js async function asyncFunc() { try { From be64105ce8e91ebbad01b3d191f1a93ceba38942 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 2 Oct 2023 16:54:41 +0700 Subject: [PATCH 578/757] no message --- examples_book/Chapter19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index 92f815b..a77a971 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -190,7 +190,7 @@ asyncFunc(); // "Error!" ```js async function asyncFunc() { try { - let result = await new Promise((resolve, reject) => {}); // บรรทัด a + let result = await new Promise((resolve, reject) => { }); // บรรทัด a console.log(result); // บรรทัด b } catch (err) { console.log(err); // บรรทัด c From bd904a7949b02628cef87542b1b2864077d9a75b Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 2 Oct 2023 17:26:52 +0700 Subject: [PATCH 579/757] no message --- examples_book/Chapter01.md | 5 ----- examples_book/Chapter07.md | 2 ++ 2 files changed, 2 insertions(+), 5 deletions(-) delete mode 100644 examples_book/Chapter01.md diff --git a/examples_book/Chapter01.md b/examples_book/Chapter01.md deleted file mode 100644 index 659dae3..0000000 --- a/examples_book/Chapter01.md +++ /dev/null @@ -1,5 +0,0 @@ -# โค้ดบทที่ 1 แนะนำ - -```js -``` - diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 93e142e..a62e932 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -1,5 +1,7 @@ # โค้ดบทที่ 7 ทบทวน HTML DOM +หมายเหตุ กำลังทำ ยังไม่เสร็จดี + ```js ``` From a3f16d5b4eb5e65a0a04bbbf87269eb44300cd0e Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 2 Oct 2023 21:42:40 +0700 Subject: [PATCH 580/757] no message --- examples_book/Chapter04.md | 27 ++++++++++++++++++++++++++- examples_book/Chapter19.md | 4 ++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 22cd4ff..56c405a 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -204,7 +204,7 @@ console.log(value); // "foo" หรือ "bar" ```js while(true); // วนลูปไม่รู้จบ // หรือจะใช้ในประโยค for -for(;;); // วนลูปไม่รู้จบ +for(;;); // วนลูปไม่รู้จบ ``` ## การจัดการความผิดพลาด @@ -362,4 +362,29 @@ try { ); } /* โปรแกรมจะตาย และแจ้ง error ออกมา */ +``` + +### ทิ้งท้าย +```js +try { + va a=1 // บรรทัด a เกิด SyntaxError +} catch { + console.log("Error"); +} finally { + console.log("finally"); +} +/* โปรแกรมจะตาย และแจ้งว่าเกิด SyntaxError ออกมา */ +``` + +```js +try { + throw new SyntaxError() // บรรทัด a เกิด SyntaxError +} catch { + console.log("Error"); +} finally { + console.log("finally"); +} +/* แสดงผลลัพธ์ +"Error" +"finally" */ ``` \ No newline at end of file diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index a77a971..dbcbda6 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -185,7 +185,7 @@ async function asyncFunc() { asyncFunc(); // "Error!" ``` -ขอฝากเตือน +### ขอฝากเตือน ```js async function asyncFunc() { @@ -199,7 +199,7 @@ async function asyncFunc() { asyncFunc(); ``` -ข้อควรระวังในการใช้ await +### ข้อควรระวังในการใช้ await ```js function myFunc() { // ไม่มี async นำหน้า From 566a62eb8ee8395e887304ede8ea4491422afa6e Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 2 Oct 2023 21:44:20 +0700 Subject: [PATCH 581/757] no message --- examples_book/Chapter19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter19.md b/examples_book/Chapter19.md index dbcbda6..9e94648 100644 --- a/examples_book/Chapter19.md +++ b/examples_book/Chapter19.md @@ -199,7 +199,7 @@ async function asyncFunc() { asyncFunc(); ``` -### ข้อควรระวังในการใช้ await +### ข้อควรระวังในการใช้ await ```js function myFunc() { // ไม่มี async นำหน้า From cc137f0e12e9953f1f7113d95b9bfb5e41dd6b98 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 2 Oct 2023 22:59:42 +0700 Subject: [PATCH 582/757] no message --- examples_book/Chapter04.md | 101 +++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) diff --git a/examples_book/Chapter04.md b/examples_book/Chapter04.md index 56c405a..3c4f056 100644 --- a/examples_book/Chapter04.md +++ b/examples_book/Chapter04.md @@ -2,6 +2,18 @@ ## บล็อก +บล็อก (Block) ในจาวาสคริปต์ คือการใช้เครื่องหมายปีกกาเปิดและปิด ({ …} ) เพื่อรวมกลุ่มประโยคคำสั่งต่าง ๆ โดยมันจะมีโครงสร้างดังต่อไปนี้ + + +```notrun +{ + ประโยคคำสั่ง_1; + ประโยคคำสั่ง_2; + ... + ประโยคคำสั่ง_n; +} +``` + ```js { var a = 2; // ประโยคคำสั่ง 1 @@ -21,6 +33,14 @@ if (true) { ### ประโยคคำสั่ง while +```notrun +while(condition) { + statement +} +// ถ้ามีประโยคคำสั่งในบอดี้เพียงตัวเดียว ก็สามารถเขียนสั้น ๆ โดยไม่ต้องมีเครื่องหมาย {} ครอบ +while(condition) statement; +``` + ```js var i = 0; while (i < 3) { @@ -34,6 +54,15 @@ while (i < 3) { ``` ### ประโยคคำสั่ง do …while +```notrun +do { + statement +} while(condition); +// ถ้ามีประโยคคำสั่งในบอดี้เพียงตัวเดียว ก็สามารถเขียนสั้น ๆ โดยไม่ต้องมีเครื่องหมาย {} ครอบ +do + statement +while(condition); +``` ```js var i = 0; @@ -48,6 +77,13 @@ do { ``` ### ประโยคคำสั่ง for +```notrun +for ([expr1]; [expr2]; [expr3]) { + statement +} +// ถ้ามีประโยคคำสั่งในบอดี้เพียงตัวเดียว ก็สามารถเขียนสั้น ๆ โดยไม่ต้องมีเครื่องหมาย {} ครอบ +for ([expr1]; [expr2]; [expr3]) statement; +``` ```js for(var i=0; i<3; i++) { @@ -119,6 +155,46 @@ outer: while(true) { // บรรทัด a ## ประโยคเลือกเส้นทางการทำงาน ### ประโยคคำสั่ง if +```notrun +if (condition) { + statement +} +``` + +```notrun +if (condition) { + ประโยคคำสั่ง_1 +} else { + ประโยคคำสั่ง_2 +} +``` + +```notrun +if (เงื่อนไข_1) { + ประโยคคำสั่ง_1 +} else if (เงื่อนไข_2) { + ประโยคคำสั่ง_2 +} else if (เงื่อนไข_3) { + ประโยคคำสั่ง_3 +} +... +else { // มีหรือไม่มีก็ได้ + ประโยคคำสั่ง_N // เข้ามาทำงานก็ต่อเมื่อไม่ตรงกับเงื่อนไขใด ๆ ใน if ก่อนหน้านี้เลย +} +``` + +```notrun +if (เงื่อนไข_1) + ประโยคคำสั่ง_1 +else if (เงื่อนไข_2) + ประโยคคำสั่ง_2 +... +else if (เงื่อนไข_N) + ประโยคคำสั่ง_N +else + ประโยคคำสั่ง_Z +``` + ```js // var i = 1; // var i = 2; @@ -132,6 +208,28 @@ else ``` ### ประโยคคำสั่ง switch +```notrun +switch (นิพจน์_switch) { + case value1: + // เมื่อนิพจน์_switch มีค่าตรงกับ value1 เส้นทางการทำงานก็จะเริ่มจากจุดนี้เป็นต้นไป + [ประโยคคำสั่ง] + [break;] + case value2: + // เมื่อนิพจน์_switch มีค่าตรงกับ value2 เส้นทางการทำงานก็จะเริ่มจากจุดนี้เป็นต้นไป + [ประโยคคำสั่ง] + [break;] +... + case valueN: + // เมื่อนิพจน์_switch มีค่าตรงกับ valueN เส้นทางการทำงานก็จะเริ่มจากจุดนี้เป็นต้นไป + [ประโยคคำสั่ง] + [break;] + default: + // เมื่อนิพจน์_switch ไม่ตรงกับค่าที่อยู่ด้านหลัง case ตัวใดเลย + // เส้นทางการทำงานก็จะเริ่มจากจุดนี้เป็นต้นไป + [ประโยคคำสั่ง] + [break;] +} +``` ```js // var i = 1; @@ -176,6 +274,9 @@ switch (1) { ``` ### โอเปอเรเตอร์แบบเงื่อนไข +```notrun +เงื่อนไข ? นิพจน์_1 : นิพจน์_2 +``` ```js // var condition = true; From f1036330c8777484dd99f7489258895125ae6988 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 3 Oct 2023 13:14:56 +0700 Subject: [PATCH 583/757] no message --- examples_book/Chapter05.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter05.md b/examples_book/Chapter05.md index 2e1e5db..f3bb754 100644 --- a/examples_book/Chapter05.md +++ b/examples_book/Chapter05.md @@ -833,7 +833,7 @@ let person = { // บรรทัด a } showData(person) // บรรทัด b /* แสดงผลลัพธ์ -Person is Somchai , age is 23 */ +"Person is Somchai , age is 23" */ ``` ```js @@ -845,7 +845,7 @@ showData({ // บรรทัด a age: 23 }) /* แสดงผลลัพธ์ -Person is Somchai , age is 23 */ +"Person is Somchai , age is 23" */ ``` ```js From 516678747226d4af714c87c888d6eb1f774b8b62 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 3 Oct 2023 14:46:06 +0700 Subject: [PATCH 584/757] no message --- examples_book/Chapter05.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/examples_book/Chapter05.md b/examples_book/Chapter05.md index f3bb754..37d9ac8 100644 --- a/examples_book/Chapter05.md +++ b/examples_book/Chapter05.md @@ -9,7 +9,7 @@ var font = { }; ```js var font = { color: "red", // คีย์ชื่อ color : ข้อมูลเป็นสตริง "red" - myFunction: function (param) { // คีย์ชื่อ myFunction : ข้อมูลเป็นเมธอด (ฟังก์ชั่น) + myFunction: function (param) { // คีย์ชื่อ myFunction : ข้อมูลเป็นเมธอด (ฟังก์ชัน) /* ซอร์สโค้ดของเมธอดอยู่นี้ */ }, option: { // คีย์ชื่อ option : ข้อมูลเป็นอ็อบเจ็กต์ (อ๊อบเจ็กต์ซ้อนอ๊อบเจ็กต์) @@ -175,14 +175,14 @@ var obj2 = { console.log("this.a =", this.a); obj1.foo = function() { // บรรทัด a console.log("this.a =", this.a); - } // สิ้นสุดการประกาศฟังก์ชั่น foo() - } // สิ้นสุดการประกาศฟังก์ชั่น bar() + } // สิ้นสุดการประกาศฟังก์ชัน foo() + } // สิ้นสุดการประกาศฟังก์ชัน bar() }; obj2.bar(); // "this.a = 1" obj1.foo(); // "this.a = undefined" ``` -### this ในฟังก์ชั่น +### this ในฟังก์ชัน ```js //"use strict"; @@ -314,7 +314,7 @@ console.log(Object.getOwnPropertyDescriptor(obj2,"bar")); // รีเทิร // { value: "barValue", writable: false, enumerable: false, configurable: false } ``` -## ฟังก์ชั่นคอนสตรัคเตอร์ +## ฟังก์ชันคอนสตรัคเตอร์ ```js function Car(color) { @@ -333,7 +333,7 @@ function Car(color) { this.color = color; // ถ้าเป็นโหมดสตริคท์จะเกิด TypeError ขึ้นได้ return true; } -var blueCar = Car("blue"); // เป็นการเรียกฟังก์ชั่นธรรดา +var blueCar = Car("blue"); // เป็นการเรียกฟังก์ชันธรรดา console.log(blueCar); // true ``` @@ -514,7 +514,7 @@ console.log(1 instanceof Number); // false ``` ```js -// ฟังก์ชั่น +// ฟังก์ชัน Function.prototype.sayMsg = function(msg) { console.log("Function say:", msg); }; @@ -646,7 +646,7 @@ Object.preventExtensions(obj); console.log(Object.isExtensible(obj)); // false ``` -## ฟังก์ชั่นคอนสตรัคเตอร์ที่มีในภาษา +## ฟังก์ชันคอนสตรัคเตอร์ที่มีในภาษา ### Object @@ -655,7 +655,7 @@ var obj1 = new Object(1234); var obj2 = new Object(); // อ็อบเจ็กต์ว่าง var obj3 = new Object(undefined); // อ็อบเจ็กต์ว่าง var obj4 = new Object(null); // อ็อบเจ็กต์ว่าง -var obj5 = Object(1); // เรียกแบบฟังก์ชั่น (ค่าอากิวเมนต์เป็นอะไรก็ได้) +var obj5 = Object(1); // เรียกแบบฟังก์ชัน (ค่าอากิวเมนต์เป็นอะไรก็ได้) console.log(typeof obj5); // "object" ``` @@ -718,7 +718,7 @@ console.log(str1 === str2); // false ### Array ```js -var array1 = Array( 3 ); // เรียกแบบฟังก์ชั่น +var array1 = Array( 3 ); // เรียกแบบฟังก์ชัน console.log(array1.length); // 3 console.log(array1); // [ <3 empty slots> ] var array2 = new Array(3); @@ -805,7 +805,7 @@ array.forEach(function (value, index, arrayObj) { "a[ 3 ] = d" */ ``` -## ฟังก์ชั่นก็เป็นอ็อบเจ็กต์ +## ฟังก์ชันก็เป็นอ็อบเจ็กต์ ```js function foo() { From 9c5216abf16c18e82a737b449c3c0da7d221c7b3 Mon Sep 17 00:00:00 2001 From: adminho Date: Tue, 3 Oct 2023 14:48:53 +0700 Subject: [PATCH 585/757] no message --- examples_book/Chapter03.md | 44 +++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/examples_book/Chapter03.md b/examples_book/Chapter03.md index d058468..5147553 100644 --- a/examples_book/Chapter03.md +++ b/examples_book/Chapter03.md @@ -601,7 +601,7 @@ console.log(array); // [ 1, 2, 3, 4, 5, <4 empty slots>, 100 ] console.log(array.length); // 10 ``` -## การประกาศฟังก์ชั่น +## การประกาศฟังก์ชัน ```js function calculate(param1, param2) { @@ -645,7 +645,7 @@ console.log(result); // undefined ```js function myFunction() { console.log("myFunction"); - // จะเสมือนมีประโยค return undefined; วางไว้ตำแหน่งสุดท้าย ก่อนฟังก์ชั่นจบการทำงาน + // จะเสมือนมีประโยค return undefined; วางไว้ตำแหน่งสุดท้าย ก่อนฟังก์ชันจบการทำงาน } var result = myFunction(); // "myFunction" console.log(result); // undefined @@ -659,7 +659,7 @@ function calculate() { } ``` -### ฟังก์ชั่นไร้ชื่อ +### ฟังก์ชันไร้ชื่อ ```js function (param1, param2) { // ถ้ารันจะเกิด error @@ -667,7 +667,7 @@ function (param1, param2) { // ถ้ารันจะเกิด error } ``` -### นิพจน์ฟังก์ชั่น +### นิพจน์ฟังก์ชัน ```js var calculate = function (param1, param2) { @@ -702,7 +702,7 @@ myFunction(5,4); // 20 cal(5,4); // 20 ``` -### ฟังก์ชั่นคอลแบ็ค +### ฟังก์ชันคอลแบ็ค ```js function sayHi() { @@ -712,13 +712,13 @@ function sayBye() { console.log("Bye"); } function say(func) { - func(); // เรียกฟังก์ชั่นให้ทำงาน + func(); // เรียกฟังก์ชันให้ทำงาน } say(sayHi); // "Hi" say(sayBye); // "Bye" ``` -### รีเทิร์นออกมาเป็นฟังก์ชั่น +### รีเทิร์นออกมาเป็นฟังก์ชัน ```js function say(func) { @@ -726,8 +726,8 @@ function say(func) { function sayHi() { console.log("Hi"); } - return sayHi; // รีเทิร์นฟังก์ชั่น -} // สิ้นสุดการประกาศฟังก์ชั่น + return sayHi; // รีเทิร์นฟังก์ชัน +} // สิ้นสุดการประกาศฟังก์ชัน var hi = say(); // "Say..." hi(); // "Hi" ``` @@ -735,10 +735,10 @@ hi(); // "Hi" ```js function say(func) { console.log("Say..."); - return function() { // รีเทิร์นฟังก์ชั่นไร้ชื่อ + return function() { // รีเทิร์นฟังก์ชันไร้ชื่อ console.log("Hi"); } -} // สิ้นสุดการประกาศฟังก์ชั่น +} // สิ้นสุดการประกาศฟังก์ชัน var hi = say(); // "Say..." hi(); // "Hi" ``` @@ -762,15 +762,15 @@ function myFunction (param1, param2) { myFunction(100,200,300,400); // [Arguments] { '0': 100, '1': 200, '2': 300, '3': 400 } ``` -### ข้อควรระวังในการประกาศฟังก์ชั่น +### ข้อควรระวังในการประกาศฟังก์ชัน * 1) ```js -function myFunction(param1, param2) { // ฟังก์ชั่นนี้ไม่เคยถูกเรียกใช้งาน +function myFunction(param1, param2) { // ฟังก์ชันนี้ไม่เคยถูกเรียกใช้งาน console.log("function1 value:", param1, param2); } -myFunction(100, 200); // เรียกใช้ฟังก์ชั่นที่ประกาศอยู่ด้านล่าง -function myFunction(param) { // จะโอเวอร์ไรด์ทับฟังก์ชั่นที่ประกาศไว้ก่อนหน้านี้ +myFunction(100, 200); // เรียกใช้ฟังก์ชันที่ประกาศอยู่ด้านล่าง +function myFunction(param) { // จะโอเวอร์ไรด์ทับฟังก์ชันที่ประกาศไว้ก่อนหน้านี้ console.log("function2 value:", param); } myFunction(100); @@ -783,7 +783,7 @@ myFunction(100, 200); * 2) ```js -alert = function(data) { // alert ถูกกำหนดให้เป็นฟังก์ชั่นตัวใหม่ +alert = function(data) { // alert ถูกกำหนดให้เป็นฟังก์ชันตัวใหม่ console.log(data); // แสดงข้อความออกทางหน้าคอนโซล } alert("Hello, World"); // แสดงข้อความ "Hello, World" ออกทางหน้าคอนโซล @@ -817,7 +817,7 @@ console.log(a, b); // 1 2 + + +``` + +### ตัวอย่างการใช้งานอ็อบเจ็กต์ที่พบเจอ + +```html + + + + +
    +

    My head 1

    +
    My div 2
    +
    + + + + + + + +``` + + +```html + + + + +

    My head 1

    +

    My paragraph 1

    +

    My paragraph 2

    +

    My paragraph 3

    +

    My paragraph 4

    + + + + + + + +``` + +### สิ่งที่ควรรู้ HTMLCollection + +```html + + + + +

    My First Paragraph 1

    +

    My First Paragraph 2

    +

    My First Paragraph 3

    +

    My First Paragraph 4

    + + + + + + + + + + + +``` + +### ตัวอย่างการเข้าถึง ... + +```html + + + + +
    +
    +
    +
    +

    + +
    + + + + + + + + + + + + + + + +``` + +```html + + + + +
    +
    +
    +
    +

    + +
    + + + + + +``` + +## การเข้าถึงแอตทริบิวต์ของ element + +```html + + + + +

    Hello World

    + + + + + + + + +``` + + +```html + + + + +

    Hello World

    + + + + + + + + +``` + + +```html + + + + + + + + + + + +``` + +### การเพิ่มและลบ element +### ตัวอย่างเพิ่มและลบ

    ...

    + +```html + + + + + + + + + + + +``` + +### ตัวอย่างเพิ่มและลบ ใน select ของ HTML +```html + + + + + +

    + + +

    + + + + + + +``` + +## วิธีการแสดงเอาท์พุต + +### แสดงเอาท์พุตด้วยวิธีแรก + +```html + + + +

    My First Web Page

    +

    My First Paragraph

    +

    + + + +``` + +### แสดงเอาท์พุตด้วยวิธีที่สอง + +```html + + + +

    My First Web Page

    +

    My first paragraph

    + + + +``` + + +```html + + + + + + +

    My First Web Page

    +

    My first paragraph

    + + + +``` + +### แสดงเอาท์พุตด้วยวิธีที่สาม + +```html + + + + + + +``` + +## Event คืออะไร + +```notrun + + + + + + +``` + +### วิธีแรก HTML Event Attributes + +```html + + + + + + +``` + + +```html + + + + + + + +``` + +```html + + + + + + + +``` + +### วิธีที่ 2 ใช้ HTML DOM กำหนดซอร์สโค้ดจัดการ event + +```html + + + + + + + +``` + +ตัวอย่างแรก แปะจาวาสคริปต์ไว้ที่แอตทริบิวต์ของ element ใน HTML ได้เลย +```html + + + + + + +``` + +ตัวอย่างที่สอง จับแยกซอร์สโค้ดจาวาสคริปต์กับ HTML ออกจากกัน ไม่ต้องเรียกจาวาสคริปต์ใน element ของ HTML ดังนี้ + +```html + + + + + + +``` + + +```html + + + + + + + +``` + +### วิธีที่ 3 ใช้ DOM EventListener + +```html + + + + + + + +``` + +```html + + + +

    + + + + +``` -```js + +```html + + + +

    + + + + +``` + +```html + + + +

    + + + + +``` + +```html + + + +

    + + + + ``` ```html + + + +
    +
    + +
    +
    + + ``` \ No newline at end of file From 25268b141d398489bccc6e5c8dbf8863b89ba1cb Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 10:28:58 +0700 Subject: [PATCH 670/757] no message --- examples_book/Chapter07.md | 292 ++++++++++++++++++------------------- 1 file changed, 146 insertions(+), 146 deletions(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 1089e2b..c77c0a4 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -5,11 +5,11 @@ - “My title”<title> + <title>"My title"<title> </head> <body> - <h1>“My head 1”</h1> - <h2>“My head 2”</h2> + <h1>"My head 1"</h1> + <h2>"My head 2"</h2> </body> </html> ``` @@ -21,8 +21,8 @@ <html> <head></head> <body> - <div id=“div1”>My div 1</div> - <div id=“div2”>My div 2</div> + <div id="div1">My div 1</div> + <div id="div2">My div 2</div> </body> </html> ``` @@ -32,12 +32,12 @@ <html> <head></head> <body> - <div id=“div1”>My div 1</div> - <div id=“div2”>My div 2</div> + <div id="div1">My div 1</div> + <div id="div2">My div 2</div> <script> - let div1 = document.getElementById(“div1”); + let div1 = document.getElementById("div1"); console.log(div1) - let div2 = document.getElementById(“div2”); + let div2 = document.getElementById("div2"); console.log(div2) </script> </body> @@ -51,18 +51,18 @@ <html> <head></head> <body> -<div id=“div1”> - <h1 id=“h1”>My head 1</h1> +<div id="div1"> + <h1 id="h1">My head 1</h1> <div>My div 2</div> </div> <script> -let div = document.getElementById(“div1”); +let div = document.getElementById("div1"); console.log(div.innerHTML) </script> <script> -let h1 = document.getElementById(“h1”); +let h1 = document.getElementById("h1"); console.log(h1.innerHTML) </script> @@ -76,19 +76,19 @@ console.log(h1.innerHTML) <html> <head></head> <body> -<h1 id=“h1”>My head 1</h1> -<p class=“abc”>My paragraph 1</p> -<p class=“abc”>My paragraph 2</p> -<p class=“abc”>My paragraph 3</p> +<h1 id="h1">My head 1</h1> +<p class="abc">My paragraph 1</p> +<p class="abc">My paragraph 2</p> +<p class="abc">My paragraph 3</p> <p>My paragraph 4</p> <script> -let div = document.querySelector(“#h1”); +let div = document.querySelector("#h1"); console.log(div.innerHTML) </script> <script> -let all_pTag = document.querySelectorAll(“.abc”); +let all_pTag = document.querySelectorAll(".abc"); console.log(all_pTag) </script> @@ -103,29 +103,29 @@ console.log(all_pTag) <html> <head></head> <body> -<p id=“p1”>My First Paragraph 1</p> -<p id=“p2”>My First Paragraph 2</p> -<p id=“p3”>My First Paragraph 3</p> -<p name=“p4”>My First Paragraph 4</p> +<p id="p1">My First Paragraph 1</p> +<p id="p2">My First Paragraph 2</p> +<p id="p3">My First Paragraph 3</p> +<p name="p4">My First Paragraph 4</p> <script> -let all_pTag = document.getElementsByTagName(“p”); -console.log(“Total tags: ” +all_pTag.length); +let all_pTag = document.getElementsByTagName("p"); +console.log("Total tags: " +all_pTag.length); console.log(all_pTag.item(0)); // <p> ตัวแรก -console.log(all_pTag.namedItem(“p2”)); // <p> ตัวที่สอง +console.log(all_pTag.namedItem("p2")); // <p> ตัวที่สอง console.log(all_pTag.p3); // <p> ตัวที่สาม -console.log(all_pTag[“p4”]); // <p> ตัวที่สี่่ +console.log(all_pTag["p4"]); // <p> ตัวที่สี่่ </script> <script> -let all_pTag = document.getElementsByTagName(“p”) +let all_pTag = document.getElementsByTagName("p") for(let i=0; i<all_pTag.length; i++) { console.log(all_pTag.item(i)); } </script> <script> -let all_pTag = document.getElementsByTagName(“p”); +let all_pTag = document.getElementsByTagName("p"); let allNodes = [...all_pTag]; for(let p of allNodes) { console.log(p); @@ -133,7 +133,7 @@ for(let p of allNodes) { </script> <script> -let all_pTag = document.querySelectorAll(“p”); +let all_pTag = document.querySelectorAll("p"); for(let p of all_pTag) { console.log(p); } @@ -150,48 +150,48 @@ for(let p of all_pTag) { <html> <head></head> <body> -<form name=“myForm”> - <label for=“email”>email:</label><br> - <input name=“email” type=“email”><br/> - <label for=“password”>password:</label><br> - <input name=“password” type=“password”><br/><br/> - <button type=“submit”>Log in</button> +<form name="myForm"> + <label for="email">email:</label><br> + <input name="email" type="email"><br/> + <label for="password">password:</label><br> + <input name="password" type="password"><br/><br/> + <button type="submit">Log in</button> </form> <script> let elem1 = document.forms.myForm; -let elem2 = document.forms.namedItem(“myForm”); -console.log(elem1 === elem2); // ได้ผลลัพธ์เป็น “true” +let elem2 = document.forms.namedItem("myForm"); +console.log(elem1 === elem2); // ได้ผลลัพธ์เป็น "true" </script> <script> -let elem1 = document.forms[“myForm”]; -let elem2 = document.forms.namedItem(“myForm”); -console.log(elem1 === elem2); // ได้ผลลัพธ์เป็น “true” +let elem1 = document.forms["myForm"]; +let elem2 = document.forms.namedItem("myForm"); +console.log(elem1 === elem2); // ได้ผลลัพธ์เป็น "true" </script> <script> let elem1 = document.forms[0]; let elem2 = document.forms.item(0); -console.log(elem1 === elem2); // ได้ผลลัพธ์เป็น “true” +console.log(elem1 === elem2); // ได้ผลลัพธ์เป็น "true" </script> <script> let loginForm = document.forms.myForm; - loginForm.elements.email.placeholder = “mail@example.com”; - loginForm.elements.password.placeholder = “ป้อนรหัสผ่าน”; + loginForm.elements.email.placeholder = "mail@example.com"; + loginForm.elements.password.placeholder = "ป้อนรหัสผ่าน"; </script> <script> let loginForm = document.forms.myForm; - loginForm.email.placeholder = “mail@example.com”; - loginForm.password.placeholder = “ป้อนรหัสผ่าน”; + loginForm.email.placeholder = "mail@example.com"; + loginForm.password.placeholder = "ป้อนรหัสผ่าน"; </script> <script> - let loginForm = document.getElementsByTagName(“form”).myForm; - loginForm.email.placeholder = “mail@example.com”; - loginForm.password.placeholder = “ป้อนรหัสผ่าน”; + let loginForm = document.getElementsByTagName("form").myForm; + loginForm.email.placeholder = "mail@example.com"; + loginForm.password.placeholder = "ป้อนรหัสผ่าน"; </script> </body> @@ -203,20 +203,20 @@ console.log(elem1 === elem2); // ได้ผลลัพธ์เป <html> <head></head> <body> -<form id=“myForm” name=“myForm”> - <label for=“email”>email:</label><br> - <input name=“email” type=“email”><br/> - <label for=“password”>password:</label><br> - <input name=“password” type=“password”><br/><br/> - <button type=“submit”>Log in</button> +<form id="myForm" name="myForm"> + <label for="email">email:</label><br> + <input name="email" type="email"><br/> + <label for="password">password:</label><br> + <input name="password" type="password"><br/><br/> + <button type="submit">Log in</button> </form> <script> - let loginForm = document.getElementById(“myForm”); + let loginForm = document.getElementById("myForm"); // หรือจะใช้ - // let loginForm = document.querySelector(“#myForm”); - loginForm.email.placeholder = “mail@example.com”; - loginForm.password.placeholder = “ป้อนรหัสผ่าน”; + // let loginForm = document.querySelector("#myForm"); + loginForm.email.placeholder = "mail@example.com"; + loginForm.password.placeholder = "ป้อนรหัสผ่าน"; </script> </body> @@ -230,23 +230,23 @@ console.log(elem1 === elem2); // ได้ผลลัพธ์เป <html> <head></head> <body> -<h1 id=“target” >Hello World</h1> -<button onclick=“getAttr()”>Get attribute</button> -<button onclick=“setAttr()”>Set attribute</button> -<button onclick=“removeAttr()”>Remove attribute</button> +<h1 id="target" >Hello World</h1> +<button onclick="getAttr()">Get attribute</button> +<button onclick="setAttr()">Set attribute</button> +<button onclick="removeAttr()">Remove attribute</button> <script> function getAttr() { - let id = document.getElementById(“target”).getAttribute(“id”); + let id = document.getElementById("target").getAttribute("id"); alert(id); } function setAttr() { - document.getElementById(“target”).setAttribute(“style”, “color:red;”); + document.getElementById("target").setAttribute("style", "color:red;"); } function removeAttr() { - document.getElementById(“target”).removeAttribute(“style”); + document.getElementById("target").removeAttribute("style"); } </script> @@ -260,23 +260,23 @@ function removeAttr() { <html> <head></head> <body> -<h1 id=“target” >Hello World</h1> -<button onclick=“getAttr()”>Get attribute</button> -<button onclick=“setAttr()”>Set attribute</button> -<button onclick=“removeAttr()”>Remove attribute</button> +<h1 id="target" >Hello World</h1> +<button onclick="getAttr()">Get attribute</button> +<button onclick="setAttr()">Set attribute</button> +<button onclick="removeAttr()">Remove attribute</button> <script> function getAttr() { - let id = document.getElementById(“target”).id; + let id = document.getElementById("target").id; alert(id); } function setAttr() { - document.getElementById(“target”).style=“color:red;”; + document.getElementById("target").style="color:red;"; } function removeAttr() { - document.getElementById(“target”).style=“”; // ลบค่าเฉยๆ ไม่ได้ลบแอตทริบิวต์ออกไป + document.getElementById("target").style=""; // ลบค่าเฉยๆ ไม่ได้ลบแอตทริบิวต์ออกไป } </script> @@ -290,12 +290,12 @@ function removeAttr() { <html> <head></head> <body> -<input id=“target” type=“text” id=“myText” value=“Some text...” > -<button onclick=“showValue()”>Show value</button> +<input id="target" type="text" id="myText" value="Some text..." > +<button onclick="showValue()">Show value</button> <script> function showValue() { - let val = document.getElementById(“Show value”).value; + let val = document.getElementById("Show value").value; alert(val); } </script> @@ -312,18 +312,18 @@ function showValue() { <html> <head></head> <body> -<button onclick=“addElement()”>Add element</button> -<button onclick=“deleteElement()”>Delete element</button> +<button onclick="addElement()">Add element</button> +<button onclick="deleteElement()">Delete element</button> <script> function addElement() { - let tagP = document.createElement(“P”); - tagP.innerHTML = “Hello World”; + let tagP = document.createElement("P"); + tagP.innerHTML = "Hello World"; document.body.appendChild(tagP); } function deleteElement() { - let all_pTag = document.getElementsByTagName(“p”); + let all_pTag = document.getElementsByTagName("p"); let allNodes = [...all_pTag]; for(let p of allNodes) { p.remove(); @@ -341,26 +341,26 @@ function deleteElement() { <html> <head></head> <body> -<select id=“mySelect” size=”8”> +<select id="mySelect" size="8"> <option>Apple</option> <option>Banana</option> </select> <br/><br/> -<input id=“myInput” type=“text”> -<button type=“button”onclick=“insertOption()”>Insert option</button> +<input id="myInput" type="text"> +<button type="button"onclick="insertOption()">Insert option</button> <br/><br/> -<button type=“button” onclick=“deleteOption()”>Delete option</button> +<button type="button" onclick="deleteOption()">Delete option</button> <script> function deleteOption() { - let mySelect = document.getElementById(“mySelect”); + let mySelect = document.getElementById("mySelect"); mySelect.remove(mySelect.selectedIndex); } function insertOption() { - let mySelect = document.getElementById(“mySelect”); - let option = document.createElement(“option”); - let myInput = document.getElementById(“myInput”); - if (myInput.value !== ‘’) { // เช็คว่า จะต้องไม่กรอกข้อความว่างเข้ามา + let mySelect = document.getElementById("mySelect"); + let option = document.createElement("option"); + let myInput = document.getElementById("myInput"); + if (myInput.value !== '') { // เช็คว่า จะต้องไม่กรอกข้อความว่างเข้ามา option.text = myInput.value; mySelect.add(option); } @@ -381,9 +381,9 @@ function insertOption() { <body> <h1>My First Web Page</h1> <p>My First Paragraph</p> -<p id=“demo”></p> +<p id="demo"></p> <script> - document.getElementById(“demo”).innerHTML = 5 + 6; + document.getElementById("demo").innerHTML = 5 + 6; </script> </body> </html> @@ -409,12 +409,12 @@ function insertOption() { <!DOCTYPE html> <html> <head> - <meta charset=“UTF-8”> + <meta charset="UTF-8"> </head> <body> <h1>My First Web Page</h1> <p>My first paragraph</p> - <button type=“button” onclick=“document.write(5 + 6)”>Try it</button> + <button type="button" onclick="document.write(5 + 6)">Try it</button> </body> </html> ``` @@ -449,7 +449,7 @@ function insertOption() { <!DOCTYPE html> <html> <body> - <button onclick=“this.textContent = ‘Ooops!’”>Click me</button> + <button onclick="this.textContent = 'Ooops!'">Click me</button> </body> </html> ``` @@ -459,10 +459,10 @@ function insertOption() { <!DOCTYPE html> <html> <body> - <button onclick=“changeText(this)”>Click me</button> + <button onclick="changeText(this)">Click me</button> <script> function changeText(btn) {  -     btn.textContent = ‘Ooops!’; +     btn.textContent = 'Ooops!'; } </script> </body> @@ -473,10 +473,10 @@ function insertOption() { <!DOCTYPE html> <html> <body> - <button id=“btn” onclick=“changeText()”>Click me</button> + <button id="btn" onclick="changeText()">Click me</button> <script> function changeText() { - document.getElementById(“btn”).textContent = “Ooops!”; + document.getElementById("btn").textContent = "Ooops!"; } </script> </body> @@ -489,11 +489,11 @@ function insertOption() { <!DOCTYPE html> <html> <body> - <button id=“btn”>Click me</button> + <button id="btn">Click me</button> <script> - document.getElementById(“btn”).onclick = changeText; + document.getElementById("btn").onclick = changeText; function changeText() { - this.textContent = “Ooops!”; + this.textContent = "Ooops!"; } </script> </body> @@ -505,7 +505,7 @@ function insertOption() { <!DOCTYPE html> <html> <body> -<button onclick="this.textContent = ‘Ooops!’" +<button onclick="this.textContent = 'Ooops!'" onmouseleave="alert('mouse leave');">Click me</button> </body> </html> @@ -517,7 +517,7 @@ onmouseleave="alert('mouse leave');">Click me</button> <!DOCTYPE html> <html> <body> -<button onclick="this.textContent = ‘Ooops!’" +<button onclick="this.textContent = 'Ooops!'" onmouseleave="alert('mouse leave');">Click me</button> </body> </html> @@ -528,16 +528,16 @@ onmouseleave="alert('mouse leave');">Click me</button> <!DOCTYPE html> <html> <body> -<button id=“btn”>Click me</button> +<button id="btn">Click me</button> <script> -let btn = document.getElementById(“btn”); +let btn = document.getElementById("btn"); btn.onclick = changeText; btn.onmouseleave = showMsg; function changeText() { - this.textContent = “Ooops!”; + this.textContent = "Ooops!"; } function showMsg() { - alert(“mouse leave”); + alert("mouse leave"); } </script> </body> @@ -550,12 +550,12 @@ function showMsg() { <!DOCTYPE html> <html> <body> -<button id=”btn”>Click me</button> +<button id="btn">Click me</button> <script> -let element = document.getElementById(“myBtn”); -element.addEventListener(“click”,  +let element = document.getElementById("myBtn"); +element.addEventListener("click",  function( ) { - alert(“Hello World!”); + alert("Hello World!"); } ); </script> @@ -567,19 +567,19 @@ element.addEventListener(“click”,  <!DOCTYPE html> <html> <body> -<p id=“target”></p> -<button id=”btn”>Click me</button> +<p id="target"></p> +<button id="btn">Click me</button> <script> -let btn = document.getElementById(“btn”); +let btn = document.getElementById("btn"); function changeText() { - this.textContent = “Ooops!”; + this.textContent = "Ooops!"; } function showText() { - let h1 = document.getElementById(“target”); - h1.innerHTML = “Hello World”; + let h1 = document.getElementById("target"); + h1.innerHTML = "Hello World"; } -btn.addEventListener(“click”, changeText); // บรรทัด a -btn.addEventListener(“click”, showText); // บรรทัด b +btn.addEventListener("click", changeText); // บรรทัด a +btn.addEventListener("click", showText); // บรรทัด b </script> </body> </html> @@ -590,16 +590,16 @@ btn.addEventListener(“click”, showText); // บรรทัด b <!DOCTYPE html> <html> <body> -<p id=“target”></p> -<button id=”btn”>Click me</button> +<p id="target"></p> +<button id="btn">Click me</button> <script> -let btn = document.getElementById(“btn”); -btn.addEventListener(“click”, function() { // บรรทัด a - this.textContent = “Ooops!”; +let btn = document.getElementById("btn"); +btn.addEventListener("click", function() { // บรรทัด a + this.textContent = "Ooops!"; }); -btn.addEventListener(“click”, function() { // บรรทัด b - let h1 = document.getElementById(“target”); - h1.innerHTML = “Hello World”; +btn.addEventListener("click", function() { // บรรทัด b + let h1 = document.getElementById("target"); + h1.innerHTML = "Hello World"; }); </script> @@ -611,16 +611,16 @@ btn.addEventListener(“click”, function() { // บรรทัด <!DOCTYPE html> <html> <body> -<p id=“target”></p> -<button id=”btn”>Click me</button> +<p id="target"></p> +<button id="btn">Click me</button> <script> -let btn = document.getElementById(“btn”); -btn.addEventListener(“click”,  () => { // บรรทัด a - this.textContent = “Ooops!”; +let btn = document.getElementById("btn"); +btn.addEventListener("click",  () => { // บรรทัด a + this.textContent = "Ooops!"; }); -btn.addEventListener(“click”, () => { // บรรทัด b - let h1 = document.getElementById(“target”); - h1.innerHTML = “Hello World”; +btn.addEventListener("click", () => { // บรรทัด b + let h1 = document.getElementById("target"); + h1.innerHTML = "Hello World"; }); </script> </body> @@ -631,16 +631,16 @@ btn.addEventListener(“click”, () => { // บรรทั <!DOCTYPE html> <html> <body> -<p id=“target”></p> -<button id=”btn”>Click me</button> +<p id="target"></p> +<button id="btn">Click me</button> <script> -let btn = document.getElementById(“btn”); -btn.addEventListener(“click”,  () => { // บรรทัด a - this.textContent = “Ooops!”; +let btn = document.getElementById("btn"); +btn.addEventListener("click",  () => { // บรรทัด a + this.textContent = "Ooops!"; }); -btn.addEventListener(“click”, () => { // บรรทัด b - let h1 = document.getElementById(“target”); - h1.innerHTML = “Hello World”; +btn.addEventListener("click", () => { // บรรทัด b + let h1 = document.getElementById("target"); + h1.innerHTML = "Hello World"; }); </script> </body> @@ -652,8 +652,8 @@ btn.addEventListener(“click”, () => { // บรรทั <head></head> <body> <div> - <form action=“/action_page.php”> - <input type=“submit” value=“Submit”> + <form action="/action_page.php"> + <input type="submit" value="Submit"> </form> </div> </body> From 1d70ec6ae9c8b2b9897699ccb228083f3a1c331d Mon Sep 17 00:00:00 2001 From: adminho <couragor@gmail.com> Date: Sat, 21 Oct 2023 10:30:14 +0700 Subject: [PATCH 671/757] no message --- examples_book/Chapter07.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index c77c0a4..125e401 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -360,7 +360,7 @@ function insertOption() { let mySelect = document.getElementById("mySelect"); let option = document.createElement("option"); let myInput = document.getElementById("myInput"); - if (myInput.value !== '') { // เช็คว่า จะต้องไม่กรอกข้อความว่างเข้ามา + if (myInput.value !== '’) { // เช็คว่า จะต้องไม่กรอกข้อความว่างเข้ามา option.text = myInput.value; mySelect.add(option); } @@ -449,7 +449,7 @@ function insertOption() { <!DOCTYPE html> <html> <body> - <button onclick="this.textContent = 'Ooops!'">Click me</button> + <button onclick="this.textContent = 'Ooops!’">Click me</button> </body> </html> ``` @@ -462,7 +462,7 @@ function insertOption() { <button onclick="changeText(this)">Click me</button> <script> function changeText(btn) {  -     btn.textContent = 'Ooops!'; +     btn.textContent = 'Ooops!’; } </script> </body> @@ -505,7 +505,7 @@ function insertOption() { <!DOCTYPE html> <html> <body> -<button onclick="this.textContent = 'Ooops!'" +<button onclick="this.textContent = 'Ooops!’" onmouseleave="alert('mouse leave');">Click me</button> </body> </html> @@ -517,7 +517,7 @@ onmouseleave="alert('mouse leave');">Click me</button> <!DOCTYPE html> <html> <body> -<button onclick="this.textContent = 'Ooops!'" +<button onclick="this.textContent = 'Ooops!’" onmouseleave="alert('mouse leave');">Click me</button> </body> </html> From f943223dd3d66285599d4700a73352850137e953 Mon Sep 17 00:00:00 2001 From: adminho <couragor@gmail.com> Date: Sat, 21 Oct 2023 10:40:51 +0700 Subject: [PATCH 672/757] no message --- examples_book/Chapter07.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 125e401..bde0679 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -16,7 +16,7 @@ ## การเข้าถึง element -```html +```notrun <!DOCTYPE html> <html> <head></head> @@ -143,7 +143,7 @@ for(let p of all_pTag) { </html> ``` -### ตัวอย่างการเข้าถึง <from>...</form> +### ตัวอย่างการเข้าถึง '<from>...</form>' ```html <!DOCTYPE html> @@ -305,7 +305,7 @@ function showValue() { ``` ### การเพิ่มและลบ element -### ตัวอย่างเพิ่มและลบ <p>...</p> +### ตัวอย่างเพิ่มและลบ '<p>...</p>' ```html <!DOCTYPE html> @@ -335,7 +335,7 @@ function deleteElement() { </html> ``` -### ตัวอย่างเพิ่มและลบ <option>...</option> ใน select ของ HTML +### ตัวอย่างเพิ่มและลบ '<option>...</option>' ใน select ของ HTML ```html <!DOCTYPE html> <html> From e79a15dc2bf0c8ad975c18b28070b25faa94e181 Mon Sep 17 00:00:00 2001 From: adminho <couragor@gmail.com> Date: Sat, 21 Oct 2023 10:43:05 +0700 Subject: [PATCH 673/757] no message --- examples_book/Chapter07.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index bde0679..539176c 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -143,7 +143,7 @@ for(let p of all_pTag) { </html> ``` -### ตัวอย่างการเข้าถึง '<from>...</form>' +### ตัวอย่างการเข้าถึง <from>...</form> ```html <!DOCTYPE html> @@ -305,7 +305,7 @@ function showValue() { ``` ### การเพิ่มและลบ element -### ตัวอย่างเพิ่มและลบ '<p>...</p>' +### ตัวอย่างเพิ่มและลบ <p>...</p> ```html <!DOCTYPE html> @@ -335,7 +335,7 @@ function deleteElement() { </html> ``` -### ตัวอย่างเพิ่มและลบ '<option>...</option>' ใน select ของ HTML +### ตัวอย่างเพิ่มและลบ <option>...</option> ใน select ของ HTML ```html <!DOCTYPE html> <html> From 18b06be8a8a2d0470c30a0d78d58d9cbf3029215 Mon Sep 17 00:00:00 2001 From: adminho <couragor@gmail.com> Date: Sat, 21 Oct 2023 10:50:54 +0700 Subject: [PATCH 674/757] no message --- examples_book/Chapter07.md | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 539176c..21d52ee 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -360,7 +360,7 @@ function insertOption() { let mySelect = document.getElementById("mySelect"); let option = document.createElement("option"); let myInput = document.getElementById("myInput"); - if (myInput.value !== '’) { // เช็คว่า จะต้องไม่กรอกข้อความว่างเข้ามา + if (myInput.value !== '') { // เช็คว่า จะต้องไม่กรอกข้อความว่างเข้ามา option.text = myInput.value; mySelect.add(option); } @@ -449,7 +449,7 @@ function insertOption() { <!DOCTYPE html> <html> <body> - <button onclick="this.textContent = 'Ooops!’">Click me</button> + <button onclick="this.textContent = 'Ooops!'">Click me</button> </body> </html> ``` @@ -462,7 +462,7 @@ function insertOption() { <button onclick="changeText(this)">Click me</button> <script> function changeText(btn) {  -     btn.textContent = 'Ooops!’; +     btn.textContent = 'Ooops!'; } </script> </body> @@ -505,25 +505,14 @@ function insertOption() { <!DOCTYPE html> <html> <body> -<button onclick="this.textContent = 'Ooops!’" -onmouseleave="alert('mouse leave');">Click me</button> +<button onclick="this.textContent = 'Ooops!'" +onmouseleave="alert('mouse leave')">Click me</button> </body> </html> ``` ตัวอย่างที่สอง จับแยกซอร์สโค้ดจาวาสคริปต์กับ HTML ออกจากกัน ไม่ต้องเรียกจาวาสคริปต์ใน element ของ HTML ดังนี้ -```html -<!DOCTYPE html> -<html> -<body> -<button onclick="this.textContent = 'Ooops!’" -onmouseleave="alert('mouse leave');">Click me</button> -</body> -</html> -``` - - ```html <!DOCTYPE html> <html> From e15e64a8e383a75dd5fc3cb07f3557075ca46438 Mon Sep 17 00:00:00 2001 From: adminho <couragor@gmail.com> Date: Sat, 21 Oct 2023 10:57:14 +0700 Subject: [PATCH 675/757] no message --- examples_book/Chapter07.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 21d52ee..7db8c3e 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -590,7 +590,6 @@ btn.addEventListener("click", function() { // บรรทัด b let h1 = document.getElementById("target"); h1.innerHTML = "Hello World"; }); - </script> </body> </html> @@ -636,6 +635,8 @@ btn.addEventListener("click", () => { // บรรทัด b </html> ``` +## Event bubbling หรือ Event capturing + ```html <html> <head></head> From 081a3776e15c9a0035b2268f2f2839197148e373 Mon Sep 17 00:00:00 2001 From: adminho <couragor@gmail.com> Date: Sat, 21 Oct 2023 11:15:42 +0700 Subject: [PATCH 676/757] no message --- examples_book/Chapter07.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 7db8c3e..9ce78d1 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -5,18 +5,18 @@ <!DOCTYPE html> <html> <head> - <title>"My title"<title> + <title>“My title” -

    "My head 1"

    -

    "My head 2"

    +

    “My head 1”

    +

    “My head 2”

    ``` ## การเข้าถึง element -```notrun +```html From 9c888dc1fe951a2e74273061051f4c088194e342 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 11:16:33 +0700 Subject: [PATCH 677/757] no message --- examples_book/Chapter07.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 9ce78d1..f8ac071 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -5,11 +5,11 @@ - “My title” + "My title" -

    “My head 1”

    -

    “My head 2”

    +

    "My head 1"

    +

    "My head 2"

    ``` From cf9873643a64f4ffcfee6eaab546c417e11b00af Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 11:30:50 +0700 Subject: [PATCH 678/757] no message --- examples_book/Chapter07.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index f8ac071..30f729d 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -98,6 +98,7 @@ console.log(all_pTag) ### สิ่งที่ควรรู้ HTMLCollection +หมายเหตุ ถ้าจะรันโค้ดชุดนี้ ต้องแก้ไขให้ let all_pTag มีการประกาศแค่ครั้งเดียวพอ ```html @@ -145,6 +146,8 @@ for(let p of all_pTag) { ### ตัวอย่างการเข้าถึง ... +หมายเหตุ ถ้าจะรันโค้ดชุดนี้ ต้องแก้ไขให้ let elem1, let elem2 มีการประกาศแค่ครั้งเดียวพอ + ```html @@ -176,6 +179,25 @@ let elem2 = document.forms.item(0); console.log(elem1 === elem2); // ได้ผลลัพธ์เป็น "true" + + +``` + +หมายเหตุ ถ้าจะรันโค้ดชุดนี้ ต้องแก้ไขให้ let loginForm มีการประกาศแค่ครั้งเดียวพอ + +```html + + + + +
    +
    +
    +
    +

    + +
    + From b6ec85add33a0396f56e3f55b72fc9f7722e8076 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 12:02:55 +0700 Subject: [PATCH 680/757] no message --- examples_book/Chapter07.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 48001e8..2377dd0 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -403,7 +403,7 @@ function insertOption() {

    My First Web Page

    My First Paragraph

    -

    +

    From 6d78bbf22f40ec190d58f4e0f3e97359bd61273c Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 12:28:39 +0700 Subject: [PATCH 681/757] no message --- examples_book/Chapter07.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 2377dd0..4bfed3f 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -427,7 +427,7 @@ function insertOption() { ``` -```html +```tab.html From d72cabb096f4a3e0ac187ba96110d3f5c1f87a1f Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 12:37:33 +0700 Subject: [PATCH 682/757] no message --- examples_book/Chapter07.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 4bfed3f..6f0d2f3 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -441,6 +441,21 @@ function insertOption() { ``` +หมายเหตุ ถ้าใช้ window.open() เมื่อนั้น document.write() จะไม่เขียนทับ +```html + + + + + + +

    My First Web Page

    +

    My first paragraph

    + + + +``` + ### แสดงเอาท์พุตด้วยวิธีที่สาม ```html From b1dd8902b8f4ce0e1d71e407be759cd08845d6fc Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 12:55:04 +0700 Subject: [PATCH 683/757] no message --- examples_book/Chapter07.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 6f0d2f3..59746a0 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -471,7 +471,7 @@ function insertOption() { ## Event คืออะไร -```notrun +```html @@ -576,7 +576,7 @@ function showMsg() { - + - - -``` - ## Event bubbling หรือ Event capturing ```html From a81eefa57a7c5702893481117c0d02984c8b463d Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 13:56:13 +0700 Subject: [PATCH 685/757] no message --- examples_book/Chapter06.md | 68 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 65 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 789cabc..66d1261 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -19,21 +19,25 @@ console.log(/Hello+/.toString()); // /Hello+/ ### เมธอด test() กับ exec() +ตัวอย่าง 6.1 การใช้งานเมธอด test() เพื่อค้นหาข้อความในสตริง ```js console.log( /Hello+/.test("Hellooooo") ); // true console.log( (new RegExp("Hello+")).test("Hellooooo") ); // true ``` +ตัวอย่าง 6.2 เนื่องจากข้อความแบบ regex สามารถนำไปประยุกต์ใช้งานได้หลายกรณี และตัวอย่างต่อไปนี้จะเป็นการใช้ regex มาตรวจสอบข้อความว่าเป็นอีเมลหรือไม่ ```js var myRegex = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; console.log(myRegex.test("xxxxxx.yyyyyy_zzzzz@abc.com")); // true ``` +ตัวอย่าง 6.3 ข้อความแบบ regex สามารถนำไปใช้ตรวจสอบตัวเลข ```js var myRegex = /^(\-?|\+?)\d*$/; console.log(myRegex.test("-987")); // true ``` +ตัวอย่าง 6.4 การใช้งานเมธอด exec() เพื่อค้นหาข้อความในสตริง ```js var result = /(foo).(bar)/.exec("0123foo_bar"); console.log(result.index); // 4 @@ -47,11 +51,13 @@ console.log(result.input); // "0123foo_bar" ### การระบุคำที่ต้องการค้นหา +ตัวอย่าง 6.5 ใช้ /like/ เป็น regex เพื่อจับคู่ลำดับตัวอักษร "like" ในสตริง "I like u" ซึ่งเจอชุดตัวอักษร "like" ที่อินเด็กซ์ 2 ```js var re = /like/; console.log(re.exec("I like u")); // [ 'like', index: 2, input: 'I like u', groups: undefined ] ``` +ตัวอย่าง 6.6 ใช้ /html|div|br/ เป็น regex เพื่อจับคู่ลำดับตัวอักษร "html" หรือ "div" หรือ "br" อย่างใดอย่างหนึ่ง ในสตริง "
    " ซึ่งเจอชุดอักษร "div" ที่อินเด็กซ์ 1 ```js var re = /html|div|br/; console.log(re.exec("
    ")); // [ 'div', index: 1, input: '
    ', groups: undefined ] @@ -59,51 +65,61 @@ console.log(re.exec("
    ")); // [ 'div', index: 1, input: '
    ', groups: ### การระบุช่วงตัวอักษรที่จับคู่ +ตัวอย่าง 6.7 ใช้ regex เป็น /[abc]/ หมายถึงจะจับคู่ตัวอักษร a หรือ b หรือ c โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "b" ในตริง "feb" ที่อินเด็กซ์ 2 ```js var re = /[abc]/; console.log(re.exec("feb")); // [ 'b', index: 2, input: 'feb', groups: undefined ] ``` +ตัวอย่าง 6.8 ใช้ regex เป็น /[7-9]/ หมายถึงจะจับคู่ตัวเลขในช่วง 7 ถึง 9 โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "8" ในตริง "2+8"" ที่อินเด็กซ์ 2 ```js var re = /[7-9]/; console.log(re.exec("2+8")); // [ '8', index: 2, input: '2+8', groups: undefined ] ``` +ตัวอย่าง 6.9 ใช้ regex เป็น /[a-c]/ หมายถึงจะจับคู่ตัวอักษรตัวพิมพ์เล็ก ตั้งแต่ a ถึง c โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "a" ในตริง "rat" ที่อินเด็กซ์ 1 ```js var re = /[a-c]/; console.log(re.exec("rat")); // [ 'a', index: 1, input: 'rat', groups: undefined ] ``` +ตัวอย่าง 6.10 ใช้ regex เป็น /[A-C]/ หมายถึงจะจับคู่ตัวอักษรตัวพิมพ์ใหญ่ ตั้งแต่ A ถึง C โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "C" ในตริง "COM" ที่อินเด็กซ์ 0 ```js var re = /[A-C]/; console.log(re.exec("COM")); // [ 'C', index: 0, input: 'COM', groups: undefined ] ``` +ตัวอย่าง 6.11 ใช้ regex เป็น /[a-cA-C]/ หมายถึงจะจับคู่ตัวอักษรตัวพิมพ์เล็ก ตั้งแต่ a ถึง c หรือตัวอักษรตัวพิมพ์ใหญ่ ตั้งแต่ A ถึง C โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "A" ในตริง "AND" ที่อินเด็กซ์ 0 ```js var re = /[a-cA-C]/; console.log(re.exec("AND")); // [ 'A', index: 0, input: 'AND', groups: undefined ] ``` +ตัวอย่าง 6.12 ใช้ regex เป็น /[^cat]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่ c หรือ a หรือ t โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "s" ในตริง "cats" ที่อินเด็กซ์ 3 ```js var re = /[^cat]/; console.log(re.exec("cats")); // [ 's', index: 3, input: 'cats', groups: undefined ] ``` +ตัวอย่าง 6.13 ใช้ regex เป็น /[^0-3]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่เลข 0 ถึง 3 โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "k" ในตริง "20k" ที่อินเด็กซ์ 2 ```js var re = /[^0-3]/; console.log(re.exec("20k")); // [ 'k', index: 2, input: '20k', groups: undefined ] ``` +ตัวอย่าง 6.14 ใช้ regex เป็น /[^w-z]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่ตัวอักษร w ถึง z โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจอเลข 1 ในตริง "xy12" ที่อินเด็กซ์ 2 ```js var re = /[^w-z]/; console.log(re.exec("xy12")); // [ '1', index: 2, input: 'xy12', groups: undefined ] ``` +ตัวอย่าง 6.15 ใช้ regex เป็น /[^m-oM-O]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่ตัวอักษร m ถึง o และไม่ใช่ M ถึง O โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจอเลข "!" ในตริง "Moon!" ที่อินเด็กซ์ 4 ```js var re = /[^m-oM-O]/; console.log(re.exec("Moon!")); // [ '!', index: 4, input: 'Moon!', groups: undefined ] ``` +ตัวอย่าง 6.16 เป็นการประยุกต์ใช้ regex ที่ดูซับซ้อนขึ้น ได้แก่ /[a-zB-Mxyz157]/ หมายถึงจะจับคู่ตัวอักษรระหว่าง a ถึง z หรือ B ถึง M หรือ x หรือ y หรือ z หรือ 1 หรือ 5 หรือ 7 โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "5" ในตริง "3-5" ที่อินเด็กซ์ 2 ```js var re = /[a-zB-Mxyz157]/; console.log(re.exec("3-5")); // [ '5', index: 2, input: '3-5', groups: undefined ] @@ -111,67 +127,79 @@ console.log(re.exec("3-5")); // [ '5', index: 2, input: '3-5', groups: undef ### การระบุความถี่ของลำดับตัวอักษรที่จับคู่ +ตัวอย่าง 6.17 ใช้ regex เป็น /3+/ หมายถึงจะจับคู่ลำดัับตัวเลข 3 ตั้งแต่ 1 ตัวขึ้นไป โดยจะเจออักษร "3" ในตริง "123" ที่อินเด็กซ์ 2 ```js var re = /3+/; console.log(re.exec("123")); // [ '3', index: 2, input: '123', groups: undefined ] ``` +ตัวอย่าง 6.18 ใช้ regex เป็น /p+/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ 1 ตัวขึ้นไป โดยจะเจออักษร "pp" ในสตริง "app" ที่อินเด็กซ์ 1 ```js var re = /p+/; console.log(re.exec("app")); // [ 'pp', index: 1, input: 'app', groups: undefined ] ``` +ตัวอย่าง 6.19 ใช้ regex เป็น /3*/ หมายถึงจะจับคู่ลำดับตัวเลข 3 ตั้งแต่ศูนย์ตัวขึ้นไป ในตัวอย่างนี้เป็นตริง "12" ก็จะถือว่าเจอสตริงว่าง ‘’ ที่อินเด็กซ์ 0 ```js var re = /3*/; console.log(re.exec("12")); // [ '', index: 0, input: '12', groups: undefined ] ``` +ตัวอย่าง 6.20 ใช้ regex เป็น /b*/ หมายถึงจะจับคู่ลำดับตัวอักษร "b" ตั้งแต่ศูนย์ตัวขึ้นไป โดยจะเจออักษร "bb" ในสตริง "bbc" ที่อินเด็กซ์ 0 ```js var re = /b*/; console.log(re.exec("bbc")); // [ 'bb', index: 0, input: 'bbc', groups: undefined ] ``` +ตัวอย่าง 6.21 ใช้ regex เป็น /p*/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัวขึ้นไป ในตัวอย่างนี้เป็นตริง "app" ก็จะถือว่าเจอสตริงว่าง ‘’ ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ ```js var re = /p*/; console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] ``` +ตัวอย่าง 6.22 ใช้ regex เป็น /b?/ หมายถึงจะจับคู่ลำดับตัวอักษร "b" ตั้งแต่ศูนย์ตัว ถึง 1 ตัว โดยจะเจออักษร "b" ในสตริง "bed" ที่อินเด็กซ์ 0 ```js var re = /b?/; console.log(re.exec("bed")); // [ 'b', index: 0, input: 'bed', groups: undefined ] ``` +ตัวอย่าง 6.23 ใช้ regex เป็น /b?/ หมายถึงจะจับคู่ลำดับตัวอักษร "b" ตั้งแต่ศูนย์ตัว ถึง 1 ตัว โดยจะเจออักษร "b" ในสตริง "bbc" ที่อินเด็กซ์ 0 (เจอ "b" ตัวแรกแล้ว ก็จะไม่ค้นหา "b" ตัวถัดไป) ```js var re = /b?/; console.log(re.exec("bbc")); // [ 'b', index: 0, input: 'bbc', groups: undefined ] ``` +ตัวอย่าง 6.24 ใช้ regex เป็น /p?/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัว ถึง 1 ตัว ในตัวอย่างนี้เป็นตริง "app" ก็จะถือว่าเจอสตริงว่าง ‘’ ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ ? ก็เหมือน * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ ```js var re = /p?/; console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] ``` +ตัวอย่าง 6.25 ใช้ regex เป็น /g{2}/ หมายถึงจะจับคู่ลำดับตัวอักษร "g" จำนวน 2 ตัว โดยจะเจออักษร "gg" ในสตริง "egg" ที่อินเด็กซ์ 1 ```js var re = /g{2}/; console.log(re.exec("egg")); // [ 'gg', index: 1, input: 'egg', groups: undefined ] ``` +ตัวอย่าง 6.26 ใช้ regex เป็น /5{2}/ หมายถึงจะจับคู่ลำดับตัวเลข 5 จำนวน 2 ตัว โดยจะเจออักษร "55" ในสตริง "555" ที่อินเด็กซ์ 0 (เจอ 5 แค่สองตัว ไม่ใช่เจอ "555") ```js var re = /5{2}/; console.log(re.exec("555")); // [ '55', index: 0, input: '555', groups: undefined ] ``` +ตัวอย่าง 6.27 ใช้ regex เป็น /e{1,3}/ หมายถึงจะจับคู่ลำดับตัวอักษร "e" จำนวนอย่างน้อย 1 ตัว และมากสุด 3 ตัว โดยจะเจออักษร "ee" ในสตริง "deep" ที่อินเด็กซ์ 1 (เจอ "e" สองตัว) ```js var re = /e{1,3}/; console.log(re.exec("deep")); // [ 'ee', index: 1, input: 'deep', groups: undefined ] ``` +ตัวอย่าง 6.28 ใช้ regex เป็น /x{1,3}/ หมายถึงจะจับคู่ลำดับตัวอักษร "x" จำนวนอย่างน้อย 1 ตัว และมากสุด 3 ตัว โดยจะเจออักษร "xxx" ในสตริง "xxxx" ที่อินเด็กซ์ 0 (เจอ "x" แค่สามตัว ไม่ใช่เจอ "xxxx") ```js var re = /x{1,3}/; console.log(re.exec("xxxx")); // [ 'xxx', index: 0, input: 'xxxx', groups: undefined ] ``` - +ตัวอย่าง 6.29 ใช้ regex เป็น /a{2,}/ หมายถึงจะจับคู่ลำดับตัวอักษร "a" จำนวนอย่างน้อย 2 ตัว โดยจะเจออักษร "aaa" ในสตริง "zaaa" ที่อินเด็กซ์ 1 (เจอ "a" สามตัว) ```js var re = /a{2,}/; console.log(re.exec("zaaa")); // [ 'aaa', index: 1, input: 'zaaa', groups: undefined ] @@ -179,96 +207,118 @@ console.log(re.exec("zaaa")); // [ 'aaa', index: 1, input: 'zaaa', groups: un ### การจับคู่แบบ assertions +ตัวอย่าง 6.30 ใช้ regex เป็น /^x/ หมายถึงจะจับคู่ตัวอักษร x จำนวน 1 ตัว ที่วางไว้ด้านหน้าสุด โดยจะเจอในสตริง "x-ray" ที่อินเด็กซ์ 0 ```js var re = /^x/; console.log(re.exec("x-ray")); // [ 'x', index: 0, input: 'x-ray', groups: undefined ] ``` - +ตัวอย่าง 6.31 ใช้ regex เป็น /r$/ หมายถึงจะจับคู่ตัวอักษร r จำนวน 1 ตัว ที่วางไว้ด้านท้ายสุด โดยจะเจอในสตริง "car" ที่อินเด็กซ์ 2 ```js var re = /r$/; console.log(re.exec("car")); // [ 'r', index: 2, input: 'car', groups: undefined ] ``` +ตัวอย่าง 6.32 ใช้ regex เป็น /\bfa/ หมายถึงจะจับคู่ชุดตัวอักษร "fa" ที่วางไว้ด้านหน้าสุดของคำใดคำหนึ่ง โดยจะเจอ "fa" ภายในคำ "father" ที่อินเด็กซ์ 2 (สตริงต้นทางคือ "A father is") ```js var re = /\bfa/; console.log(re.exec("A father is")); // [ 'fa', index: 2, input: 'A father is', groups: undefined ] ``` +ตัวอย่าง 6.33 ใช้ regex เป็น /\bth/ หมายถึงจะจับคู่ชุดตัวอักษร "th" ที่วางไว้ด้านหน้าสุดของคำใดคำหนึ่ง ซึ่งปรากฏว่าไม่เจอชุดอักษรใดที่ตรงเงื่อนไข (สตริงต้นทางคือ "A father is") ```js var re = /\bth/; console.log(re.exec("A father is")); // null ``` +ตัวอย่าง 6.34 ใช้ regex เป็น /er\b/ หมายถึงจะจับคู่ชุดตัวอักษร "er" ที่วางไว้ด้านหลังสุดของคำใดคำหนึ่ง โดยจะเจอ "er" ภายในคำ "father" ที่อินเด็กซ์ 6 (สตริงต้นทางคือ "A father is") ```js var re = /er\b/; console.log(re.exec("A father is")); // [ 'er', index: 6, input: 'A father is', groups: undefined ] ``` +ตัวอย่าง 6.35 ใช้ regex เป็น /th\b/ หมายถึงจะจับคู่ชุดตัวอักษร "th" ที่วางไว้ด้านหลังสุดของคำใดคำหนึ่ง ซึ่งปรากฏว่าไม่เจอชุดอักษรใดที่ตรงเงื่อนไข (สตริงต้นทางคือ "A father is") ```js var re = /th\b/; console.log(re.exec("A father is")); // null ``` +ตัวอย่าง 6.36 ใช้ regex เป็น /\Bfa/ หมายถึงจะจับคู่ชุดตัวอักษร "fa" ที่ไม่ได้วางไว้ด้านหน้าสุดของคำใดคำหนึ่ง ซึ่งปรากฏว่าไม่เจอชุดอักษรใดที่ตรงเงื่อนไข (สตริงต้นทางคือ "A father is") ```js var re = /\Bfa/; console.log(re.exec("A father is")); // null ``` +ตัวอย่าง 6.37 ใช้ regex เป็น /\Bth/ หมายถึงจะจับคู่ชุดตัวอักษร "th" ที่ไม่ได้วางไว้ด้านหน้าสุดของคำใดคำหนึ่ง โดยจะเจอ "th" ภายในคำ "father" ที่อินเด็กซ์ 4 (สตริงต้นทางคือ "A father is") ```js var re = /\Bth/; console.log(re.exec("A father is")); // [ 'th', index: 4, input: 'A father is', groups: undefined ] ``` +ตัวอย่าง 6.38 ใช้ regex เป็น /\Ber/ หมายถึงจะจับคู่ชุดตัวอักษร "er" ที่ไม่ได้วางไว้ด้านหน้าสุดของคำใดคำหนึ่ง โดยจะเจอ "er" ภายในคำ "father" ที่อินเด็กซ์ 6 (สตริงต้นทางคือ "A father is") ```js var re = /\Ber/; console.log(re.exec("A father is")); // [ 'er', index: 6, input: 'A father is', groups: undefined ] ``` +ตัวอย่าง 6.39 ใช้ regex เป็น /er\B/ หมายถึงจะจับคู่ชุดตัวอักษร "er" ที่ไม่ได้วางไว้ด้านหลังสุดของคำใดคำหนึ่ง ซึ่งปรากฏว่าไม่เจอชุดอักษรใดที่ตรงเงื่อนไข (สตริงต้นทางคือ "A father is") ```js var re = /er\B/; console.log(re.exec("A father is")); // null ``` +ตัวอย่าง 6.40 ใช้ regex เป็น /th\B/ หมายถึงจะจับคู่ชุดตัวอักษร "th" ที่ไม่ได้วางไว้ด้านหลังสุดของคำใดคำหนึ่ง โดยจะเจอ "th" ภายในคำ "father" ที่อินเด็กซ์ 4 (สตริงต้นทางคือ "A father is") + ```js var re = /th\B/; console.log(re.exec("A father is")); // [ 'th', index: 4, input: 'A father is', groups: undefined ] ``` +ตัวอย่าง 6.41 ใช้ regex เป็น /fa\B/ หมายถึงจะจับคู่ชุดตัวอักษร "fa" ที่ไม่ได้วางไว้ด้านหลังสุดของคำใดคำหนึ่ง โดยจะเจอ "fa" ภายในคำ "father" ที่อินเด็กซ์ 2 (สตริงต้นทางคือ "A father is") ```js var re = /fa\B/; console.log(re.exec("A father is")); // [ 'fa', index: 2, input: 'A father is', groups: undefined ] ``` +1) วิธี lookahead assertion จะมีรูปแบบ x(?=y) ดังตัวอย่าง +ตัวอย่าง 6.42 ใช้ regex เป็น /Java(?=Script)/ หมายถึงจะจับคู่คำว่า "Java" แต่ต้องตาม ด้วยคำว่า "Script" ด้วยรูปแบบ Java แล้วมีรูปแบบ (?=Script) แปะท้าย จึงเจอ "Java" ที่อินเด็กซ์ 10 ```js let re = /Java(?=Script)/; console.log(re.exec("This is a JavaScript book")); // [ 'Java', index: 10, input: 'This is a JavaScript book', groups: undefined ] ``` +ตัวอย่าง 6.43 ใช้ regex เป็น /[wW]atch(?=ed|ing)/ หมายถึงจะจับคู่คำว่า "watch" หรือ "Watch" แต่ต้องตามด้วย "ed" หรือ "ing" ด้วยรูปแบบ [wW]atch แล้วมีรูปแบบ (?=ed|ing) แปะท้าย จึงเจอ "watch" ที่อินเด็กซ์ 2 ```js let re = /[wW]atch(?=ed|ing)/; console.log(re.exec("I watched TV")); // [ 'watch', index: 2, input: 'I watched TV', groups: undefined ] ``` - +2) วิธี negative lookahead assertion จะมีรูปแบบ x(?!y) ดังตัวอย่าง +ตัวอย่าง 6.44 ใช้ regex เป็น /test_(?!js|txt)/ หมายถึงจะจับคู่คำว่า "test_" แล้วตามหลังด้วยรูปแบบ (?!js|txt) หรือก็คือต้องไม่ต่อท้ายด้วย "js" หรือ "txt" จึงเจอ "test_" ที่อินเด็กซ์ 17 ```js let re = /test_(?!js|txt)/; console.log(re.exec("test_js test_txt test_html")); // [ 'test_', index: 17, input: 'test_js test_txt test_html', groups: undefined ] ``` +1) วิธี lookbehind assertion จะมีรูปแบบ (?<=y)x +ตัวอย่าง 6.45 ใช้ regex เป็น /(?<=Java)Script/ หมายถึงจะจับคู่คำว่า "Script" แต่ต้องขึ้นต้นตัวหน้าเป็น "Java" ด้วยรูปแบบ (?<=Java) และมีรูปแบบ Script แปะท้าย จึงเจอ "Script" ที่อินเด็กซ์ 14 ```js let re = /(?<=Java)Script/; console.log(re.exec("This is a JavaScript book")); // [ 'Script', index: 14, input: 'This is a JavaScript book', groups: undefined ] ``` +ตัวอย่าง 6.46 ใช้ regex เป็น /(?<=Java)[a-zA-Z\s]+/ หมายถึงจะจับคู่คำด้วยรูปแบบ [a-zA-Z\s]+ แต่ต้องขึ้นต้นตัวหน้าเป็น "Java" ด้วยรูปแบบ (?<=Java) และมีรูปแบบ [a-zA-Z\s]+ แปะท้าย จึงเจอ "Script book" ที่อินเด็กซ์ 14 + ```js let re = /(?<=Java)[a-zA-Z\s]+/; console.log(re.exec("This is a JavaScript book")); // [ 'Script book', index: 14, input: 'This is a JavaScript book', groups: undefined ] ``` +2) วิธี negative lookbehind assertion จะมีรูปแบบ (?")); // [ ' ', index: 1, input: '< >', groups: undefined ] ``` +ตัวอย่าง 6.49 ใช้ regex เป็น /\x41/ ซึ่งรหัส \x41 ก็คืออักษร "A" หมายถึงจะจับคู่อักษร "A" ในสตริง โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "A" ในสตริง "THAI" ที่อินเด็กซ์ 2 ```js var re = /\x41/; console.log(re.exec("THAI")); // [ 'A', index: 2, input: 'THAI', groups: undefined ] ``` +ตัวอย่าง 6.50 ใช้ regex เป็น /\u0E14/ ซึ่งรหัส \u0E14 ก็คืออักษร "ด" หมายถึงจะจับคู่อักษร "ด" ในสตริง โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "ด" ในสตริง "แดง" ที่อินเด็กซ์ 1 ```js var re = /\u0E14/; console.log(re.exec("แดง")); // [ 'ด', index: 1, input: 'แดง', groups: undefined ] ``` +ตัวอย่าง 6.51 ใช้ regex เป็น /\+/, /\*/,/\?/, /\\/, /\./ โดยต้องมีเครื่องหมาย \ วางนำหน้า เพื่อจับคู่อักษร "+", "*", "?", "\", "." ไม่เช่นนั้นจะจับคู่ไม่ได้ เพราะอักษรพวกนี้ถูกใช้เป็นสัญลักษณ์หนึ่งภายใน regex จึงจับคู่โดยตรงไม่ได้ +```js +console.log(/\+/.test("+")); // true +console.log(/\*/.test("*")); // true +console.log(/\?/.test("?")); // true +console.log(/\\/.test("\x5C")); // true -- x5c คือค่า ASCII ของ "\" +console.log(/\./.test(".")); // true +``` + ```js var re = /./; console.log(re.exec("dog")); // [ 'd', index: 0, input: 'dog', groups: undefined ] From dc10169b6e3e715f471ca757072ed4bbb1ab3a9f Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 14:08:02 +0700 Subject: [PATCH 686/757] no message --- examples_book/Chapter06.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 66d1261..bb00eb3 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -354,31 +354,37 @@ console.log(/\\/.test("\x5C")); // true -- x5c คือค่า ASCII console.log(/\./.test(".")); // true ``` +ตัวอย่าง 6.52 ใช้ regex เป็น /./ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร “d” ในตริง “dog” ที่อินเด็กซ์ 0 ```js var re = /./; console.log(re.exec("dog")); // [ 'd', index: 0, input: 'dog', groups: undefined ] ``` +ตัวอย่าง 6.53 ใช้ regex เป็น /.ox/ หมายถึงจะจับคู่ตัวอักษรที่ขึ้นต้นด้วยอะไรก็ได้ แต่ขอให้ตามด้วย ox โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษร “box” ในตริง “boxes” ที่อินเด็กซ์ 0 ```js var re = /.ox/; console.log(re.exec("boxes")); //[ 'box', index: 0, input: 'boxes', groups: undefined ] ``` +ตัวอย่าง 6.54 ใช้ regex เป็น /\d/ หมายถึงจะจับคู่ตัวเลขใดๆ จำนวน 1 ตัว โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษรเลข “8” ในตริง “x86” ที่อินเด็กซ์ 1 (ไม่เจอเลข 6) ```js var re = /\d/; console.log(re.exec("x86")); // [ '8', index: 1, input: 'x86', groups: undefined ] ``` +ตัวอย่าง 6.55 ใช้ regex เป็น /..\d/ หมายถึงจะจับคู่ลำดับตัวอักษรทั้งหมด 3 ตัว โดยสองตัวแรกเป็นตัวอักษรใดๆ ก็ได้ (ใช้จุดสองอันติดกัน) ส่วนตัวอักษรที่สาม จะเป็นตัวเลข (ใช้ \d) โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจอคำว่า “em1” ในตริง “item1” ที่อินเด็กซ์ 2 ```js var re = /..\d/; console.log(re.exec("item1")); // [ 'em1', index: 2, input: 'item1', groups: undefined ] ``` +ตัวอย่าง 6.56 ใช้ regex เป็น /\D/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวเลข โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษรเลข “p” ในตริง “100px” ที่อินเด็กซ์ 3 (ไม่เจออักษร “x”) ```js var re = /\D/; console.log(re.exec("100px")); // [ 'p', index: 3, input: '100px', groups: undefined ] ``` +ตัวอย่าง 6.57 ใช้regex เป็น /\w/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ได้แก่ ตัวอักษร a ถึง z หรือ A ถึง z หรือ 0 ถึง 9 รวมทั้ง _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้จะเจอหลายตัวอักษรที่อินเด็กซ์ 1 (ไม่จับคู่ “$”) ```js var re = /\w/; console.log(re.exec("$a")); // [ 'a', index: 1, input: '$a', groups: undefined ] @@ -387,6 +393,7 @@ console.log(re.exec("$7")); // [ '7', index: 1, input: '$7', groups: unde console.log(re.exec("$_")); // [ '_', index: 1, input: '$_', groups: undefined ] ``` +ตัวอย่าง 6.58 ใช้ regex เป็น /\W/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวอักษร a ถึง z หรือ A ถึง z หรือ 0 ถึง 9 รวมทั้ง _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้ก็จะเจออักษร “$” ที่อินเด็กซ์ 1 ```js var re = /\W/; console.log(re.exec("a$")); // [ '$', index: 1, input: 'a$', groups: undefined ] @@ -395,27 +402,32 @@ console.log(re.exec("7$")); // [ '$', index: 1, input: '7$', groups: unde console.log(re.exec("_$")); // [ '$', index: 1, input: '_$', groups: undefined ] ``` +ตัวอย่าง 6.59 ใช้ regex เป็น /\s/ หมายถึงจะจับคู่ตัวอักษรช่องว่าง โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจอช่องว่าง “ ” ในตริง “^ ^” ที่อินเด็กซ์ 1 ```js var re = /\s/; console.log(re.exec("^ ^")); // [ ' ', index: 1, input: '^ ^', groups: undefined ] ``` +ตัวอย่าง 6.60 เราสามารถพิมพ์ช่องเว้นวรรคก็ได้ โดยไม่ต้องใช้ \s ใน regex ดังตัวอย่าง ```js var re = / /; console.log(re.exec("^ ^")); // [ ' ', index: 1, input: '^ ^', groups: undefined ] ``` +ตัวอย่าง 6.61 ใช้ regex เป็น /\S/ หมายถึงจะจับคู่ตัวอักษรใดๆ ที่ไม่ใช่อักษรว่าง จำนวน 1 ตัว โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษร “@” ในสตริง “ @” ที่อินเด็กซ์ 1 (มีช่องว่างนำหน้า @) ```js var re = /\S/; console.log(re.exec(" @")); // [ '@', index: 1, input: ' @', groups: undefined ] ``` +ตัวอย่าง 6.62 ประยุกต์ใช้ . ร่วมกับ * เพื่อจับคู่ตัวอักษรตั้งแต่ศูนย์ตัวขึ้นไป โดยต้องมี

    ครอบเปิด และปิดท้ายด้วย

    โดยในตัวอย่างนี้จะเจอข้อความ “

    @test

    ” ที่อินเด็กซ์ 5 ```js var re = /

    .*<\/p>/; console.log(re.exec("

    @test

    ")); // [ '

    @test

    ', index: 5, input: '

    @test

    ', groups: undefined ] ``` +ตัวอย่าง 6.63 ประยุกต์ใช้ \d ร่วมกับ ^ และ \w ร่วมกับ {1,} เพื่อจับคู่สตริงที่ต้องขึ้นต้นด้วยตัวเลข แล้วตามด้วยอักษรที่อยู่ในช่วง a ถึง z หรือ A ถึง z หรือ 0 ถึง 9 รวมทั้งตัวอักษร _ ที่มีตั้งแต่ 1 ตัวขึ้นไป โดยในตัวอย่างนี้จะเจอข้อความ “1_log” ที่อินเด็กซ์ 0 ```js var re = /^\d\w{1,}/; console.log(re.exec("1_log.txt")); // [ '1_log', index: 0, input: '1_log.txt', groups: undefined ] @@ -423,6 +435,7 @@ console.log(re.exec("1_log.txt")); // [ '1_log', index: 0, input: '1_log.txt', ### Unicode character properties +ตัวอย่าง 6.64 unicode property escapes ใช้พร็อพเพอร์ตี้ของยูนิโคดป็น Script ```js var result = /\p{Script=Greek}+/u.test("μετά"); console.log(result); // true @@ -430,16 +443,19 @@ var result = /\p{Script=Thai}+/u.test("หนังสือไทย"); console.log(result); // true ``` +ตัวอย่าง 6.65 เขียนพร็อพเพอร์ตี้ Uppercase_Letter ```js var result = /\p{Uppercase_Letter}/u.test( "THAI" ); console.log(result); // true ``` +ตัวอย่างข้างต้นจะเสมือนเขียนซอร์สโค้ดดังนี้ ```js var result = /\p{General_Category=Uppercase_Letter}/u.test( "THAI" ); console.log(result); // true ``` +ตัวอย่าง 6.66 การจับคู่โดยใช้ unicode property escapes แบบต่างๆ ```js var str = "This is a book."; var result = /\p{White_Space}/u.test( str ); @@ -452,6 +468,7 @@ console.log(result); // true ### Capture groups +ตัวอย่าง 6.67 ใช้ regex เป็น /(log)_(html)/ เพื่อทำการ capture groups โดยจะมี 2 กลุ่มในการ catpure ได้แก่ (log) กับ (html) ```js var result = /(log)_(html)/.exec("save log_html.txt"); console.log(result.index); // 5 @@ -461,6 +478,7 @@ console.log(result[2]); // "html" console.log(result.input); // "save log_html.txt" ``` +ตัวอย่าง 6.68 ใช้ regex เป็น /file{2}/ เปรียบเทียบกับ /(file){2}/ เพื่อค้นหาข้อความในสตริง ```js var re = /file{2}/; console.log(re.exec("filefile")); // null @@ -469,6 +487,7 @@ var re = /(file){2}/; console.log(re.exec("filefile")); // [ 'filefile', 'file', index: 0, input: 'filefile', groups: undefined ] ``` +ตัวอย่าง 6.69 ใช้ regex เป็น /(?:

    )abc(?:

    )/ เพื่อทำการ capture group โดยจะไม่จำผลการ capture ```js var re = /(?:

    )abc(?:<\/p>)/; let result = re.exec("

    abc

    "); @@ -478,12 +497,14 @@ console.log(result[2]); // undefined console.log(result); // [ '

    abc

    ', index: 0, input: '

    abc

    ', groups: undefined ] ``` +ตัวอย่าง 6.70 ใช้ regex เป็น /([a-z]+).js/ โดยไม่ได้ตั้งชื่อ group ```js let re = /([a-z]+).js/; console.log(re.exec("test index.js")); // [ 'index.js', 'index', index: 5, input: 'test index.js', groups: undefined ] ``` +ตัวอย่าง 6.71 ใช้ regex เป็น /(?[a-z]+).js/ ```js let re = /(?[a-z]+).js/; let matchObj = re.exec("test index.js") @@ -499,19 +520,21 @@ console.log(matchObj); console.log(matchObj .groups.filename); // "index" ``` +ตัวอย่าง 6.72 ใช้ regex เป็น /bk(@)th(->)com\2/ โดยมีการ capture สอง group ได้แก่ (@) กับ (.>) แต่ให้สังเกตมีการใช้ \2 หมายถึงชุดตัวอักษรที่จับคู่ จะใช้ผลการ capture ก่อนหน้านี้ ด้วยวงเล็บอันที่สองก็คือ (.>) ```js var re = /bk(@)th(.>)com\2/; console.log(re.exec("bk@th=>com=>mail")); // [ 'bk@th=>com=>', '@', '=>', index: 0, input: 'bk@th=>com=>mail', groups: undefined ] ``` +ตัวอย่าง 6.73 ใช้ regex เป็น /talk(?ed|ing) & watch\k/ โดยมีการตั้งชื่อกลุ่มที่ได้จากการ capture เป็น “tense” และมีการอ้างถึงผลลัพธ์จากการ capture ก่อนหน้านี้ด้วยกาiระบุชื่อกลุ่มเป็น “tense” ด้วยรูปแบบ \k ```js var re = /talk(?ed|ing) & watch\k/; console.log(re.exec("talked & watched")); // [ 'talked & watched', 'ed', index: 0, input: 'talked & watched', groups: { tense: 'ed' } ] ``` -### สตริงกับ regex +### เมธอดของสตริงที่ใช้งานร่วมกับ regex ```js console.log("012Hellooooo".search(/Hello+/)); // 3 From 5fb7ab50b0ece43ee7d5beba55dfdfcda05dc6b6 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 14:10:24 +0700 Subject: [PATCH 687/757] no message --- examples_book/Chapter06.md | 56 +++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index bb00eb3..c81d6da 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -354,37 +354,37 @@ console.log(/\\/.test("\x5C")); // true -- x5c คือค่า ASCII console.log(/\./.test(".")); // true ``` -ตัวอย่าง 6.52 ใช้ regex เป็น /./ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร “d” ในตริง “dog” ที่อินเด็กซ์ 0 +ตัวอย่าง 6.52 ใช้ regex เป็น /./ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "d" ในตริง "dog" ที่อินเด็กซ์ 0 ```js var re = /./; console.log(re.exec("dog")); // [ 'd', index: 0, input: 'dog', groups: undefined ] ``` -ตัวอย่าง 6.53 ใช้ regex เป็น /.ox/ หมายถึงจะจับคู่ตัวอักษรที่ขึ้นต้นด้วยอะไรก็ได้ แต่ขอให้ตามด้วย ox โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษร “box” ในตริง “boxes” ที่อินเด็กซ์ 0 +ตัวอย่าง 6.53 ใช้ regex เป็น /.ox/ หมายถึงจะจับคู่ตัวอักษรที่ขึ้นต้นด้วยอะไรก็ได้ แต่ขอให้ตามด้วย ox โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษร "box" ในตริง "boxes" ที่อินเด็กซ์ 0 ```js var re = /.ox/; console.log(re.exec("boxes")); //[ 'box', index: 0, input: 'boxes', groups: undefined ] ``` -ตัวอย่าง 6.54 ใช้ regex เป็น /\d/ หมายถึงจะจับคู่ตัวเลขใดๆ จำนวน 1 ตัว โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษรเลข “8” ในตริง “x86” ที่อินเด็กซ์ 1 (ไม่เจอเลข 6) +ตัวอย่าง 6.54 ใช้ regex เป็น /\d/ หมายถึงจะจับคู่ตัวเลขใดๆ จำนวน 1 ตัว โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษรเลข "8" ในตริง "x86" ที่อินเด็กซ์ 1 (ไม่เจอเลข 6) ```js var re = /\d/; console.log(re.exec("x86")); // [ '8', index: 1, input: 'x86', groups: undefined ] ``` -ตัวอย่าง 6.55 ใช้ regex เป็น /..\d/ หมายถึงจะจับคู่ลำดับตัวอักษรทั้งหมด 3 ตัว โดยสองตัวแรกเป็นตัวอักษรใดๆ ก็ได้ (ใช้จุดสองอันติดกัน) ส่วนตัวอักษรที่สาม จะเป็นตัวเลข (ใช้ \d) โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจอคำว่า “em1” ในตริง “item1” ที่อินเด็กซ์ 2 +ตัวอย่าง 6.55 ใช้ regex เป็น /..\d/ หมายถึงจะจับคู่ลำดับตัวอักษรทั้งหมด 3 ตัว โดยสองตัวแรกเป็นตัวอักษรใดๆ ก็ได้ (ใช้จุดสองอันติดกัน) ส่วนตัวอักษรที่สาม จะเป็นตัวเลข (ใช้ \d) โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจอคำว่า "em1" ในตริง "item1" ที่อินเด็กซ์ 2 ```js var re = /..\d/; console.log(re.exec("item1")); // [ 'em1', index: 2, input: 'item1', groups: undefined ] ``` -ตัวอย่าง 6.56 ใช้ regex เป็น /\D/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวเลข โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษรเลข “p” ในตริง “100px” ที่อินเด็กซ์ 3 (ไม่เจออักษร “x”) +ตัวอย่าง 6.56 ใช้ regex เป็น /\D/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวเลข โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษรเลข "p" ในตริง "100px" ที่อินเด็กซ์ 3 (ไม่เจออักษร "x") ```js var re = /\D/; console.log(re.exec("100px")); // [ 'p', index: 3, input: '100px', groups: undefined ] ``` -ตัวอย่าง 6.57 ใช้regex เป็น /\w/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ได้แก่ ตัวอักษร a ถึง z หรือ A ถึง z หรือ 0 ถึง 9 รวมทั้ง _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้จะเจอหลายตัวอักษรที่อินเด็กซ์ 1 (ไม่จับคู่ “$”) +ตัวอย่าง 6.57 ใช้regex เป็น /\w/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ได้แก่ ตัวอักษร a ถึง z หรือ A ถึง z หรือ 0 ถึง 9 รวมทั้ง _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้จะเจอหลายตัวอักษรที่อินเด็กซ์ 1 (ไม่จับคู่ "$") ```js var re = /\w/; console.log(re.exec("$a")); // [ 'a', index: 1, input: '$a', groups: undefined ] @@ -393,7 +393,7 @@ console.log(re.exec("$7")); // [ '7', index: 1, input: '$7', groups: unde console.log(re.exec("$_")); // [ '_', index: 1, input: '$_', groups: undefined ] ``` -ตัวอย่าง 6.58 ใช้ regex เป็น /\W/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวอักษร a ถึง z หรือ A ถึง z หรือ 0 ถึง 9 รวมทั้ง _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้ก็จะเจออักษร “$” ที่อินเด็กซ์ 1 +ตัวอย่าง 6.58 ใช้ regex เป็น /\W/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวอักษร a ถึง z หรือ A ถึง z หรือ 0 ถึง 9 รวมทั้ง _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้ก็จะเจออักษร "$" ที่อินเด็กซ์ 1 ```js var re = /\W/; console.log(re.exec("a$")); // [ '$', index: 1, input: 'a$', groups: undefined ] @@ -402,7 +402,7 @@ console.log(re.exec("7$")); // [ '$', index: 1, input: '7$', groups: unde console.log(re.exec("_$")); // [ '$', index: 1, input: '_$', groups: undefined ] ``` -ตัวอย่าง 6.59 ใช้ regex เป็น /\s/ หมายถึงจะจับคู่ตัวอักษรช่องว่าง โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจอช่องว่าง “ ” ในตริง “^ ^” ที่อินเด็กซ์ 1 +ตัวอย่าง 6.59 ใช้ regex เป็น /\s/ หมายถึงจะจับคู่ตัวอักษรช่องว่าง โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจอช่องว่าง " " ในตริง "^ ^" ที่อินเด็กซ์ 1 ```js var re = /\s/; console.log(re.exec("^ ^")); // [ ' ', index: 1, input: '^ ^', groups: undefined ] @@ -414,20 +414,20 @@ var re = / /; console.log(re.exec("^ ^")); // [ ' ', index: 1, input: '^ ^', groups: undefined ] ``` -ตัวอย่าง 6.61 ใช้ regex เป็น /\S/ หมายถึงจะจับคู่ตัวอักษรใดๆ ที่ไม่ใช่อักษรว่าง จำนวน 1 ตัว โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษร “@” ในสตริง “ @” ที่อินเด็กซ์ 1 (มีช่องว่างนำหน้า @) +ตัวอย่าง 6.61 ใช้ regex เป็น /\S/ หมายถึงจะจับคู่ตัวอักษรใดๆ ที่ไม่ใช่อักษรว่าง จำนวน 1 ตัว โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษร "@" ในสตริง " @" ที่อินเด็กซ์ 1 (มีช่องว่างนำหน้า @) ```js var re = /\S/; console.log(re.exec(" @")); // [ '@', index: 1, input: ' @', groups: undefined ] ``` -ตัวอย่าง 6.62 ประยุกต์ใช้ . ร่วมกับ * เพื่อจับคู่ตัวอักษรตั้งแต่ศูนย์ตัวขึ้นไป โดยต้องมี

    ครอบเปิด และปิดท้ายด้วย

    โดยในตัวอย่างนี้จะเจอข้อความ “

    @test

    ” ที่อินเด็กซ์ 5 +ตัวอย่าง 6.62 ประยุกต์ใช้ . ร่วมกับ * เพื่อจับคู่ตัวอักษรตั้งแต่ศูนย์ตัวขึ้นไป โดยต้องมี

    ครอบเปิด และปิดท้ายด้วย

    โดยในตัวอย่างนี้จะเจอข้อความ "

    @test

    " ที่อินเด็กซ์ 5 ```js var re = /

    .*<\/p>/; console.log(re.exec("

    @test

    ")); // [ '

    @test

    ', index: 5, input: '

    @test

    ', groups: undefined ] ``` -ตัวอย่าง 6.63 ประยุกต์ใช้ \d ร่วมกับ ^ และ \w ร่วมกับ {1,} เพื่อจับคู่สตริงที่ต้องขึ้นต้นด้วยตัวเลข แล้วตามด้วยอักษรที่อยู่ในช่วง a ถึง z หรือ A ถึง z หรือ 0 ถึง 9 รวมทั้งตัวอักษร _ ที่มีตั้งแต่ 1 ตัวขึ้นไป โดยในตัวอย่างนี้จะเจอข้อความ “1_log” ที่อินเด็กซ์ 0 +ตัวอย่าง 6.63 ประยุกต์ใช้ \d ร่วมกับ ^ และ \w ร่วมกับ {1,} เพื่อจับคู่สตริงที่ต้องขึ้นต้นด้วยตัวเลข แล้วตามด้วยอักษรที่อยู่ในช่วง a ถึง z หรือ A ถึง z หรือ 0 ถึง 9 รวมทั้งตัวอักษร _ ที่มีตั้งแต่ 1 ตัวขึ้นไป โดยในตัวอย่างนี้จะเจอข้อความ "1_log" ที่อินเด็กซ์ 0 ```js var re = /^\d\w{1,}/; console.log(re.exec("1_log.txt")); // [ '1_log', index: 0, input: '1_log.txt', groups: undefined ] @@ -527,7 +527,7 @@ console.log(re.exec("bk@th=>com=>mail")); // [ 'bk@th=>com=>', '@', '=>', index: 0, input: 'bk@th=>com=>mail', groups: undefined ] ``` -ตัวอย่าง 6.73 ใช้ regex เป็น /talk(?ed|ing) & watch\k/ โดยมีการตั้งชื่อกลุ่มที่ได้จากการ capture เป็น “tense” และมีการอ้างถึงผลลัพธ์จากการ capture ก่อนหน้านี้ด้วยกาiระบุชื่อกลุ่มเป็น “tense” ด้วยรูปแบบ \k +ตัวอย่าง 6.73 ใช้ regex เป็น /talk(?ed|ing) & watch\k/ โดยมีการตั้งชื่อกลุ่มที่ได้จากการ capture เป็น "tense" และมีการอ้างถึงผลลัพธ์จากการ capture ก่อนหน้านี้ด้วยกาiระบุชื่อกลุ่มเป็น "tense" ด้วยรูปแบบ \k ```js var re = /talk(?ed|ing) & watch\k/; console.log(re.exec("talked & watched")); @@ -536,6 +536,7 @@ console.log(re.exec("talked & watched")); ### เมธอดของสตริงที่ใช้งานร่วมกับ regex +ตัวอย่าง 6.74 ลองพิจารณาการใช้สตริงร่วมกับ regex ผ่านเมธอดของมัน ```js console.log("012Hellooooo".search(/Hello+/)); // 3 var result = "Hellooooo Hello".match(/Hello+/g); @@ -550,6 +551,23 @@ console.log(split); // [ '1', '2', '3' ] ### ค่าแฟล็ก ### พร็อพเพอร์ตี้ flags + +ตัวอย่าง 6.75 ลองพิจารณาการตรวจสอบว่า ตอนนี้ regex ใช้งานแฟล็กอะไรบ้าง +```js +var regex = /Hello+/gi; +console.log(regex.lastIndex); // 0 +console.log(regex.source); // "Hello+" +console.log(regex.flags); // "gi" +console.log(regex.global); // true +console.log(regex.ignoreCase); // true +console.log(regex.multiline); // false +console.log(regex.unicode); // false +console.log(regex.sticky); // false +console.log(regex.dotAll); // false +console.log(regex.hasIndices); // false +``` + + ```js var myRegex = /foo/i; console.log(myRegex.source); // "foo" @@ -588,19 +606,7 @@ console.log(regex.multiline); // true ### แฟล็ก g -```js -var regex = /Hello+/gi; -console.log(regex.lastIndex); // 0 -console.log(regex.source); // "Hello+" -console.log(regex.flags); // "gi" -console.log(regex.global); // true -console.log(regex.ignoreCase); // true -console.log(regex.multiline); // false -console.log(regex.unicode); // false -console.log(regex.sticky); // false -console.log(regex.dotAll); // false -console.log(regex.hasIndices); // false -``` + ```js var re = /ok/; From d7d9fe2d536c9c92d41b78e71d99ae6e98f28e3b Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 14:31:13 +0700 Subject: [PATCH 688/757] no message --- examples_book/Chapter06.md | 39 +++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index c81d6da..011b253 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -550,7 +550,7 @@ console.log(split); // [ '1', '2', '3' ] ### ค่าแฟล็ก -### พร็อพเพอร์ตี้ flags + ตัวอย่าง 6.75 ลองพิจารณาการตรวจสอบว่า ตอนนี้ regex ใช้งานแฟล็กอะไรบ้าง ```js @@ -567,14 +567,18 @@ console.log(regex.dotAll); // false console.log(regex.hasIndices); // false ``` +### พร็อพเพอร์ตี้ flags +ตัวอย่าง 6.76 การใช้งานพร็อพเพอร์ตี้ flags ```js var myRegex = /foo/i; -console.log(myRegex.source); // "foo" -console.log(myRegex.flags); // "i" +console.log(myRegex.source); // "foo" +console.log(myRegex.flags); // "i" ``` ### แฟล็ก i + +ตัวอย่าง 6.77 การใช้งานแฟล็ก i เพื่อค้นหาคำว่า "thai" โดยไม่สนใจตัวพิมพ์ใหญ่หรือเล็ก ```js var re = /thai/i; console.log("I' am THAI".search(re)); // 6 @@ -582,6 +586,7 @@ console.log("I' am THAI".search(re)); // 6 ### แฟล็ก m +ตัวอย่าง 6.78 เป็นการใช้แฟล็ก m ร่วมกับ $ เพื่อหาคำลงท้ายในแต่ละบรรทัด ```js var str = "I' am Thai.\nI live in Bangkok." var re1 = /Thai.$/; @@ -590,6 +595,7 @@ console.log(str.search(re1)); // -1 -- หาไม่เจอ console.log(str.search(re2)); // 6 ``` +ตัวอย่าง 6.79 เป็นการใช้แฟล็ก m ร่วมกับ ^ เพื่อหาคำขึ้นต้นในแต่ละบรรทัด ```js var str = "It's a good job.\nThe best show."; var re1 = /^The/; @@ -598,6 +604,7 @@ console.log(str.search(re1)); // -1 -- หาไม่เจอ console.log(str.search(re2)); // 17 ``` +ตัวอย่าง 6.80 ถ้ามีการใช้แฟล็ก m ค่าพร็อพเพอร์ตี้ multiline จะเป็น true ```js let regex = /foo/m; console.log(regex.multiline); // true @@ -606,14 +613,14 @@ console.log(regex.multiline); // true ### แฟล็ก g - - +ตัวอย่าง 6.81 การจับคู่ในสตริงเมื่อปราศจากแฟล็ก g ```js var re = /ok/; console.log(re.exec("ok ok ok")); // [ 'ok', index: 0, input: 'ok ok ok', groups: undefined ] ``` +ตัวอย่าง 6.82 เป็นการใช้แฟล็ก g ร่วมกับเมธอด exec() ```js var myRegex = /Hello+/g; var str = "01Hello Hellooo89"; @@ -635,12 +642,14 @@ console.log(result.index); // 2 console.log(myRegex.lastIndex); // 7 ``` +ตัวอย่าง 6.83 อยากให้ลองพิจารณา regex ที่มีหน้าตาเหมือนกัน ได้แก่ /Hello+/ ```js console.log( /Hello+/g === /Hello+/g); // false /Hello+/g.exec("Hello Hello Hello"); // บรรทัด 2 console.log(/Hello+/g.lastIndex); // 0 ``` +ตัวอย่าง 6.84 เป็นการใช้แฟล็ก g ร่วมกับเมธอด match() ของสตริง ```js var myRegex = /Hello+/g; var result = "01Hello Hellooo89".match(myRegex); @@ -650,17 +659,20 @@ console.log(myRegex.lastIndex) // 0 ### แฟล็ก u +ตัวอย่าง 6.85 เป็นปัญหาเมื่อใช้ regex จับคู่ข้อความในสตริงที่เป็นภาษาจีน ```js var str = "𠮷"; console.log(str.length); // 2 console.log(/^.$/.test(str)); // false ``` +ตัวอย่าง 6.86 เป็นการใช้แฟล็ก u จับคู่ข้อความภายในสตริง ```js var str = "𠮷"; console.log(/^.$/u.test(str)); // true ``` +ตัวอย่าง 6.87 ประยุกต์ใช้แฟล็ก u เพื่อนับจำนวนตัวอักษรที่เป็นภาษาอะไรก็ได้ ดังตัวอย่าง ```js var result1 = "𠮷กขคง𤭢".match(/[\s\S]/gu); console.log(result1.length); // 6 @@ -669,12 +681,16 @@ var result2 = "𠮷กขคง𤭢".match(/[\s\S]/g); console.log(result2.length); // 8 ``` +ตัวอย่าง 6.88 ถ้ามีการใช้แฟล็ก u ค่าพร็อพเพอร์ตี้ unicode จะเป็น true ```js let regex = /foo/u; console.log(regex.unicode); // true ``` ### แฟล็ก y + +ตัวอย่าง 6.89 เปรียบเทียบการใช้แฟล็ก g, แฟล็ก y และไม่ได้ใช้แฟล็กใดๆ เลย +ตัวอย่าง 6.90 ต่อเนื่องจากตัวอย่างเดิม ถ้าเรียกเมธอด exec() เป็นครั้งที่ 2 จะได้ผลลัพธ์ดังนี้ ```js var str = "foo1_foo2_foo3"; // สตริงที่จะค้นหา var regex = /foo\d_?/; // ไม่มีแฟล็ก @@ -701,6 +717,7 @@ console.log(regexG.lastIndex); // 10 console.log(regexY.lastIndex); // 10 ``` +ตัวอย่าง 6.91 ทำการระบุ lastIndex ก่อนการจับคู่ในสตริง ```js var str = "foo1_foo2_foo3"; var regex = /foo\d_?/; // ไม่มีแฟล็ก @@ -717,6 +734,7 @@ console.log(resultG[0]); // "foo2_" console.log(resultY); // มีค่าเป็น null เพราะค้นหาไม่เจอข้อความ ``` +ตัวอย่าง 6.92 เป็นการอ่านค่าจากพร็อพเพอร์ตี้ sticky ```js var myRegex = /foo+/y; console.log(myRegex.sticky); // true @@ -726,18 +744,21 @@ console.log(myRegex.sticky); // true ### แฟล็ก s (dotAll) +ตัวอย่าง 6.93 ปัญหาเมื่อ regex ไม่สามารถจับคู่ตัวอักษร “\n” ได้ ```js let regex = /./; let result = regex.test("\n"); console.log(result); // false ``` +ตัวอย่าง 6.94 เป็นการใช้แฟล็ก s เพื่อจับคู่ตัวอักษร “\n” ```js let regex = /./s; let result = regex.test("\n"); console.log(result); // true ``` +ตัวอย่าง 6.95 ถ้ามีการใช้แฟล็ก s ค่าพร็อพเพอร์ตี้ dotAll จะเป็น true ```js let regex = /./s; console.log(regex.dotAll); // true @@ -745,6 +766,7 @@ console.log(regex.dotAll); // true ### แฟล็ก d +ตัวอย่าง 6.96 เป็นการใช้แฟล็ก d ร่วมกับเมธอด exec() โดยยังไม่ทำการ capture ใดๆ ```js let matchObj = /bar/d.exec("foo bar"); console.log(matchObj) @@ -759,6 +781,7 @@ console.log(matchObj) console.log(matchObj.indices[0]) // [ 4, 7 ] -- จะเป็นตำแหน่งของคำว่า "bar" ``` +ตัวอย่าง 6.97 ทำการ capture พร้อมกับระบุแฟล็กเป็น d ```js let matchObj = /(foo).(bar)/d.exec("0123foo_bar"); console.log(matchObj); @@ -777,6 +800,7 @@ console.log(matchObj.indices[1]) // [ 4, 7 ] -- จะเป็นต console.log(matchObj.indices[2]) // [ 8, 11 ] -- จะเป็นตำแหน่งของคำว่า "bar" ``` +ตัวอย่าง 6.98 จากตัวอย่างเดิมเราสามารถ capture ด้วยการะบุชื่อ group และใช้แฟล็ก d ด้วยก็ได้ ดังนี้ ```js let matchObj = /(?foo).(?bar)/d.exec("0123foo_bar"); console.log(matchObj); @@ -799,12 +823,15 @@ console.log(matchObj.indices.groups.first) // [ 4, 7 ] console.log(matchObj.indices.groups.last) // [ 8, 11 ] ``` +ตัวอย่าง 6.99 ถ้ามีการใช้แฟล็ก d ค่าพร็อพเพอร์ตี้ hasIndices จะเป็น true ```js let regex = /bar/d; console.log(regex.hasIndices); // true ``` ### RegExp + +ตัวอย่าง 6.100 การสร้าง regex จาก RegExp ```js var myRegex = /foo/g; var regex2 = new RegExp(myRegex); @@ -812,6 +839,7 @@ console.log(regex2.test("foo")); // true console.log(myRegex === regex2); // false ``` +ตัวอย่าง 6.101 การสร้าง regex จาก RegExp พร้อมกับระบุค่าแฟล็ก ```js var myRegex = /foo/i; var regex2 = new RegExp(myRegex, "g"); @@ -819,6 +847,7 @@ console.log(myRegex.test("FOO")); // true (ไม่สนใจตัว console.log(regex2.test("FOO")); // false ``` +ตัวอย่าง 6.102 การสร้าง regex จากสตริง ```js var myRegex = new RegExp("foo", "y"); // จะเสมือนเขียน var myRegex = /foo/y; console.log(myRegex.exec("foo_abc")); // [ 'foo', index: 0, input: 'foo_abc', groups: undefined ] From 5bf08a6df1573b7fe535d3111f90d77dc831d10e Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 14:43:46 +0700 Subject: [PATCH 689/757] no message --- examples_book/Chapter02.md | 2 +- examples_book/Chapter07.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples_book/Chapter02.md b/examples_book/Chapter02.md index 0f0cac3..ba6f4da 100644 --- a/examples_book/Chapter02.md +++ b/examples_book/Chapter02.md @@ -58,7 +58,7 @@ ``` -### ตัวอย่างการวางจาวาสคริต์ใน <head< ...</head> +### ตัวอย่างการวางจาวาสคริต์ใน <head> ...</head> ```html diff --git a/examples_book/Chapter07.md b/examples_book/Chapter07.md index 5fb232c..8b802a0 100644 --- a/examples_book/Chapter07.md +++ b/examples_book/Chapter07.md @@ -144,7 +144,7 @@ for(let p of all_pTag) { ``` -### ตัวอย่างการเข้าถึง ... +### ตัวอย่างการเข้าถึง <from>...</form> หมายเหตุ ถ้าจะรันโค้ดชุดนี้ ต้องแก้ไขให้ let elem1, let elem2 มีการประกาศแค่ครั้งเดียวพอ @@ -327,7 +327,7 @@ function showValue() { ``` ### การเพิ่มและลบ element -### ตัวอย่างเพิ่มและลบ

    ...

    +### ตัวอย่างเพิ่มและลบ <p>...</p> ```html @@ -357,7 +357,7 @@ function deleteElement() { ``` -### ตัวอย่างเพิ่มและลบ ใน select ของ HTML +### ตัวอย่างเพิ่มและลบ <option>...</option> ใน select ของ HTML ```html From 50f419109add1ce53a008aed4c88fd1db77d9962 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 15:06:38 +0700 Subject: [PATCH 690/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 011b253..670fbf5 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -363,7 +363,7 @@ console.log(re.exec("dog")); // [ 'd', index: 0, input: 'dog', groups: undefi ตัวอย่าง 6.53 ใช้ regex เป็น /.ox/ หมายถึงจะจับคู่ตัวอักษรที่ขึ้นต้นด้วยอะไรก็ได้ แต่ขอให้ตามด้วย ox โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษร "box" ในตริง "boxes" ที่อินเด็กซ์ 0 ```js var re = /.ox/; -console.log(re.exec("boxes")); //[ 'box', index: 0, input: 'boxes', groups: undefined ] +console.log(re.exec("boxes")); // [ 'box', index: 0, input: 'boxes', groups: undefined ] ``` ตัวอย่าง 6.54 ใช้ regex เป็น /\d/ หมายถึงจะจับคู่ตัวเลขใดๆ จำนวน 1 ตัว โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษรเลข "8" ในตริง "x86" ที่อินเด็กซ์ 1 (ไม่เจอเลข 6) From fcbdbb7f4a1a837804f439f6cf3d63275a96d9e2 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 15:12:20 +0700 Subject: [PATCH 691/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 670fbf5..2bea437 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -420,7 +420,7 @@ var re = /\S/; console.log(re.exec(" @")); // [ '@', index: 1, input: ' @', groups: undefined ] ``` -ตัวอย่าง 6.62 ประยุกต์ใช้ . ร่วมกับ * เพื่อจับคู่ตัวอักษรตั้งแต่ศูนย์ตัวขึ้นไป โดยต้องมี

    ครอบเปิด และปิดท้ายด้วย

    โดยในตัวอย่างนี้จะเจอข้อความ "

    @test

    " ที่อินเด็กซ์ 5 +ตัวอย่าง 6.62 ประยุกต์ใช้ . ร่วมกับ * เพื่อจับคู่ตัวอักษรตั้งแต่ศูนย์ตัวขึ้นไป โดยต้องมี <p> ครอบเปิด และปิดท้ายด้วย </p> โดยในตัวอย่างนี้จะเจอข้อความ "<p>@test</p>" ที่อินเด็กซ์ 5 ```js var re = /

    .*<\/p>/; console.log(re.exec("

    @test

    ")); From 69195d466af2780b1089b7d73fa530c6328ca411 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 15:15:29 +0700 Subject: [PATCH 692/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 2bea437..d5a66ad 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -487,7 +487,7 @@ var re = /(file){2}/; console.log(re.exec("filefile")); // [ 'filefile', 'file', index: 0, input: 'filefile', groups: undefined ] ``` -ตัวอย่าง 6.69 ใช้ regex เป็น /(?:

    )abc(?:

    )/ เพื่อทำการ capture group โดยจะไม่จำผลการ capture +ตัวอย่าง 6.69 ใช้ regex เป็น /(?:<p>)abc(?:</p>)/ เพื่อทำการ capture group โดยจะไม่จำผลการ capture ```js var re = /(?:

    )abc(?:<\/p>)/; let result = re.exec("

    abc

    "); From aec8d3e4fc6c5d31f9aec27b8cc34d96d9cce9ca Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 15:24:48 +0700 Subject: [PATCH 693/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index d5a66ad..5bc2bf8 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -57,7 +57,7 @@ var re = /like/; console.log(re.exec("I like u")); // [ 'like', index: 2, input: 'I like u', groups: undefined ] ``` -ตัวอย่าง 6.6 ใช้ /html|div|br/ เป็น regex เพื่อจับคู่ลำดับตัวอักษร "html" หรือ "div" หรือ "br" อย่างใดอย่างหนึ่ง ในสตริง "
    " ซึ่งเจอชุดอักษร "div" ที่อินเด็กซ์ 1 +ตัวอย่าง 6.6 ใช้ /html|div|br/ เป็น regex เพื่อจับคู่ลำดับตัวอักษร "html" หรือ "div" หรือ "br" อย่างใดอย่างหนึ่ง ในสตริง "<div>" ซึ่งเจอชุดอักษร "div" ที่อินเด็กซ์ 1 ```js var re = /html|div|br/; console.log(re.exec("
    ")); // [ 'div', index: 1, input: '
    ', groups: undefined ] From f408f7bf7ec89d7b7508a14d8654cca1e6a75196 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 15:32:18 +0700 Subject: [PATCH 694/757] no message --- examples_book/Chapter06.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 5bc2bf8..dd2f0f5 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -95,7 +95,7 @@ var re = /[a-cA-C]/; console.log(re.exec("AND")); // [ 'A', index: 0, input: 'AND', groups: undefined ] ``` -ตัวอย่าง 6.12 ใช้ regex เป็น /[^cat]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่ c หรือ a หรือ t โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "s" ในตริง "cats" ที่อินเด็กซ์ 3 +ตัวอย่าง 6.12 ใช้ regex เป็น /[^cat]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่ c หรือ ไม่ใช่ a หรือ ไม่ใช่ t โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "s" ในสตริง "cats" ที่อินเด็กซ์ 3 ```js var re = /[^cat]/; console.log(re.exec("cats")); // [ 's', index: 3, input: 'cats', groups: undefined ] @@ -744,14 +744,14 @@ console.log(myRegex.sticky); // true ### แฟล็ก s (dotAll) -ตัวอย่าง 6.93 ปัญหาเมื่อ regex ไม่สามารถจับคู่ตัวอักษร “\n” ได้ +ตัวอย่าง 6.93 ปัญหาเมื่อ regex ไม่สามารถจับคู่ตัวอักษร "\n" ได้ ```js let regex = /./; let result = regex.test("\n"); console.log(result); // false ``` -ตัวอย่าง 6.94 เป็นการใช้แฟล็ก s เพื่อจับคู่ตัวอักษร “\n” +ตัวอย่าง 6.94 เป็นการใช้แฟล็ก s เพื่อจับคู่ตัวอักษร "\n" ```js let regex = /./s; let result = regex.test("\n"); From d07217a1c43fa58a76663c33d9d328076a169f70 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 15:38:07 +0700 Subject: [PATCH 695/757] no message --- examples_book/Chapter06.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index dd2f0f5..aa0e17f 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -65,31 +65,31 @@ console.log(re.exec("
    ")); // [ 'div', index: 1, input: '
    ', groups: ### การระบุช่วงตัวอักษรที่จับคู่ -ตัวอย่าง 6.7 ใช้ regex เป็น /[abc]/ หมายถึงจะจับคู่ตัวอักษร a หรือ b หรือ c โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "b" ในตริง "feb" ที่อินเด็กซ์ 2 +ตัวอย่าง 6.7 ใช้ regex เป็น /[abc]/ หมายถึงจะจับคู่ตัวอักษร a หรือ b หรือ c โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "b" ในสตริง "feb" ที่อินเด็กซ์ 2 ```js var re = /[abc]/; console.log(re.exec("feb")); // [ 'b', index: 2, input: 'feb', groups: undefined ] ``` -ตัวอย่าง 6.8 ใช้ regex เป็น /[7-9]/ หมายถึงจะจับคู่ตัวเลขในช่วง 7 ถึง 9 โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "8" ในตริง "2+8"" ที่อินเด็กซ์ 2 +ตัวอย่าง 6.8 ใช้ regex เป็น /[7-9]/ หมายถึงจะจับคู่ตัวเลขในช่วง 7 ถึง 9 โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "8" ในสตริง "2+8"" ที่อินเด็กซ์ 2 ```js var re = /[7-9]/; console.log(re.exec("2+8")); // [ '8', index: 2, input: '2+8', groups: undefined ] ``` -ตัวอย่าง 6.9 ใช้ regex เป็น /[a-c]/ หมายถึงจะจับคู่ตัวอักษรตัวพิมพ์เล็ก ตั้งแต่ a ถึง c โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "a" ในตริง "rat" ที่อินเด็กซ์ 1 +ตัวอย่าง 6.9 ใช้ regex เป็น /[a-c]/ หมายถึงจะจับคู่ตัวอักษรตัวพิมพ์เล็ก ตั้งแต่ a ถึง c โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "a" ในสตริง "rat" ที่อินเด็กซ์ 1 ```js var re = /[a-c]/; console.log(re.exec("rat")); // [ 'a', index: 1, input: 'rat', groups: undefined ] ``` -ตัวอย่าง 6.10 ใช้ regex เป็น /[A-C]/ หมายถึงจะจับคู่ตัวอักษรตัวพิมพ์ใหญ่ ตั้งแต่ A ถึง C โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "C" ในตริง "COM" ที่อินเด็กซ์ 0 +ตัวอย่าง 6.10 ใช้ regex เป็น /[A-C]/ หมายถึงจะจับคู่ตัวอักษรตัวพิมพ์ใหญ่ ตั้งแต่ A ถึง C โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "C" ในสตริง "COM" ที่อินเด็กซ์ 0 ```js var re = /[A-C]/; console.log(re.exec("COM")); // [ 'C', index: 0, input: 'COM', groups: undefined ] ``` -ตัวอย่าง 6.11 ใช้ regex เป็น /[a-cA-C]/ หมายถึงจะจับคู่ตัวอักษรตัวพิมพ์เล็ก ตั้งแต่ a ถึง c หรือตัวอักษรตัวพิมพ์ใหญ่ ตั้งแต่ A ถึง C โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "A" ในตริง "AND" ที่อินเด็กซ์ 0 +ตัวอย่าง 6.11 ใช้ regex เป็น /[a-cA-C]/ หมายถึงจะจับคู่ตัวอักษรตัวพิมพ์เล็ก ตั้งแต่ a ถึง c หรือตัวอักษรตัวพิมพ์ใหญ่ ตั้งแต่ A ถึง C โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "A" ในสตริง "AND" ที่อินเด็กซ์ 0 ```js var re = /[a-cA-C]/; console.log(re.exec("AND")); // [ 'A', index: 0, input: 'AND', groups: undefined ] @@ -101,25 +101,25 @@ var re = /[^cat]/; console.log(re.exec("cats")); // [ 's', index: 3, input: 'cats', groups: undefined ] ``` -ตัวอย่าง 6.13 ใช้ regex เป็น /[^0-3]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่เลข 0 ถึง 3 โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "k" ในตริง "20k" ที่อินเด็กซ์ 2 +ตัวอย่าง 6.13 ใช้ regex เป็น /[^0-3]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่เลข 0 ถึง 3 โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "k" ในสตริง "20k" ที่อินเด็กซ์ 2 ```js var re = /[^0-3]/; console.log(re.exec("20k")); // [ 'k', index: 2, input: '20k', groups: undefined ] ``` -ตัวอย่าง 6.14 ใช้ regex เป็น /[^w-z]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่ตัวอักษร w ถึง z โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจอเลข 1 ในตริง "xy12" ที่อินเด็กซ์ 2 +ตัวอย่าง 6.14 ใช้ regex เป็น /[^w-z]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่ตัวอักษร w ถึง z โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจอเลข 1 ในสตริง "xy12" ที่อินเด็กซ์ 2 ```js var re = /[^w-z]/; console.log(re.exec("xy12")); // [ '1', index: 2, input: 'xy12', groups: undefined ] ``` -ตัวอย่าง 6.15 ใช้ regex เป็น /[^m-oM-O]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่ตัวอักษร m ถึง o และไม่ใช่ M ถึง O โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจอเลข "!" ในตริง "Moon!" ที่อินเด็กซ์ 4 +ตัวอย่าง 6.15 ใช้ regex เป็น /[^m-oM-O]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่ตัวอักษร m ถึง o และไม่ใช่ M ถึง O โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจอเลข "!" ในสตริง "Moon!" ที่อินเด็กซ์ 4 ```js var re = /[^m-oM-O]/; console.log(re.exec("Moon!")); // [ '!', index: 4, input: 'Moon!', groups: undefined ] ``` -ตัวอย่าง 6.16 เป็นการประยุกต์ใช้ regex ที่ดูซับซ้อนขึ้น ได้แก่ /[a-zB-Mxyz157]/ หมายถึงจะจับคู่ตัวอักษรระหว่าง a ถึง z หรือ B ถึง M หรือ x หรือ y หรือ z หรือ 1 หรือ 5 หรือ 7 โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "5" ในตริง "3-5" ที่อินเด็กซ์ 2 +ตัวอย่าง 6.16 เป็นการประยุกต์ใช้ regex ที่ดูซับซ้อนขึ้น ได้แก่ /[a-zB-Mxyz157]/ หมายถึงจะจับคู่ตัวอักษรระหว่าง a ถึง z หรือ B ถึง M หรือ x หรือ y หรือ z หรือ 1 หรือ 5 หรือ 7 โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "5" ในสตริง "3-5" ที่อินเด็กซ์ 2 ```js var re = /[a-zB-Mxyz157]/; console.log(re.exec("3-5")); // [ '5', index: 2, input: '3-5', groups: undefined ] @@ -127,7 +127,7 @@ console.log(re.exec("3-5")); // [ '5', index: 2, input: '3-5', groups: undef ### การระบุความถี่ของลำดับตัวอักษรที่จับคู่ -ตัวอย่าง 6.17 ใช้ regex เป็น /3+/ หมายถึงจะจับคู่ลำดัับตัวเลข 3 ตั้งแต่ 1 ตัวขึ้นไป โดยจะเจออักษร "3" ในตริง "123" ที่อินเด็กซ์ 2 +ตัวอย่าง 6.17 ใช้ regex เป็น /3+/ หมายถึงจะจับคู่ลำดัับตัวเลข 3 ตั้งแต่ 1 ตัวขึ้นไป โดยจะเจออักษร "3" ในสตริง "123" ที่อินเด็กซ์ 2 ```js var re = /3+/; console.log(re.exec("123")); // [ '3', index: 2, input: '123', groups: undefined ] @@ -139,7 +139,7 @@ var re = /p+/; console.log(re.exec("app")); // [ 'pp', index: 1, input: 'app', groups: undefined ] ``` -ตัวอย่าง 6.19 ใช้ regex เป็น /3*/ หมายถึงจะจับคู่ลำดับตัวเลข 3 ตั้งแต่ศูนย์ตัวขึ้นไป ในตัวอย่างนี้เป็นตริง "12" ก็จะถือว่าเจอสตริงว่าง ‘’ ที่อินเด็กซ์ 0 +ตัวอย่าง 6.19 ใช้ regex เป็น /3*/ หมายถึงจะจับคู่ลำดับตัวเลข 3 ตั้งแต่ศูนย์ตัวขึ้นไป ในตัวอย่างนี้ใช้ตริงตั้งต้นเป็น "12" ก็จะถือว่าเจอสตริงว่าง '' ที่อินเด็กซ์ 0 ```js var re = /3*/; console.log(re.exec("12")); // [ '', index: 0, input: '12', groups: undefined ] @@ -151,7 +151,7 @@ var re = /b*/; console.log(re.exec("bbc")); // [ 'bb', index: 0, input: 'bbc', groups: undefined ] ``` -ตัวอย่าง 6.21 ใช้ regex เป็น /p*/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัวขึ้นไป ในตัวอย่างนี้เป็นตริง "app" ก็จะถือว่าเจอสตริงว่าง ‘’ ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ +ตัวอย่าง 6.21 ใช้ regex เป็น /p*/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัวขึ้นไป ในตัวอย่างนี้เป็นตริง "app" ก็จะถือว่าเจอสตริงว่าง '' ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ ```js var re = /p*/; console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] @@ -169,7 +169,7 @@ var re = /b?/; console.log(re.exec("bbc")); // [ 'b', index: 0, input: 'bbc', groups: undefined ] ``` -ตัวอย่าง 6.24 ใช้ regex เป็น /p?/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัว ถึง 1 ตัว ในตัวอย่างนี้เป็นตริง "app" ก็จะถือว่าเจอสตริงว่าง ‘’ ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ ? ก็เหมือน * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ +ตัวอย่าง 6.24 ใช้ regex เป็น /p?/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัว ถึง 1 ตัว ในตัวอย่างนี้เป็นตริง "app" ก็จะถือว่าเจอสตริงว่าง '' ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ ? ก็เหมือน * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ ```js var re = /p?/; console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] @@ -354,31 +354,31 @@ console.log(/\\/.test("\x5C")); // true -- x5c คือค่า ASCII console.log(/\./.test(".")); // true ``` -ตัวอย่าง 6.52 ใช้ regex เป็น /./ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "d" ในตริง "dog" ที่อินเด็กซ์ 0 +ตัวอย่าง 6.52 ใช้ regex เป็น /./ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "d" ในสตริง "dog" ที่อินเด็กซ์ 0 ```js var re = /./; console.log(re.exec("dog")); // [ 'd', index: 0, input: 'dog', groups: undefined ] ``` -ตัวอย่าง 6.53 ใช้ regex เป็น /.ox/ หมายถึงจะจับคู่ตัวอักษรที่ขึ้นต้นด้วยอะไรก็ได้ แต่ขอให้ตามด้วย ox โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษร "box" ในตริง "boxes" ที่อินเด็กซ์ 0 +ตัวอย่าง 6.53 ใช้ regex เป็น /.ox/ หมายถึงจะจับคู่ตัวอักษรที่ขึ้นต้นด้วยอะไรก็ได้ แต่ขอให้ตามด้วย ox โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษร "box" ในสตริง "boxes" ที่อินเด็กซ์ 0 ```js var re = /.ox/; console.log(re.exec("boxes")); // [ 'box', index: 0, input: 'boxes', groups: undefined ] ``` -ตัวอย่าง 6.54 ใช้ regex เป็น /\d/ หมายถึงจะจับคู่ตัวเลขใดๆ จำนวน 1 ตัว โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษรเลข "8" ในตริง "x86" ที่อินเด็กซ์ 1 (ไม่เจอเลข 6) +ตัวอย่าง 6.54 ใช้ regex เป็น /\d/ หมายถึงจะจับคู่ตัวเลขใดๆ จำนวน 1 ตัว โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษรเลข "8" ในสตริง "x86" ที่อินเด็กซ์ 1 (ไม่เจอเลข 6) ```js var re = /\d/; console.log(re.exec("x86")); // [ '8', index: 1, input: 'x86', groups: undefined ] ``` -ตัวอย่าง 6.55 ใช้ regex เป็น /..\d/ หมายถึงจะจับคู่ลำดับตัวอักษรทั้งหมด 3 ตัว โดยสองตัวแรกเป็นตัวอักษรใดๆ ก็ได้ (ใช้จุดสองอันติดกัน) ส่วนตัวอักษรที่สาม จะเป็นตัวเลข (ใช้ \d) โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจอคำว่า "em1" ในตริง "item1" ที่อินเด็กซ์ 2 +ตัวอย่าง 6.55 ใช้ regex เป็น /..\d/ หมายถึงจะจับคู่ลำดับตัวอักษรทั้งหมด 3 ตัว โดยสองตัวแรกเป็นตัวอักษรใดๆ ก็ได้ (ใช้จุดสองอันติดกัน) ส่วนตัวอักษรที่สาม จะเป็นตัวเลข (ใช้ \d) โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจอคำว่า "em1" ในสตริง "item1" ที่อินเด็กซ์ 2 ```js var re = /..\d/; console.log(re.exec("item1")); // [ 'em1', index: 2, input: 'item1', groups: undefined ] ``` -ตัวอย่าง 6.56 ใช้ regex เป็น /\D/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวเลข โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษรเลข "p" ในตริง "100px" ที่อินเด็กซ์ 3 (ไม่เจออักษร "x") +ตัวอย่าง 6.56 ใช้ regex เป็น /\D/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวเลข โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจออักษรเลข "p" ในสตริง "100px" ที่อินเด็กซ์ 3 (ไม่เจออักษร "x") ```js var re = /\D/; console.log(re.exec("100px")); // [ 'p', index: 3, input: '100px', groups: undefined ] @@ -402,7 +402,7 @@ console.log(re.exec("7$")); // [ '$', index: 1, input: '7$', groups: unde console.log(re.exec("_$")); // [ '$', index: 1, input: '_$', groups: undefined ] ``` -ตัวอย่าง 6.59 ใช้ regex เป็น /\s/ หมายถึงจะจับคู่ตัวอักษรช่องว่าง โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจอช่องว่าง " " ในตริง "^ ^" ที่อินเด็กซ์ 1 +ตัวอย่าง 6.59 ใช้ regex เป็น /\s/ หมายถึงจะจับคู่ตัวอักษรช่องว่าง โดยจะค้นหาคำแรกที่พบเจอ ซึ่งจะเจอช่องว่าง " " ในสตริง "^ ^" ที่อินเด็กซ์ 1 ```js var re = /\s/; console.log(re.exec("^ ^")); // [ ' ', index: 1, input: '^ ^', groups: undefined ] From 6b506575bd08a684bc3c0167be070d7c1ad455a1 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 15:39:09 +0700 Subject: [PATCH 696/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index aa0e17f..ae0380d 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -71,7 +71,7 @@ var re = /[abc]/; console.log(re.exec("feb")); // [ 'b', index: 2, input: 'feb', groups: undefined ] ``` -ตัวอย่าง 6.8 ใช้ regex เป็น /[7-9]/ หมายถึงจะจับคู่ตัวเลขในช่วง 7 ถึง 9 โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "8" ในสตริง "2+8"" ที่อินเด็กซ์ 2 +ตัวอย่าง 6.8 ใช้ regex เป็น /[7-9]/ หมายถึงจะจับคู่ตัวเลขในช่วง 7 ถึง 9 โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษรเลข "8" ในสตริง "2+8" ที่อินเด็กซ์ 2 ```js var re = /[7-9]/; console.log(re.exec("2+8")); // [ '8', index: 2, input: '2+8', groups: undefined ] From e0f5dfdee436544b1162036ed4bd6bc11a98a963 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 15:44:32 +0700 Subject: [PATCH 697/757] no message --- examples_book/Chapter06.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index ae0380d..caf3e2f 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -151,7 +151,7 @@ var re = /b*/; console.log(re.exec("bbc")); // [ 'bb', index: 0, input: 'bbc', groups: undefined ] ``` -ตัวอย่าง 6.21 ใช้ regex เป็น /p*/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัวขึ้นไป ในตัวอย่างนี้เป็นตริง "app" ก็จะถือว่าเจอสตริงว่าง '' ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ +ตัวอย่าง 6.21 ใช้ regex เป็น /p*/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัวขึ้นไป ในตัวอย่างนี้ใช้สตริงตั้งต้นเป็น "app" ก็จะถือว่าเจอสตริงว่าง ‘’ ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ ```js var re = /p*/; console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] @@ -169,7 +169,7 @@ var re = /b?/; console.log(re.exec("bbc")); // [ 'b', index: 0, input: 'bbc', groups: undefined ] ``` -ตัวอย่าง 6.24 ใช้ regex เป็น /p?/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัว ถึง 1 ตัว ในตัวอย่างนี้เป็นตริง "app" ก็จะถือว่าเจอสตริงว่าง '' ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ ? ก็เหมือน * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ +ตัวอย่าง 6.24 ใช้ regex เป็น /p?/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัว ถึง 1 ตัว ตัวอย่างนี้ใช้สตริงตั้งต้นเป็น "app" ก็จะถือว่าเจอสตริงว่าง ‘’ ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ ? ก็เหมือน * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ ```js var re = /p?/; console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] From f0379bde3b79f31cd3484c65ff469d747fbacccb Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 15:47:31 +0700 Subject: [PATCH 698/757] no message --- examples_book/Chapter06.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index caf3e2f..c416d77 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -151,7 +151,7 @@ var re = /b*/; console.log(re.exec("bbc")); // [ 'bb', index: 0, input: 'bbc', groups: undefined ] ``` -ตัวอย่าง 6.21 ใช้ regex เป็น /p*/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัวขึ้นไป ในตัวอย่างนี้ใช้สตริงตั้งต้นเป็น "app" ก็จะถือว่าเจอสตริงว่าง ‘’ ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ +ตัวอย่าง 6.21 ใช้ regex เป็น /p*/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัวขึ้นไป ในตัวอย่างนี้ใช้สตริงตั้งต้นเป็น "app" ก็จะถือว่าเจอสตริงว่าง '' ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ ```js var re = /p*/; console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] @@ -169,7 +169,7 @@ var re = /b?/; console.log(re.exec("bbc")); // [ 'b', index: 0, input: 'bbc', groups: undefined ] ``` -ตัวอย่าง 6.24 ใช้ regex เป็น /p?/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัว ถึง 1 ตัว ตัวอย่างนี้ใช้สตริงตั้งต้นเป็น "app" ก็จะถือว่าเจอสตริงว่าง ‘’ ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ ? ก็เหมือน * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ +ตัวอย่าง 6.24 ใช้ regex เป็น /p?/ หมายถึงจะจับคู่ลำดับตัวอักษร "p" ตั้งแต่ศูนย์ตัว ถึง 1 ตัว ตัวอย่างนี้ใช้สตริงตั้งต้นเป็น "app" ก็จะถือว่าเจอสตริงว่าง '' ที่อินเด็กซ์ 0 เพราะเวลา regex จับคู่ในสตริง ก็จะมองจากตัวอักษรซ้ายมือสุดไปขวามือ พอเจอ "a" ก่อนตัวอักษรอื่นๆ จึงเข้าใจว่า p มีแค่ศูนย์ตัว จะไม่มองหา p ที่อยู่ในอินเด็กซ์ 1 กับ 2 ดังนั้นการใช้ ? ก็เหมือน * จึงต้องระวังให้ดี อาจทำให้เข้าใจผิดได้ ```js var re = /p?/; console.log(re.exec("app")); // [ '', index: 0, input: 'app', groups: undefined ] From 5e28c29896021d0e3a1db4d2f1f2e76b21839522 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 15:52:53 +0700 Subject: [PATCH 699/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index c416d77..d6185e8 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -280,7 +280,7 @@ console.log(re.exec("A father is")); // [ 'fa', index: 2, input: 'A father is', ``` 1) วิธี lookahead assertion จะมีรูปแบบ x(?=y) ดังตัวอย่าง -ตัวอย่าง 6.42 ใช้ regex เป็น /Java(?=Script)/ หมายถึงจะจับคู่คำว่า "Java" แต่ต้องตาม ด้วยคำว่า "Script" ด้วยรูปแบบ Java แล้วมีรูปแบบ (?=Script) แปะท้าย จึงเจอ "Java" ที่อินเด็กซ์ 10 +ตัวอย่าง 6.42 ใช้ regex เป็น /Java(?=Script)/ หมายถึงจะจับคู่คำว่า "Java" แต่ต้องตามด้วยคำว่า "Script" ด้วยรูปแบบ Java แล้วมีรูปแบบ (?=Script) แปะท้าย จึงเจอ "Java" ที่อินเด็กซ์ 10 ```js let re = /Java(?=Script)/; console.log(re.exec("This is a JavaScript book")); From 4e8fbfd642236bad948aa0856ae66d04923dd539 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 15:55:11 +0700 Subject: [PATCH 700/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index d6185e8..2b7f75a 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -318,7 +318,7 @@ console.log(re.exec("This is a JavaScript book")); ``` 2) วิธี negative lookbehind assertion จะมีรูปแบบ (? Date: Sat, 21 Oct 2023 15:59:10 +0700 Subject: [PATCH 701/757] no message --- examples_book/Chapter06.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 2b7f75a..08aef8b 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -301,7 +301,7 @@ console.log(re.exec("test_js test_txt test_html")); // [ 'test_', index: 17, input: 'test_js test_txt test_html', groups: undefined ] ``` -1) วิธี lookbehind assertion จะมีรูปแบบ (?<=y)x +1) วิธี lookbehind assertion จะมีรูปแบบ (?<=y)x ดังตัวอย่าง ตัวอย่าง 6.45 ใช้ regex เป็น /(?<=Java)Script/ หมายถึงจะจับคู่คำว่า "Script" แต่ต้องขึ้นต้นตัวหน้าเป็น "Java" ด้วยรูปแบบ (?<=Java) และมีรูปแบบ Script แปะท้าย จึงเจอ "Script" ที่อินเด็กซ์ 14 ```js let re = /(?<=Java)Script/; @@ -317,8 +317,8 @@ console.log(re.exec("This is a JavaScript book")); // [ 'Script book', index: 14, input: 'This is a JavaScript book', groups: undefined ] ``` -2) วิธี negative lookbehind assertion จะมีรูปแบบ (? Date: Sat, 21 Oct 2023 16:01:06 +0700 Subject: [PATCH 702/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 08aef8b..70b29e4 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -318,7 +318,7 @@ console.log(re.exec("This is a JavaScript book")); ``` 2) วิธี negative lookbehind assertion จะมีรูปแบบ (?<!y)x ดังตัวอย่าง -ตัวอย่าง 6.47 ใช้ regex เป็น /(? Date: Sat, 21 Oct 2023 16:02:29 +0700 Subject: [PATCH 703/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 70b29e4..7886ed1 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -318,7 +318,7 @@ console.log(re.exec("This is a JavaScript book")); ``` 2) วิธี negative lookbehind assertion จะมีรูปแบบ (?<!y)x ดังตัวอย่าง -ตัวอย่าง 6.47 ใช้ regex เป็น /(?<!test).js/ หมายถึงจะจับคู่ด้วยคำว่า ".js" ด้วยรูปแบบ .js แต่ต้องไม่ขึ้นต้นด้วยคำว่า "test" ด้วยรูปแบบ (? Date: Sat, 21 Oct 2023 16:06:13 +0700 Subject: [PATCH 704/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 7886ed1..92667a4 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -350,7 +350,7 @@ console.log(re.exec("แดง")); // [ 'ด', index: 1, input: 'แดง', console.log(/\+/.test("+")); // true console.log(/\*/.test("*")); // true console.log(/\?/.test("?")); // true -console.log(/\\/.test("\x5C")); // true -- x5c คือค่า ASCII ของ "\" +console.log(/\\/.test("\x5C")); // true -- x5C คือค่า ASCII ของ "\" console.log(/\./.test(".")); // true ``` From 54f78d83870571d8772344b7042115b90056d959 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 16:09:53 +0700 Subject: [PATCH 705/757] no message --- examples_book/Chapter06.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 92667a4..cb3d380 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -384,7 +384,7 @@ var re = /\D/; console.log(re.exec("100px")); // [ 'p', index: 3, input: '100px', groups: undefined ] ``` -ตัวอย่าง 6.57 ใช้regex เป็น /\w/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ได้แก่ ตัวอักษร a ถึง z หรือ A ถึง z หรือ 0 ถึง 9 รวมทั้ง _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้จะเจอหลายตัวอักษรที่อินเด็กซ์ 1 (ไม่จับคู่ "$") +ตัวอย่าง 6.57 ใช้regex เป็น /\w/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ได้แก่ ตัวอักษร a ถึง z หรือ A ถึง Z หรือ 0 ถึง 9 รวมทั้ง _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้จะเจอหลายตัวอักษรที่อินเด็กซ์ 1 (ไม่จับคู่ "$") ```js var re = /\w/; console.log(re.exec("$a")); // [ 'a', index: 1, input: '$a', groups: undefined ] @@ -393,7 +393,7 @@ console.log(re.exec("$7")); // [ '7', index: 1, input: '$7', groups: unde console.log(re.exec("$_")); // [ '_', index: 1, input: '$_', groups: undefined ] ``` -ตัวอย่าง 6.58 ใช้ regex เป็น /\W/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวอักษร a ถึง z หรือ A ถึง z หรือ 0 ถึง 9 รวมทั้ง _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้ก็จะเจออักษร "$" ที่อินเด็กซ์ 1 +ตัวอย่าง 6.58 ใช้ regex เป็น /\W/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวอักษร a ถึง z หรือ ไม่ใช่ A ถึง Z หรือ ไม่ใช่ 0 ถึง 9 รวมทั้งไม่ใช่ _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้ก็จะเจออักษร "$" ที่อินเด็กซ์ 1 ```js var re = /\W/; console.log(re.exec("a$")); // [ '$', index: 1, input: 'a$', groups: undefined ] From acb709507d1b62259be6cf62dc6de2dac98421f0 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 16:11:37 +0700 Subject: [PATCH 706/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index cb3d380..7e29b9a 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -393,7 +393,7 @@ console.log(re.exec("$7")); // [ '7', index: 1, input: '$7', groups: unde console.log(re.exec("$_")); // [ '_', index: 1, input: '$_', groups: undefined ] ``` -ตัวอย่าง 6.58 ใช้ regex เป็น /\W/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวอักษร a ถึง z หรือ ไม่ใช่ A ถึง Z หรือ ไม่ใช่ 0 ถึง 9 รวมทั้งไม่ใช่ _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้ก็จะเจออักษร "$" ที่อินเด็กซ์ 1 +ตัวอย่าง 6.58 ใช้ regex เป็น /\W/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวอักษร a ถึง z และไม่ใช่ A ถึง Z และไม่ใช่ 0 ถึง 9 รวมทั้งไม่ใช่ _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้ก็จะเจออักษร "$" ที่อินเด็กซ์ 1 ```js var re = /\W/; console.log(re.exec("a$")); // [ '$', index: 1, input: 'a$', groups: undefined ] From 98b423e54b84740c8ac5d2c94524693240f2cb3b Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 16:15:08 +0700 Subject: [PATCH 707/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 7e29b9a..ffa4412 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -95,7 +95,7 @@ var re = /[a-cA-C]/; console.log(re.exec("AND")); // [ 'A', index: 0, input: 'AND', groups: undefined ] ``` -ตัวอย่าง 6.12 ใช้ regex เป็น /[^cat]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่ c หรือ ไม่ใช่ a หรือ ไม่ใช่ t โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "s" ในสตริง "cats" ที่อินเด็กซ์ 3 +ตัวอย่าง 6.12 ใช้ regex เป็น /[^cat]/ หมายถึงจะจับคู่ตัวอักษร ที่ไม่ใช่ c และไม่ใช่ a และไม่ใช่ t โดยจะค้นหาตัวแรกที่พบเจอ ซึ่งจะเจออักษร "s" ในสตริง "cats" ที่อินเด็กซ์ 3 ```js var re = /[^cat]/; console.log(re.exec("cats")); // [ 's', index: 3, input: 'cats', groups: undefined ] From 42ccbf44b612eb6d16b859525b9d07b30cca4817 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 16:17:37 +0700 Subject: [PATCH 708/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index ffa4412..fd68a62 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -408,7 +408,7 @@ var re = /\s/; console.log(re.exec("^ ^")); // [ ' ', index: 1, input: '^ ^', groups: undefined ] ``` -ตัวอย่าง 6.60 เราสามารถพิมพ์ช่องเว้นวรรคก็ได้ โดยไม่ต้องใช้ \s ใน regex ดังตัวอย่าง +ตัวอย่าง 6.60 เราสามารถพิมพ์ช่องว่างเว้นวรรคก็ได้ โดยไม่ต้องใช้ \s ใน regex ดังตัวอย่าง ```js var re = / /; console.log(re.exec("^ ^")); // [ ' ', index: 1, input: '^ ^', groups: undefined ] From c5dc10b602299bbe74ef03177bd79791873405d6 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 16:21:16 +0700 Subject: [PATCH 709/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index fd68a62..5fc2457 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -408,7 +408,7 @@ var re = /\s/; console.log(re.exec("^ ^")); // [ ' ', index: 1, input: '^ ^', groups: undefined ] ``` -ตัวอย่าง 6.60 เราสามารถพิมพ์ช่องว่างเว้นวรรคก็ได้ โดยไม่ต้องใช้ \s ใน regex ดังตัวอย่าง +ตัวอย่าง 6.60 เราสามารถพิมพ์ช่องว่างเว้นวรรคภายใน regex โดยไม่ต้องใช้ \s ก็ได้ ```js var re = / /; console.log(re.exec("^ ^")); // [ ' ', index: 1, input: '^ ^', groups: undefined ] From f55a109888481b894ba3c2987ac092ddd6062151 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 16:25:29 +0700 Subject: [PATCH 710/757] no message --- examples_book/Chapter06.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 5fc2457..31ab109 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -384,7 +384,7 @@ var re = /\D/; console.log(re.exec("100px")); // [ 'p', index: 3, input: '100px', groups: undefined ] ``` -ตัวอย่าง 6.57 ใช้regex เป็น /\w/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ได้แก่ ตัวอักษร a ถึง z หรือ A ถึง Z หรือ 0 ถึง 9 รวมทั้ง _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้จะเจอหลายตัวอักษรที่อินเด็กซ์ 1 (ไม่จับคู่ "$") +ตัวอย่าง 6.57 ใช้regex เป็น /\w/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ได้แก่ ตัวอักษร a ถึง z หรือ A ถึง Z หรือ 0 ถึง 9 รวมทั้งตัวอักษร _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้จะเจอหลายตัวอักษรที่อินเด็กซ์ 1 (ไม่จับคู่ "$") ```js var re = /\w/; console.log(re.exec("$a")); // [ 'a', index: 1, input: '$a', groups: undefined ] @@ -393,7 +393,7 @@ console.log(re.exec("$7")); // [ '7', index: 1, input: '$7', groups: unde console.log(re.exec("$_")); // [ '_', index: 1, input: '$_', groups: undefined ] ``` -ตัวอย่าง 6.58 ใช้ regex เป็น /\W/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวอักษร a ถึง z และไม่ใช่ A ถึง Z และไม่ใช่ 0 ถึง 9 รวมทั้งไม่ใช่ _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้ก็จะเจออักษร "$" ที่อินเด็กซ์ 1 +ตัวอย่าง 6.58 ใช้ regex เป็น /\W/ หมายถึงจะจับคู่ตัวอักษรใดๆ จำนวน 1 ตัว ที่ไม่ใช่ตัวอักษร a ถึง z และไม่ใช่ A ถึง Z และไม่ใช่ 0 ถึง 9 รวมทั้งไม่ใช่ตัวอักษร _ โดยจะค้นหาคำแรกที่พบเจอ ซึ่งในตัวอย่างนี้ก็จะเจออักษร "$" ที่อินเด็กซ์ 1 ```js var re = /\W/; console.log(re.exec("a$")); // [ '$', index: 1, input: 'a$', groups: undefined ] @@ -427,7 +427,7 @@ console.log(re.exec("

    @test

    ")); // [ '

    @test

    ', index: 5, input: '

    @test

    ', groups: undefined ] ``` -ตัวอย่าง 6.63 ประยุกต์ใช้ \d ร่วมกับ ^ และ \w ร่วมกับ {1,} เพื่อจับคู่สตริงที่ต้องขึ้นต้นด้วยตัวเลข แล้วตามด้วยอักษรที่อยู่ในช่วง a ถึง z หรือ A ถึง z หรือ 0 ถึง 9 รวมทั้งตัวอักษร _ ที่มีตั้งแต่ 1 ตัวขึ้นไป โดยในตัวอย่างนี้จะเจอข้อความ "1_log" ที่อินเด็กซ์ 0 +ตัวอย่าง 6.63 ประยุกต์ใช้ \d ร่วมกับ ^ และ \w ร่วมกับ {1,} เพื่อจับคู่สตริงที่ต้องขึ้นต้นด้วยตัวเลข แล้วตามด้วยอักษรที่อยู่ในช่วง a ถึง z หรือ A ถึง Z หรือ 0 ถึง 9 รวมทั้งตัวอักษร _ ที่มีตั้งแต่ 1 ตัวขึ้นไป โดยในตัวอย่างนี้จะเจอข้อความ "1_log" ที่อินเด็กซ์ 0 ```js var re = /^\d\w{1,}/; console.log(re.exec("1_log.txt")); // [ '1_log', index: 0, input: '1_log.txt', groups: undefined ] From a76e0f0cdbd66d161e2980250547779fcb49f71e Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 16:29:03 +0700 Subject: [PATCH 711/757] no message --- examples_book/Chapter06.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 31ab109..5e0e8c3 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -435,7 +435,7 @@ console.log(re.exec("1_log.txt")); // [ '1_log', index: 0, input: '1_log.txt', ### Unicode character properties -ตัวอย่าง 6.64 unicode property escapes ใช้พร็อพเพอร์ตี้ของยูนิโคดป็น Script +ตัวอย่าง 6.64 ระบุพร็อพเพอร์ตี้ของยูนิโคดป็น Script ```js var result = /\p{Script=Greek}+/u.test("μετά"); console.log(result); // true @@ -443,7 +443,7 @@ var result = /\p{Script=Thai}+/u.test("หนังสือไทย"); console.log(result); // true ``` -ตัวอย่าง 6.65 เขียนพร็อพเพอร์ตี้ Uppercase_Letter +ตัวอย่าง 6.65 ระบุพร็อพเพอร์ตี้ของยูนิโคดป็น Uppercase_Letter ```js var result = /\p{Uppercase_Letter}/u.test( "THAI" ); console.log(result); // true From 4469278a4cb3ef2939a91e68868e373ed9e6a981 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 16:30:15 +0700 Subject: [PATCH 712/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 5e0e8c3..5fcf3db 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -468,7 +468,7 @@ console.log(result); // true ### Capture groups -ตัวอย่าง 6.67 ใช้ regex เป็น /(log)_(html)/ เพื่อทำการ capture groups โดยจะมี 2 กลุ่มในการ catpure ได้แก่ (log) กับ (html) +ตัวอย่าง 6.67 ใช้ regex เป็น /(log)_(html)/ เพื่อทำการ capture groups โดยจะมี 2 กลุ่มย่อยในการ catpure ได้แก่ (log) กับ (html) ```js var result = /(log)_(html)/.exec("save log_html.txt"); console.log(result.index); // 5 From 6e6fc10b5d6d4a25d7000ed93f14eabd4cc7e30b Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 16:35:44 +0700 Subject: [PATCH 713/757] no message --- examples_book/Chapter06.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 5fcf3db..061972c 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -468,7 +468,7 @@ console.log(result); // true ### Capture groups -ตัวอย่าง 6.67 ใช้ regex เป็น /(log)_(html)/ เพื่อทำการ capture groups โดยจะมี 2 กลุ่มย่อยในการ catpure ได้แก่ (log) กับ (html) +ตัวอย่าง 6.67 ใช้ regex เป็น /(log)_(html)/ เพื่อทำการ capture groups โดยจะมี 2 กลุ่มย่อยที่ถูก catpure ได้แก่ (log) กับ (html) ```js var result = /(log)_(html)/.exec("save log_html.txt"); console.log(result.index); // 5 @@ -520,7 +520,7 @@ console.log(matchObj); console.log(matchObj .groups.filename); // "index" ``` -ตัวอย่าง 6.72 ใช้ regex เป็น /bk(@)th(->)com\2/ โดยมีการ capture สอง group ได้แก่ (@) กับ (.>) แต่ให้สังเกตมีการใช้ \2 หมายถึงชุดตัวอักษรที่จับคู่ จะใช้ผลการ capture ก่อนหน้านี้ ด้วยวงเล็บอันที่สองก็คือ (.>) +ตัวอย่าง 6.72 ใช้ regex เป็น /bk(@)th(->)com\2/ โดยมีการ capture สองกลุ่มย่อย ได้แก่ (@) กับ (.>) แต่ให้สังเกตมีการใช้ \2 หมายถึงชุดตัวอักษรที่ถูกจับคู่ จะใช้ผลการ capture ก่อนหน้านี้ ด้วยวงเล็บอันที่สองก็คือ (.>) ```js var re = /bk(@)th(.>)com\2/; console.log(re.exec("bk@th=>com=>mail")); From a4fdd34c31d3ff075952b190aed4116334954fc2 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 16:41:03 +0700 Subject: [PATCH 714/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 061972c..e0fd626 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -520,7 +520,7 @@ console.log(matchObj); console.log(matchObj .groups.filename); // "index" ``` -ตัวอย่าง 6.72 ใช้ regex เป็น /bk(@)th(->)com\2/ โดยมีการ capture สองกลุ่มย่อย ได้แก่ (@) กับ (.>) แต่ให้สังเกตมีการใช้ \2 หมายถึงชุดตัวอักษรที่ถูกจับคู่ จะใช้ผลการ capture ก่อนหน้านี้ ด้วยวงเล็บอันที่สองก็คือ (.>) +ตัวอย่าง 6.72 ใช้ regex เป็น /bk(@)th(->)com\2/ โดยมีการ capture สองกลุ่มย่อย ได้แก่ (@) กับ (.>) แต่ให้สังเกตมีการใช้ \2 หมายถึงชุดตัวอักษรที่ถูกจับคู่ จะใช้ผลการ capture ก่อนหน้านี้ ด้วยวงเล็บอันที่สองก็คือ (.>) ```js var re = /bk(@)th(.>)com\2/; console.log(re.exec("bk@th=>com=>mail")); From 43f61cad5a9e7f358b70648d9dbc6df35f27f771 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 16:46:05 +0700 Subject: [PATCH 715/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index e0fd626..a0d3825 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -527,7 +527,7 @@ console.log(re.exec("bk@th=>com=>mail")); // [ 'bk@th=>com=>', '@', '=>', index: 0, input: 'bk@th=>com=>mail', groups: undefined ] ``` -ตัวอย่าง 6.73 ใช้ regex เป็น /talk(?ed|ing) & watch\k/ โดยมีการตั้งชื่อกลุ่มที่ได้จากการ capture เป็น "tense" และมีการอ้างถึงผลลัพธ์จากการ capture ก่อนหน้านี้ด้วยกาiระบุชื่อกลุ่มเป็น "tense" ด้วยรูปแบบ \k +ตัวอย่าง 6.73 ใช้ regex เป็น /talk(?ed|ing) & watch\k/ โดยมีการตั้งชื่อกลุ่มที่ได้จากการ capture เป็น "tense" และมีการอ้างถึงผลการ capture ก่อนหน้านี้ ด้วยการอ้างชื่อกลุ่ม ได้แก่ "tense" ด้วยรูปแบบ \k<tense> ```js var re = /talk(?ed|ing) & watch\k/; console.log(re.exec("talked & watched")); From a485cbaad6914d8a4b59ac19a7ab8eb8a0001a85 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 16:51:23 +0700 Subject: [PATCH 716/757] no message --- examples_book/Chapter06.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index a0d3825..1656c70 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -536,7 +536,7 @@ console.log(re.exec("talked & watched")); ### เมธอดของสตริงที่ใช้งานร่วมกับ regex -ตัวอย่าง 6.74 ลองพิจารณาการใช้สตริงร่วมกับ regex ผ่านเมธอดของมัน +ตัวอย่าง 6.74 ลองพิจารณาการใช้เมธอดของสตริงร่วมกับ regex ```js console.log("012Hellooooo".search(/Hello+/)); // 3 var result = "Hellooooo Hello".match(/Hello+/g); @@ -672,7 +672,7 @@ var str = "𠮷"; console.log(/^.$/u.test(str)); // true ``` -ตัวอย่าง 6.87 ประยุกต์ใช้แฟล็ก u เพื่อนับจำนวนตัวอักษรที่เป็นภาษาอะไรก็ได้ ดังตัวอย่าง +ตัวอย่าง 6.87 ประยุกต์ใช้แฟล็ก u เพื่อนับจำนวนตัวอักษรที่เป็นภาษาชาติไหนก็ได้ ```js var result1 = "𠮷กขคง𤭢".match(/[\s\S]/gu); console.log(result1.length); // 6 From 26e2c3987931e66baff69b98069348ee78291199 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 21 Oct 2023 16:53:16 +0700 Subject: [PATCH 717/757] no message --- examples_book/Chapter06.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 1656c70..0201fa4 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -690,7 +690,7 @@ console.log(regex.unicode); // true ### แฟล็ก y ตัวอย่าง 6.89 เปรียบเทียบการใช้แฟล็ก g, แฟล็ก y และไม่ได้ใช้แฟล็กใดๆ เลย -ตัวอย่าง 6.90 ต่อเนื่องจากตัวอย่างเดิม ถ้าเรียกเมธอด exec() เป็นครั้งที่ 2 จะได้ผลลัพธ์ดังนี้ +ตัวอย่าง 6.90 จากตัวอย่างก่อนหน้า ถ้าเรียกเมธอด exec() เป็นครั้งที่ 2 จะได้ผลลัพธ์ดังนี้ ```js var str = "foo1_foo2_foo3"; // สตริงที่จะค้นหา var regex = /foo\d_?/; // ไม่มีแฟล็ก From 562c0a338029850d82c41507d3229c02896502c5 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 22 Oct 2023 10:36:57 +0700 Subject: [PATCH 718/757] no message --- examples_book/Chapter06.md | 2 +- examples_book/README.md | 6 ------ examples_book/free_ebook/Readme.md | 7 +++++++ 3 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 examples_book/free_ebook/Readme.md diff --git a/examples_book/Chapter06.md b/examples_book/Chapter06.md index 0201fa4..91315a0 100644 --- a/examples_book/Chapter06.md +++ b/examples_book/Chapter06.md @@ -800,7 +800,7 @@ console.log(matchObj.indices[1]) // [ 4, 7 ] -- จะเป็นต console.log(matchObj.indices[2]) // [ 8, 11 ] -- จะเป็นตำแหน่งของคำว่า "bar" ``` -ตัวอย่าง 6.98 จากตัวอย่างเดิมเราสามารถ capture ด้วยการะบุชื่อ group และใช้แฟล็ก d ด้วยก็ได้ ดังนี้ +ตัวอย่าง 6.98 จากตัวอย่างก่อนหน้า เราสามารถ capture ด้วยการะบุชื่อ group และใช้แฟล็ก d ด้วยก็ได้ ```js let matchObj = /(?foo).(?bar)/d.exec("0123foo_bar"); console.log(matchObj); diff --git a/examples_book/README.md b/examples_book/README.md index 87bc0c8..220d610 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -26,13 +26,7 @@ * [บทที่ 20 มอดูล](Chapter20.md) * [ภาคผนวก ข](Appendix_B) -* [ปูพื้นฐาน Node.js ฉบับย่อ เข้าใจ MongoDB]( -https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0OTQwOCI7fQ) - -* [พื้นฐาน React](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0ODU5NiI7fQ) - ### หมายเหตุ [สามารถทดลองรันโค้ดตัวอย่างในหนังสือได้ (ควรเปิดบนคอม ไม่แนะนำให้เปิดบนมือถือ หรือแท็บเล็ต)](https://patanasongsivilai.com/myblog/main.php?id=756) - #### ปล. เล่มนี้ตามรูปข้างล่างเนื้อหาเก่าแล้ว (ปัจจุบันไม่มีตีพิมพ์เพิ่ม) ![cover_big.jpg](https://github.com/adminho/javascript/blob/master/images/cover_big.jpg) diff --git a/examples_book/free_ebook/Readme.md b/examples_book/free_ebook/Readme.md new file mode 100644 index 0000000..c53832b --- /dev/null +++ b/examples_book/free_ebook/Readme.md @@ -0,0 +1,7 @@ +เอกสารแจกฟรี + +* [ปูพื้นฐาน Node.js ฉบับย่อ เข้าใจ MongoDB]( +https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0OTQwOCI7fQ) + +* [พื้นฐาน React](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0ODU5NiI7fQ) + From c49688137f75083bc8da8df9480d32424d87d656 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 22 Oct 2023 10:40:32 +0700 Subject: [PATCH 719/757] no message --- examples_book/free_ebook/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/free_ebook/Readme.md b/examples_book/free_ebook/Readme.md index c53832b..ad721a0 100644 --- a/examples_book/free_ebook/Readme.md +++ b/examples_book/free_ebook/Readme.md @@ -1,4 +1,4 @@ -เอกสารแจกฟรี +# เอกสารแจกฟรี * [ปูพื้นฐาน Node.js ฉบับย่อ เข้าใจ MongoDB]( https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0OTQwOCI7fQ) From 5221dfc7db5df7c202026793de987f64c27b273b Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 22 Oct 2023 10:43:58 +0700 Subject: [PATCH 720/757] no message --- examples_book/free_ebook/Readme.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples_book/free_ebook/Readme.md b/examples_book/free_ebook/Readme.md index ad721a0..3ef5925 100644 --- a/examples_book/free_ebook/Readme.md +++ b/examples_book/free_ebook/Readme.md @@ -1,7 +1,9 @@ -# เอกสารแจกฟรี +# เอกสารแจกฟรี (อ่านบนเว็บ MEB) * [ปูพื้นฐาน Node.js ฉบับย่อ เข้าใจ MongoDB]( https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0OTQwOCI7fQ) + + * [พื้นฐาน React](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0ODU5NiI7fQ) From 311406e41810c03b5b111146ae0965f3e9e9ae31 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 22 Oct 2023 10:46:28 +0700 Subject: [PATCH 721/757] no message --- examples_book/free_ebook/Readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples_book/free_ebook/Readme.md b/examples_book/free_ebook/Readme.md index 3ef5925..e3d5d68 100644 --- a/examples_book/free_ebook/Readme.md +++ b/examples_book/free_ebook/Readme.md @@ -2,8 +2,9 @@ * [ปูพื้นฐาน Node.js ฉบับย่อ เข้าใจ MongoDB]( https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0OTQwOCI7fQ) - + * [พื้นฐาน React](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0ODU5NiI7fQ) + \ No newline at end of file From 0f93eb952e76ae58d084bb83b9590937e2d74e8e Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 22 Oct 2023 10:49:50 +0700 Subject: [PATCH 722/757] no message --- examples_book/free_ebook/Readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/free_ebook/Readme.md b/examples_book/free_ebook/Readme.md index e3d5d68..1ac2491 100644 --- a/examples_book/free_ebook/Readme.md +++ b/examples_book/free_ebook/Readme.md @@ -2,9 +2,9 @@ * [ปูพื้นฐาน Node.js ฉบับย่อ เข้าใจ MongoDB]( https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0OTQwOCI7fQ) - + * [พื้นฐาน React](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0ODU5NiI7fQ) - \ No newline at end of file + \ No newline at end of file From 2fb1abf8af0508d98b55d6cc0645bd25fb4f6035 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 25 Oct 2023 11:25:35 +0700 Subject: [PATCH 723/757] no message --- examples_book/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/examples_book/README.md b/examples_book/README.md index 220d610..87d00d4 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -25,6 +25,7 @@ * [บทที่ 19 การใช้งาน async กับ await](Chapter19.md) * [บทที่ 20 มอดูล](Chapter20.md) * [ภาคผนวก ข](Appendix_B) +* [ภาคพนวก ง](Appendix_G.md) ### หมายเหตุ [สามารถทดลองรันโค้ดตัวอย่างในหนังสือได้ (ควรเปิดบนคอม ไม่แนะนำให้เปิดบนมือถือ หรือแท็บเล็ต)](https://patanasongsivilai.com/myblog/main.php?id=756) From b4a7c32b9d544b3879629cad35a2c1bf728c72b8 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 25 Oct 2023 13:25:55 +0700 Subject: [PATCH 724/757] no message --- examples_book/Appendix_G.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Appendix_G.md b/examples_book/Appendix_G.md index 5da81d9..6bfdc68 100644 --- a/examples_book/Appendix_G.md +++ b/examples_book/Appendix_G.md @@ -226,8 +226,8 @@ class MyClass2 extends MyClass { } let obj = new MyClass2(); let obj2 = obj.create(); // "Symbol.species is called" -console.log(obj2 instanceof MyClass); // true -console.log(obj2 instanceof MyClass2); // true +console.log(obj2 instanceof MyClass); // true +console.log(obj2 instanceof MyClass2); // true ``` ```js From ac1a13b52b190588b8e9a0a632d370f6043107f1 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 25 Oct 2023 13:34:56 +0700 Subject: [PATCH 725/757] no message --- examples_book/Appendix_G.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Appendix_G.md b/examples_book/Appendix_G.md index 6bfdc68..47698eb 100644 --- a/examples_book/Appendix_G.md +++ b/examples_book/Appendix_G.md @@ -251,7 +251,7 @@ console.log("It is " + a) // "It is [object Object]" ``` ```js -let two = new Number(2); // ประกาศอ็อบเจ็กต์ Number +let two = new Number(2); // ประกาศอ็อบเจ็กต์ Number console.log(two.toString()); // "2" console.log(two.valueOf()); // 2 // เบื้องหลังจะเรียกใช้ two.valueOf() ให้กลายเป็น 2 ก่อน แล้วถึงคูณด้วย 5 จึงกลายเป็น 2 * 5 From bf15848193b2febfa96306b30d24005d2d884c90 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 25 Oct 2023 13:46:51 +0700 Subject: [PATCH 726/757] no message --- examples_book/Appendix_G.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Appendix_G.md b/examples_book/Appendix_G.md index 47698eb..6950e56 100644 --- a/examples_book/Appendix_G.md +++ b/examples_book/Appendix_G.md @@ -324,7 +324,7 @@ ThaiCurrency.prototype[Symbol.toPrimitive] = function(hint) { let money = new ThaiCurrency (100); console.log(money / 2); // 50 -- case "number": console.log(String(money)); // "100 Baht" -- case "string" -console.log("Price " + money); // "Price 100 THB" -- case "default" +console.log("Price " + money); // "Price 100 THB" -- case "default" console.log(money == "100 THB"); // true -- case "default" ``` From 67c970eda63af750955c1ae5167a1cdf98c4cd03 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 25 Oct 2023 14:13:19 +0700 Subject: [PATCH 727/757] no message --- examples_book/Chapter11.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples_book/Chapter11.md b/examples_book/Chapter11.md index 6f7149c..ea6733a 100644 --- a/examples_book/Chapter11.md +++ b/examples_book/Chapter11.md @@ -146,8 +146,7 @@ function divTag(strings, ...values) { //console.log(strings[1]); // ") Hello world world : " //console.log(strings[2]); // " items" //console.log(values[0]); // 1 (เป็นค่าของนิพจน์ ${n} ) - //console.log(values[1]); // 18 (เป็นค่าของนิพจน์ ${a * b} ) - + //console.log(values[1]); // 18 (เป็นค่าของนิพจน์ ${a * b} ) let result = ""; for (let i = 0; i < values.length; i++) { result += strings [i]; From d78b3a05f56d5b373cbd4c6d93f5916d0d39196e Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 25 Oct 2023 14:17:10 +0700 Subject: [PATCH 728/757] no message --- examples_book/Chapter11.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples_book/Chapter11.md b/examples_book/Chapter11.md index ea6733a..05fbb63 100644 --- a/examples_book/Chapter11.md +++ b/examples_book/Chapter11.md @@ -139,6 +139,10 @@ console.log(`My name is ${name}`); ``` ## การติดแท็ก +```notrun +let n = 1, a = 3, b = 6; +console.log(divTag`${n}) Hello world : ${a * b} items`); // บรรทัด 2 +``` ```js function divTag(strings, ...values) { From 86b94845bfb9f9b6a58801737fccef71308ca5f4 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 25 Oct 2023 17:02:25 +0700 Subject: [PATCH 729/757] no message --- examples_book/Chapter11.md | 11 +++++++++-- examples_book/Chapter12.md | 6 +++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter11.md b/examples_book/Chapter11.md index 05fbb63..06e1538 100644 --- a/examples_book/Chapter11.md +++ b/examples_book/Chapter11.md @@ -89,8 +89,8 @@ Last line`; console.log(msg); ``` -* โค้ดข้างบนจะแสดงผลดังนี้ (ไม่ต้องกดรัน) -```js +* โค้ดข้างบนจะแสดงผลดังนี้ +```notrun First line // This is not a comment /* This is not a comment @@ -109,6 +109,9 @@ console.log(msg.trim().length); // 19 ``` ## นิพจน์ในเทมเพลตสตริง +```notrun +${นิพจน์} +``` ```js let name = "Somchai"; @@ -169,6 +172,10 @@ console.log(divTag`${n}) Hello world : ${a * b} items`); // "
    1) Hello world : 18 items
    " ``` +```notrun +divTag`${n}) Hello world : ${a * b} items` +``` + ### String.raw ```js console.log(`One\tTwo\nThree`); diff --git a/examples_book/Chapter12.md b/examples_book/Chapter12.md index bcf38c4..5fa53c3 100644 --- a/examples_book/Chapter12.md +++ b/examples_book/Chapter12.md @@ -21,7 +21,7 @@ console.log( typeof Symbol("example") ); // "symbol" ``` ```js -let uid = Symbol.for(“uid”); +let uid = Symbol.for("uid"); console.log( uid && true ); // true console.log( !true ); // false ``` @@ -114,8 +114,8 @@ for (let i in obj) { // ประโยค for จะแสดงผลลัพธ์ // "car" // "zoo" -let keys = Object.getOwnPropertyNames(obj); -console.log(keys); // [ 'car', 'zoo' ] +console.log(Object.getOwnPropertyNames(obj)); // [ 'car', 'zoo' ] +console.log(Object.keys(obj)); // [ 'car', 'zoo' ] ``` ```js From 407d9453572b65a8835fabbabb522f7365ec349e Mon Sep 17 00:00:00 2001 From: adminho Date: Thu, 26 Oct 2023 12:05:45 +0700 Subject: [PATCH 730/757] no message --- examples_book/Chapter17.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 4f52772..8dd4ab4 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -195,7 +195,7 @@ proxyMultiply(maxNum, maxNum); // Error: The result is not safe integer * ตัวอย่างที่ 3 จะแสดงกลไกการป้องกันเวลากำหนดโปรโตไทป์ให้กับอ็อบเจ็กต์ ```js -let people = {}; +let people = { }; let preventObj = { // handler // ดักจับตอนกำหนดโปรโตไทป์ให้กับอ็อบเจ็กต์เป้าหมาย @@ -280,7 +280,7 @@ let createImage = { // handler map.set(imageName, newObj); // เก็บไว้ในแม็พ return newObj } // สิ้นสุด construct -}// สิ้นสุดประกาศอ็อบเจ็กต์ +} // สิ้นสุดประกาศอ็อบเจ็กต์ let proxyImage = new Proxy(Image, createImage); From 8f401f7a7a25202781a0db9692f12e28f831334e Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 22 Nov 2023 20:27:48 +0700 Subject: [PATCH 731/757] no message --- examples_book/Chapter09.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples_book/Chapter09.md b/examples_book/Chapter09.md index 6793d0e..8537cde 100644 --- a/examples_book/Chapter09.md +++ b/examples_book/Chapter09.md @@ -219,11 +219,11 @@ for (const value of [1, 2]) { ```js let f = { - color: "red" - ,size: "200" - ,icon: "small" - ,style: "normal" - ,lang: "thai" + color: "red", + size: "200", + icon: "small", + style: "normal", + lang: "thai" } ; // การแกะข้อมูลภายในอ็อบเจ็กต์ เพื่อไปกำหนดค่าให้กับตัวแปรทีละตัว จะดูยุ่งยากมาก let color = f.color, size = f.size, icon = f.icon, style=f.style, lang= f.lang; From 7755720ed8c1cdd542ad339c4f6aa576fa7aa2b9 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 22 Nov 2023 20:42:02 +0700 Subject: [PATCH 732/757] no message --- examples_book/Chapter17.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 8dd4ab4..c104345 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -10,7 +10,7 @@ var function2 = "function myFunction (a, b) { console.log(a/b); }"; var randomNumber = Math.random() >= 0.5; // true หรือ false var code = randomNumber ? function1 : function2; eval(code); -myFunction(10,5); // 50 หรือ 2 -- บรรทัด a +myFunction(10, 5); // 50 หรือ 2 -- บรรทัด a /* จะเสมือนเขียน function myFunction(a, b) { console.log(a*b); From 7f10417e92bed0f1d756cdfed10462d168cabcf2 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 22 Nov 2023 21:24:42 +0700 Subject: [PATCH 733/757] no message --- examples_book/Chapter17.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index c104345..664f9c7 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -29,13 +29,13 @@ var body2 = "console.log(a/b)"; var randomNumber = Math.random() >= 0.5; // true หรือ false var myBody = randomNumber ? body1 : body2; var myFunction = Function("a","b", myBody); -myFunction(10,5); // 50 หรือ 2 +myFunction(10, 5); // 50 หรือ 2 /* จะเสมือนเขียน -function myFunction(a, b){ +function myFunction(a, b) { console.log(a*b); }*/ /* หรืออาจะเขียนเป็น -function myFunction(a, b){ +function myFunction(a, b) { console.log(a/b); }*/ ``` From 79062a7322307c34790d37f44a349320e5a8ad81 Mon Sep 17 00:00:00 2001 From: adminho Date: Wed, 22 Nov 2023 21:50:35 +0700 Subject: [PATCH 734/757] no message --- examples_book/Chapter17.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/Chapter17.md b/examples_book/Chapter17.md index 664f9c7..1587972 100644 --- a/examples_book/Chapter17.md +++ b/examples_book/Chapter17.md @@ -50,8 +50,8 @@ console.log(obj.a); // 100 ```js let obj = { }; -Reflect.set(obj,"a", 100); // เหมือนเขียนประโยค obj.a = 100; -console.log( Reflect.get(obj,"a") ); // 100 -- เหมือนเขียนประโยค console.log(obj.a); +Reflect.set(obj, "a", 100); // เหมือนเขียนประโยค obj.a = 100; +console.log( Reflect.get(obj, "a") ); // 100 -- เหมือนเขียนประโยค console.log(obj.a); ``` ## พร็อกซี่ From 03677d556514965807dc8e3d0d7cf2eac207e9f5 Mon Sep 17 00:00:00 2001 From: adminho Date: Sun, 3 Dec 2023 08:53:48 +0700 Subject: [PATCH 735/757] no message --- examples_book/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples_book/README.md b/examples_book/README.md index 87d00d4..9e7074d 100644 --- a/examples_book/README.md +++ b/examples_book/README.md @@ -2,7 +2,9 @@ ![cover_new.PNG](https://github.com/adminho/javascript/blob/master/images/cover_new.png) -[สามารถสั่งซ์้อได้ที่เว็บ MEB (ขายเป็นอีบุ๊กเท่านั้น)](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjE1Njg1NCI7fQ) +[สามารถสั่งซื้อได้ที่เว็บ MEB (ขายเป็นอีบุ๊ก)](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjE1Njg1NCI7fQ) + +[ หรือสามารถสั่งซื้อได้ที่ shopee](https://shopee.co.th/product/159315996/18595064435/) * บทที่ 1 แนะนำจาวาสคริปต์ * [บทที่ 2 รันจาวาสคริปต์อย่างง่าย](Chapter02.md) From fc8866173eb16ed2245329ac0f37459fba7a7ec6 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Dec 2023 07:31:22 +0700 Subject: [PATCH 736/757] no message --- examples_book/free_ebook/Readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples_book/free_ebook/Readme.md b/examples_book/free_ebook/Readme.md index 1ac2491..12966d2 100644 --- a/examples_book/free_ebook/Readme.md +++ b/examples_book/free_ebook/Readme.md @@ -5,6 +5,6 @@ https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVz -* [พื้นฐาน React](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0ODU5NiI7fQ) +* [พื้นฐาน React - ขออนุญาตแก้ไขลิงค์ รวมทั้งเนื้อหาในหนังสือ เดี่ยวเปิดให้อ่านสักประมาณต้นเดือน มกรามคม 2567 ]() - \ No newline at end of file + From fea81b3163c4b55444d333a7718f79677e449092 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Dec 2023 07:33:43 +0700 Subject: [PATCH 737/757] no message --- examples_book/free_ebook/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples_book/free_ebook/Readme.md b/examples_book/free_ebook/Readme.md index 12966d2..dc8d662 100644 --- a/examples_book/free_ebook/Readme.md +++ b/examples_book/free_ebook/Readme.md @@ -5,6 +5,6 @@ https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVz -* [พื้นฐาน React - ขออนุญาตแก้ไขลิงค์ รวมทั้งเนื้อหาในหนังสือ เดี่ยวเปิดให้อ่านสักประมาณต้นเดือน มกรามคม 2567 ]() +* [พื้นฐาน React - ขออนุญาตแก้ไขลิงค์ รวมทั้งเนื้อหาในหนังสือ เดี่ยวเปิดให้อ่านสักประมาณต้นเดือน มกราคม 2567 ]() From 9bc86899c239ed284104fc1d5ec8b856f7353752 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Dec 2023 13:30:23 +0700 Subject: [PATCH 738/757] no message --- examples_book/free_ebook/Readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples_book/free_ebook/Readme.md b/examples_book/free_ebook/Readme.md index dc8d662..aba5071 100644 --- a/examples_book/free_ebook/Readme.md +++ b/examples_book/free_ebook/Readme.md @@ -6,5 +6,7 @@ https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVz * [พื้นฐาน React - ขออนุญาตแก้ไขลิงค์ รวมทั้งเนื้อหาในหนังสือ เดี่ยวเปิดให้อ่านสักประมาณต้นเดือน มกราคม 2567 ]() +เลยให้ลิงก์ชั่วคราวไปก่อน +[อ่าน React ชั่วคราว](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0ODU5NiI7fQ) From 667728a7bcb30d8f69f39a5e85084f57e43cb2c4 Mon Sep 17 00:00:00 2001 From: adminho Date: Mon, 11 Dec 2023 13:31:21 +0700 Subject: [PATCH 739/757] no message --- examples_book/free_ebook/Readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/examples_book/free_ebook/Readme.md b/examples_book/free_ebook/Readme.md index aba5071..c89ef47 100644 --- a/examples_book/free_ebook/Readme.md +++ b/examples_book/free_ebook/Readme.md @@ -6,6 +6,7 @@ https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVz * [พื้นฐาน React - ขออนุญาตแก้ไขลิงค์ รวมทั้งเนื้อหาในหนังสือ เดี่ยวเปิดให้อ่านสักประมาณต้นเดือน มกราคม 2567 ]() + เลยให้ลิงก์ชั่วคราวไปก่อน [อ่าน React ชั่วคราว](https://www.mebmarket.com/web/index.php?action=BookDetails&data=YToyOntzOjc6InVzZXJfaWQiO3M6NzoiMTcyNTQ4MyI7czo3OiJib29rX2lkIjtzOjY6IjI0ODU5NiI7fQ) From 57f2f82cb5cd9f5e4d88739ea31a17e6c5c836e3 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Dec 2023 05:58:07 +0700 Subject: [PATCH 740/757] no message --- .../budget_thailand/fiscal_year_2024.html | 145 ++++++++++++++++++ examples/timer/count_time.html | 1 + 2 files changed, 146 insertions(+) create mode 100644 examples/budget_thailand/fiscal_year_2024.html diff --git a/examples/budget_thailand/fiscal_year_2024.html b/examples/budget_thailand/fiscal_year_2024.html new file mode 100644 index 0000000..0c7b35b --- /dev/null +++ b/examples/budget_thailand/fiscal_year_2024.html @@ -0,0 +1,145 @@ + + + +The Budget of Thailand 2024 + + + + +

    ผ่างบประมาณ 2567

    +
    +
    + + + +
    +

    โปรดติดตามแฟนเพจ https://www.facebook.com/programmerthai

    + + \ No newline at end of file diff --git a/examples/timer/count_time.html b/examples/timer/count_time.html index 4fa0b81..1caf30c 100644 --- a/examples/timer/count_time.html +++ b/examples/timer/count_time.html @@ -1,3 +1,4 @@ + From f9af3ae69c60f5b62f230eef24cf757bbd32db43 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Dec 2023 06:45:44 +0700 Subject: [PATCH 741/757] no message --- examples/budget_thailand/fiscal_year_2024.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/budget_thailand/fiscal_year_2024.html b/examples/budget_thailand/fiscal_year_2024.html index 0c7b35b..7ef3c04 100644 --- a/examples/budget_thailand/fiscal_year_2024.html +++ b/examples/budget_thailand/fiscal_year_2024.html @@ -14,7 +14,7 @@

    ผ่างบประมาณ 2567

    +

    ผ่างบประมาณ 2567


    -
    +
    - + @keyframes blinker { + 50% { + opacity: 0; + } + } + + -

    ผ่างบประมาณ 2567

    -
    -
    - - - -
    -

    โปรดติดตามแฟนเพจ https://www.facebook.com/programmerthai

    + showSummaryReport(); + +
    +

    โปรดติดตามแฟนเพจ https://www.facebook.com/programmerthai +

    - \ No newline at end of file + \ No newline at end of file From 5732a3766fdd13b519d797939d4a215567dc93e6 Mon Sep 17 00:00:00 2001 From: adminho Date: Sat, 30 Dec 2023 07:20:03 +0700 Subject: [PATCH 744/757] no message --- examples/budget_thailand/fiscal_year_2024.html | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/budget_thailand/fiscal_year_2024.html b/examples/budget_thailand/fiscal_year_2024.html index 789bccb..d9475ed 100644 --- a/examples/budget_thailand/fiscal_year_2024.html +++ b/examples/budget_thailand/fiscal_year_2024.html @@ -33,7 +33,6 @@