🎁 วันนี้มาพบกับช่วงของดีบอกต่อกับคอร์ส TypeScript Course for Beginners 2021 จากช่อง Academind ที่จะทำให้เราเขียน Typescript เป็นภายใน 3 ชม. !!
.
📚 คลิปนี้ประกอบด้วยเนื้อหาที่จะช่วยให้เราเข้าใจ Typescript ซึ่งเล่าตั้งแต่ที่มา และยังเข้าใจความแตกต่างของ TypeScript และ JavaScript อีกด้วยนะ แถมยังเป็นการสอนแบบอธิบายโค้ดให้ดูเลย เข้าใจง่ายมากเลยคร้าบบ
.
⚡สำหรับคลิปนี้ประกอบด้วยเนื้อหาดังนี้ (อ้างอิงจาก Timestamp)
✅Getting Started
✅What is TypeScript
✅Installing & Using TypeScript
✅The Advantages of TypeScript
✅Course Outline
✅How to Get the Most out of This Course
✅Setting Up our Development Environment
✅The Course Project Setup
✅Module Introduction
✅Using Types
✅TypeScript Types vs JavaScript Types
✅Numbers, Strings and Booleans
✅Type Assignment and Type Inference
✅Object Types
✅Array Types
✅Tuples
✅Enums
✅The Any Type
✅Union Types
✅Literal Types
✅Type Aliases
✅Function Return Types and Void
✅Function Types
✅Function Types and Callbacks
✅The Unknown Type
✅The Never Type
✅Wrap Up
✅Module Introduction
✅Watch Node
✅Compiling the Entire Project
✅Include and Exclude Files
✅Setting a Compilation Target
✅Understanding TypeScript Libs
✅More Options
✅Source Maps
✅Rootdir and Outdir
✅noemit on Error
✅Strict Compilation Options
✅Code Quality Options
✅Debugging with Visual Studio Code
✅Wrap Up
.
💥ถ้าใครสนใจคอร์สนี้ กดลิงค์เข้าไปเรียนกันเลยจ้า !!! >>
https://www.youtube.com/watch?v=BwuLxPH8IDs
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有2部Youtube影片,追蹤數超過2萬的網紅Untyped 對啊我是工程師,也在其Youtube影片中提到,關於程式語言 -入門該學哪個程式語言?工程師都用什麼程式語言?最強程式語言是?| Which Programming Language to Learn First (ft. 立秦、蝦蝦) - 學習程式設計,新手要學什麼程式語言?Python, Java, C++, JavaScript ... ...
「javascript object for」的推薦目錄:
- 關於javascript object for 在 BorntoDev Facebook 的最佳貼文
- 關於javascript object for 在 91 敏捷開發之路 Facebook 的精選貼文
- 關於javascript object for 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最讚貼文
- 關於javascript object for 在 Untyped 對啊我是工程師 Youtube 的最佳貼文
- 關於javascript object for 在 Untyped 對啊我是工程師 Youtube 的最佳貼文
- 關於javascript object for 在 Object.keys() & Object.values() & Object.entries() - Titangene ... 的評價
- 關於javascript object for 在 How to loop through a plain JavaScript object ... - Stack Overflow 的評價
- 關於javascript object for 在 JavaScript Objects 的評價
- 關於javascript object for 在 Object Oriented JavaScript Tutorial #2 - Object Literals 的評價
javascript object for 在 91 敏捷開發之路 Facebook 的精選貼文
小知識:
在 chrome developer tool 裡面,直接 copy() 把物件丟進去,就可以把它弄成 JSON 序列化完的字串囉。
來源:https://mobile.twitter.com/mgechev/status/1259732503256018945
javascript object for 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最讚貼文
Functional programming ชื่อไทยคือ “การโปรแกรมเชิงฟังก์ชั่น” ชื่อย่อ FP เป็นแนวคิดหนึ่งของการเขียนโปรแกรม (programming paradigm) ชื่อขึ้นต้นด้วย functional แต่ไม่ได้มีดีแค่ประกาศ function ปุ๊บเสร็จ แล้วเรียกใช้ มันมีเบื้องลึกมากกว่านั้นแน่ๆ
🤔 มันจะต่างจากการเขียนโปรแกรมทีละสเตป ตามลำดับก่อนหลัง มีการวนลูป ที่เน้นแก้ state ของโปรแกรมเป็นหลัก
แต่แนวทาง functional programming จะไม่แก้ state ของโปรแกรมเลย ไม่มีการวนลูบ (ใช้ recursion แทน)
ซึ่งแนวคิดก็ต้องเน้นสร้างฟังก์ชั่นนั่นแหละ แต่หลักสำคัญต้องออกแบบให้หลีกเลี่ยง side-effect (ผลข้างเคียง) ที่จะเกิดต่อ function ตัวเอง และตัวอื่น โดยมีหลักยึด 2 อย่างใหญ่คือ
👉 1) function ที่สร้างขึ้นมา เมื่อมีอินพุตค่าเดิมส่งไปหา (เป็นค่าอากิวเมนต์) ไม่ว่าจะกี่ครั้งก็ตาม function จะรีเทิร์นค่าออกมาเหมือนเดิมทุกครั้ง ...(ไอเดียมาจากฟังก์ชั่นในทางคณิตศาสตร์เลยครับ)
เช่น
func(1); // เรียกครั้งที่ 1 ก็จะได้ค่ารีเทิร์นออกมาเป็น 30
func(1); // เรียกครั้งที่ 2 ก็จะได้ค่ารีเทิร์นออกมาเป็น 30 เหมือนเดิม
func(1); // เรียกครั้งที่ 3 ก็จะได้ค่ารีเทิร์นออกมาเป็น 30 เหมือนเดิม
👉 2) function ต้องไม่ไปเปลี่ยนแปลงค่าของตัวแปรจำพวก global variable หรือ static variable หรือตัวแปรที่อยู่ข้างนอก function ...เพื่อไม่ให้ function อื่นได้รับผลกระทบ
ถ้า function ที่เราประกาศไว้ มีคุณสมบัติ 2 อย่างที่ว่านี้ ก็จะเรียกว่า pure function (ฟังก์ชั่นบริสุทธ์แท้ๆ) 👌
สำหรับอีกคุณลักษณะหนึ่งที่จะไม่กล่าวถึงไม่ได้เลยก็คือ
👉 3) First-class function และ Higher-order function
คำว่า first-class function มาจาก "first class citizen" ที่หมายถึง "พลเมืองชั้นหนึ่ง" ดังนั้น first-class function จะหมายถึง ฟังก์ชั่นเป็นพลเมืองชั้นหนึ่งจริงๆ เลยนะ
คุณสมบัตินี้ function จะถูกมองเป็นข้อมูลประเภทหนึ่ง ไม่ต่างจากข้อมูลตัวเลข สตริง บูลีน ด้วยเหตุนี้จึงสามารถนำ function ไปกำหนดค่าให้กับตัวแปรยังได้เลย เช่น
x = function(){ .....}
ส่วนคุณสมบัติ Higher-order function:
คุณสมบัตินี้หมายถึง เราสามารถใช้ function ส่งไปเป็นค่าอากิวเมนต์แก่ function ตัวอื่น หรือ function จะรีเทิร์นออกมาจาก function ตัวอื่นออกมาก็ได้ด้วย เช่น
- ส่ง function_A เป็นค่าอากิวเมนต์ไปให้ function_X(function_A);
- จากนั้น function_X() ก็จะสร้าง function_Y แล้วรีเทิร์นมันออกมาได้
😜 ===ประโยชน์ functional programming===
🔥 เอาไปเขียนโปรแกรมโดยไม่มีการวนลูป เช่น ไม่ต้องมานั่งเขียน for … หรือ while… วนลูป เพื่อเข้าถึงข้อมูลโครงสร้างพวก array , list ฯลฯ เป็นต้น
🔥 การทำ currying หมายถึงทำให้ฟังก์ชั่น จากเดิมที่มี parameter หลายตัวให้เหลือแค่ตัวเดียว ด้วยการส่งผลลัพธ์เป็น function ที่รับ Parameter ที่เหลือ ...ใช้เทคนิค closure
🔥 หรือจะทำ function Composition (เอาฟังก์ชั่นมาประกอบกัน)
🔥 หรือจะเอาไปใช้เขียนโปรแกรมแบบ parallel computing (โปรแกรมคู่ขนาน)
🔥 หรือจะเขียนโปรแกรมแบบ asynchronous โดยที่โค้ดหลักไม่ต้องรอการประมวลผลฝั่ง I/O ให้แล้วเสร็จ โค้ดหลักสามารถข้ามไปยังบรรทัดถัดไปก่อนได้เลย
🔥 Testability — ผลพลอยได้ก็คือ เอาแนวคิดนี้ไปใช้ทำ test function ได้ง่าย โดยแต่ละการ test จะเป็นอิสระต่อกัน เมื่อใช้วิธีการเดิมในการทดสอบ 10 ครั้ง ก็ควรได้ผลเหมือนเดิม 10 ครั้ง เป็นต้น
++++ 🤔 ++++++
เมื่อเปรียบเทียบกับแนวคิด OOP (โปรแกรมเชิงวัตถุ object-oriented programming)
ถ้าโจทย์ปัญหาเป็น parallel computing หรือ asynchronous การใช้แนวคิด functional programming ดูแล้วคล่องแคล่วปราดเปรียวไม่ยุ่งยาก
เนื่องจากแนวคิด functional programming ไม่มีอะไรซับซ้อนมากนัก เขียนโปรแกรมก็จะกระชับ ง่าย...ง๊าย เมื่อเทียบกับ OOP ที่โค้ดจะเยอะกว่า เพราะมี class มากมาย ยิ่งถ้า inheritance โดยให้มีการสืบทอดสมาชิกหลายชั้น ก็จะสับสนตาลาย มึนงงได้ คงต้องพึ่ง IDE ให้เป็นพี่เลี้ยงช่วยแนะนำว่ามีสมาชิกอะไรที่สืบทอดมา
แต่จุดเด่นเรื่อง OOP จะมีความเป็น Modularity ที่สูง โค้ดที่เขียนเป็นอ็อบเจ็กต์แต่ละตัวจะเป็นอิสระต่อกัน เนื่องจากข้อมูลหรือ state ซึ่งอยู่ภายในตัวอ็อบเจ็กต์เอง จะมีเป็นของใครของมัน ขณะเดียวกันแต่ละอ็อบเจ็กต์จะปฏิสัมพันธ์กันได้ สามารถเอาอ็อบเจ็กต์ที่มีอยู่แล้วมา reuse ใช้ได้ง่าย รวมทั้งถอดเข้าถอดออกขณะโปรแกรม run time
แล้วแต่สถานการณ์ว่าจะใช้แนวทางเขียนโปรแกรมแบบไหน
แต่ก็ยอมรับว่าบางทีเขียนแบบ functional programming ก็ยากต่อการทำความเข้าใจ เพราะโค้ดมันสั้นกระชับเกิ๊น
ยิ่งหลายภาษาโปรแกรมมิ่งสมัยใหม่ในปัจจุบันนี้ มีการแทรกแนวคิด functional programming เข้ามา นอกเหนือจากแนวคิด OOP เช่น JavaScript, Python, Java, C#, Swift, Kotlin แต่ก็อาจประยุกต์แนวคิดนี้ได้ไม่ 100% มากนัก
จะไม่เหมือนบ้างภาษาเช่น Haskell ที่มาพร้อมกับ immutable data structure หมายถึงข้อมูลที่ไม่สามารถแก้ไขค่าได้เลย จึงทำให้ function กลายเป็น functional programming แท้ๆ (pure function)
✍ สรุป แนวคิดนี้ไม่ได้เรื่องใหม่มีมานานก่อนบางคน ...อุ้แว ...อุ้แวเกิดเสียอีก แต่ตอนโน่นแนวคิดนี้ยังไม่ดังเปรี้ยงเหมือน OOP คนที่เขียนภาษา JavaScript รวมไปถึง Node.js ย่อมใช้หลักการนี้อย่างไม่รู้ตัว ยิ่งภาษาสมัยใหม่หลายตัวก็ยอมรับแนวคิด functional programming เข้ามาในภาษาเรียบร้อยแล้ว ไม่มีนี้ถือว่าแปลกมาก
--------
เขียนโดย โปรแกรมเมอร์ไทย thai programmer
javascript object for 在 Untyped 對啊我是工程師 Youtube 的最佳貼文
關於程式語言 -入門該學哪個程式語言?工程師都用什麼程式語言?最強程式語言是?| Which Programming Language to Learn First
(ft. 立秦、蝦蝦)
-
學習程式設計,新手要學什麼程式語言?Python, Java, C++, JavaScript ... 程式語言種類那麼多,哪個程式語言最適合初學入門者?哪個程式語言最受歡迎最厲害最強大?工程師又都用什麼程式語言呢?對啊我是工程師是寫什麼程式語言的工程師?
對啊我是工程師很常被問到這類問題,所以,這次會分享我對程式語言的介紹與看法,以及初學者如何選擇並學習程式語言,並分享學習程式設計前,要有的程式語言基本概念。釐清一些大家對程式語言常有的誤會,或許能讓你在學習的路上少一點困惑。
這次更很榮幸的邀請到特別來賓,兩位厲害的工程師 一 立秦、蝦蝦,一起來跟大家分享他們對程式語言的喜好與看法。同樣是工程師,大家對程式語言的想法真的都不盡相同呢~
希望大家看完能夠收穫滿滿,一起迎接嶄新的一年。新年快樂!
-
歡迎留言告訴我你的想法,或是你想認識的程式語言唷!
每(隔週)週六晚上9點更新,請記得開啟YouTube🔔通知!
-
【上集連結】
程式語言入門須知-上集 | 新手該學哪個程式語言?工程師都用什麼程式語言?最強程式語言是? | What you should know about programming languages
[https://youtu.be/fcmXuZtsQ6Y]
【愛屋及烏】
Facebook 臉書粉專 [https://www.facebook.com/untyped/]
【相關連結】
Java 與 C++ 比較: [https://www.educba.com/c-plus-plus-vs-java/]
-
Untyped 對啊我是工程師 - There are so many data types in the world of computer science, so are the people who write the code. We aim to UNTYPE the stereotype of engineers and of how coding is only for a certain type of people.
一個喜歡電腦科學邏輯推理,在科技圈努力為性別平等奮鬥的女工程師。
-
Music: [https://www.bensound.com](https://www.bensound.com/)
#codingforbeginners #programminglanguages #程式語言
javascript object for 在 Untyped 對啊我是工程師 Youtube 的最佳貼文
關於程式語言 -入門該學哪個程式語言?工程師都用什麼程式語言?最強程式語言是?| Programming Languages for Beginners
-
學習程式設計,新手要學什麼程式語言?Python, Java, C++, JavaScript ... 程式語言種類那麼多,哪個程式語言最適合初學入門者?哪個程式語言最受歡迎最厲害最強大?工程師又都用什麼程式語言呢?對啊我是工程師是寫什麼程式語言的工程師?
對啊我是工程師很常被問到這類問題,所以,這次會分享我對程式語言的介紹與看法,以及初學者如何選擇並學習程式語言,並分享學習程式設計前,要有的程式語言基本概念。釐清一些大家對程式語言常有的誤會,或許能讓你在學習的路上少一點困惑。
-
歡迎留言告訴我你的想法,或是你想認識的程式語言唷!
每(隔週)週六晚上8點更新,請記得開啟YouTube🔔通知!
也幫我到Facebook粉專按讚唷!https://www.facebook.com/untyped
-
【下集】
程式語言入門須知-上集 | 新手該學哪個程式語言?工程師都用什麼程式語言?最強程式語言是? | What you should know about programming languages
https://youtu.be/fcmXuZtsQ6Y
【相關連結】
大學修的程式語言課程:[https://courses.cs.washington.edu/courses/cse341]
Java & JavaScript 差異: [https://www.thesoftwareguild.com/faq/difference-between-java-and-javascript/]
-
Untyped - There are so many data types in the world of computer science, so are the people who write the code. We aim to UNTYPE the stereotype of engineers and of how coding is only for a certain type of people.
對啊我是工程師:一個喜歡電腦科學邏輯推理,在科技圈努力為性別平等奮鬥的女工程師。
#codingforbeginners #programminglanguages #程式語言
javascript object for 在 How to loop through a plain JavaScript object ... - Stack Overflow 的推薦與評價
... <看更多>
相關內容
javascript object for 在 JavaScript Objects 的推薦與評價
In JavaScript, an object is an unordered collection of key-value pairs. Each key-value pair is called a property. The key of a property can be a string and the ... ... <看更多>
javascript object for 在 Object.keys() & Object.values() & Object.entries() - Titangene ... 的推薦與評價
本篇來介紹 Object.values() 、 Object.keys() 和 Object.entries() ,以及在ECMAScript spec 是如何定義的。 本文同步發表於iT 邦幫忙:JavaScript ... ... <看更多>