แห่งการจดภาษามนุษย์ JavaScript ตรงนั้นมีทั่วอันที่เหมือนและผิดแผกแตกต่างกับภาษามนุษย์โปรแกรมอื่นๆ ด้วยคนแห่งหนใช้งาน JavaScript ไม่ว่าจักพึ่งจะริเริ่มศึกษาไม่ก็ชดใช้ลงมาช้าแล้ว ก็คงจะยังมีโปร่งเหตุที่สงสัยหรือยังไม่รู้เกี่ยวกับ JavaScript อยู่ อิฉันแล้วจึงประมวล 10 เหตุน่ารู้เกี่ยว JavaScriptมาปันออกได้มาลองอ่านกัน1. การประกาศตัวปรับเปลี่ยน var, let, const ใช้คืนภาพร่างไรแห่งการเขียนรหัส การประกาศตัวปรับเปลี่ยนก็ครอบครองสิ่งแต่ต้นๆ แห่งหนควรจะพบปะแห่งงานประเดิมศึกษาภาษานั้นๆ ที่ JavaScript ก็เช่นกัน ด้วยว่ามนุษย์แห่งหนริเริ่มทำความเข้าใจ JavaSctipt น่าเคยชินเหลือบเห็นผ่านดวงเนตรมามั่งก็คือว่า var, let กับ const เพื่อจะการพาไปใช้งานอย่างแม่นยำ พิสูจน์มาแลดูห้ามจัดการประกาศแต่ละแปลนนั้นไม่เหมือนกันอย่างไรบ้างfunction run() const myNum = 191; var one = “One”; let two = “Two”; var three = “Three”; let four = “Four”; consoleมันสมองlog(one); //Output: One consoleมันสมองlog(two); //Output: Two console.log(three); //Output: Three console.log(four); //Uncaught ReferenceError run(); var – เนื่องด้วยงานประกาศคุณประโยชน์อีกด้วย var ตรงนั้น น่าจะเป็นภาพร่างที่ทุกเคยชินเหลือบเห็นห้ามแม่นมั่น ซึ่งการใช้ var ตรงนั้นเคยชินเป็นหลักในการประกาศตัวแปรมาก่อนที่จะ ES6 จะออกมา ซึ่งงานประกาศด้วย var ตรงนั้นจักเป็นภาพร่าง function scope พอประกาศตัวเปลี่ยนแบบจากนั้นจักขอโทษรถใช้ประโยชน์ได้มาข้างในฟังก์ชันนั้นได้ทั้งเพlet – สำเร็จประกาศตัวเปลี่ยนแบบแห่งออกมาด้วยกันกับดัก const ซึ่งลงมาครบถ้วนกับอัพเดต ES6 เพื่อลุ้นให้การสลัก JavaScript ตรงนั้นง่ายขึ้นไป เพราะว่า let เมื่อประกาศหลังจากนั้นตัวแปรจะควรค่าอยู่เพียงข้างใน block scope ถือเอาว่าแค่ในเครื่องหมาย ด้วยกัน ทำให้ไม่เกิดปัญหางานเชิงอรรถตัวแปรโบราณ เช่น งานชดใช้ตัวแปรที่ loop ค่างๆ ที่มุ่งหวังประกาศค่าขึ้นไปมาใหม่const – ชดใช้ด้วยข่าวสารค่าตัวแปรแห่งหนไม่ต้องการให้ปรับเปลี่ยนคุณประโยชน์ได้มา เพราะเมื่อข่าวสารคุณค่าเจียรแล้วจะเปล่าตรีรถเยียวยาค่านั้นย้ำได้มา โดย const ตรงนั้นจัดการใน block scope เหมือนกันกับดัก let2. ชนิดสรรพสิ่งตัวแปรJavaScript เป็น dynamic data type ลงความว่าตัวแปรเอ็ดตัวตรงนั้น สามารถจำกัดคุณค่าแห่งหนอย่างแตกต่างกักคุมให้กับตัวแปรนั้นๆได้var x = สิบ; console.log(x); //Output: 10 x = “hello”; console.log(x); //Output: hello x = [1, 2, 3]; console.log(x); //Output: [1,2,3]จะเหลือบเห็นตวาดที่เดิมตรงนั้นตัวแปร x นั้นถูกกำหนดคุณค่า string ไว้ แต่คราวหลังก็สามารถกำหนดคุณประโยชน์เช่นกัน number หรือ array ให้กับดักตัวแปร x ได้มาเช่นกัน ที่ข้างเอ็ดนึงนี่ถือเอาว่าคดีง่ายในการเขียนโค้ด แม้ว่าเมื่อรหัสมีเนื้อความ#สลับซับซ้อนขึ้นไป หรือว่าแห่งการพาจรชดใช้ที่โปรเจ็กโย่งๆ งานแห่งเปล่าระบุประการสิ่งของตัวแปรก็อาจจะกลายเป็นความยุ่งยากที่การพัฒนาได้ ซึ่งสมมติว่าอยู่ในจุดนั้นอยู่ยงต้องหาวิธีเลือกอื่น เป็นต้นว่างานแปรไปชดใช้ TypeScript แห่งการพัฒนารับช่วง3. ธวัช == กับดัก === ต่างกันเช่นไร ?การสร้างอัลกปฎิปักษ์ทึมๆขึ้นไปลงมา operator ด้วยว่าการเทียบเคียงเทียบคุณค่ารากฐานเทียรครอบครองสิ่งจำเป็นที่ประกอบด้วยอยู่ที่รหัส เป็นต้นว่า มากกว่า, น้อยกว่า, ดุล ไม่ก็ ไม่ดุล เนื่องด้วยธวัชแห่งหนชดใช้ในการเปรียบเทียบเปรียบเทียบเนื้อความดุลนั้น คงเคยมองเห็นหรือว่าคุ้นชินใช้คืนรวมหมด == ด้วยกัน === มาแล้ว แต่ว่าคงอีกทั้งอั้นตู้แหวเลี่ยนประกอบด้วยกระไรที่ต่างกันvar a = 10; var b = ’10’; a == b // Output: true a === b // Output: false == จักใช้คืนด้วยเปรียบเทียบเหตุดุล (equality)=== ใช้คืนที่การเปรียบเปรียบเทียบความเหมือนห้าม/ดำรงฐานะอย่างเดียวกัน (identically)ในการใช้งาน == นั้นจะกระทำเนรมิตประการสิ่งของตัวแปรเพื่ออุปไมยกัน ทั้งๆ ที่ === จะเปล่ากระทำสร้างชนิดสรรพสิ่งข้อมูล แม้ว่าจะเปรียบเทียบทั้ง ชนิดสิ่งของตัวแปร และคุณประโยชน์สิ่งของตัวแปร ต่อหน้า4. What is ‘this’ ?ในภาษามนุษย์อื่นๆอาทิ Java ตรงนั้น this จักชดใช้เพื่ออ้างอิงถึง Object แห่งกำลังใช้งานสิงสู่ ตัวอย่างเช่น method ภายในคลาสที่มุ่งหวังเรียกหาค่าตัวแปรภายในคลาสตรงนั้น ก็สามารถระบุได้อีกด้วยงานใช้คืน this แต่ว่าในซีกของ JavaScript ตรงนั้นจะต่างออกไป โดยจักแปรไปติดสอยห้อยตามบริบทแห่งหนใช้งาน เช่น// ก่อสร้าง Object var pet = name: “Foo”, weight: 15, info: function() return “Name: ” + this.name+ “, Weight: ” + thisมันสมองweight; ;this ใน method จักคำอธิบายเพิ่มเติมจรด Object แห่งหนถือสิทธิ์ เหมือนกันกับดักภาษามนุษย์ OOP อื่นvar x = สิบ; function run() var x = 20; console.log(x); //Output: 20 consoleมันสมองlog(thisมันสมองx); //Output: สิบ run();this ที่ function จะอ้างอิงถึง Window Object //Output: BUTTONthis แห่ง event handler จะอ้างอิงถึง HTML Element แห่งหนรวมตัวกันทำให้เกิด event นั้นๆ5. Null กับ undefined ไม่เหมือนกันเช่นไร ?ด้วยว่าคนแห่งหนเคยชินสลัก JavaJcript น่าเคยชินเจอะเจอ error เกี่ยวข้อง null และ undefined มาบ้าง ซึ่งทั้งคู่ชนิดก็ล้วนแต่เป็นปัญหาเกี่ยวตัวแปรเวลาจารึกโค้ดเหมือนๆกักคุม หลังจากนั้นคู่ดังนี้ผิดแผกกันตรงไหน?var myVarA; consoleมันสมองlog(myVarA); //Output: undefined var myVarB = null; consoleมันสมองlog(myVarB); //Output: nullUndefined นั้นคือดุตัวแปรตรงนั้นถูกข่าวสารสุภาพสุดแท้แต่ยังไม่ไหวขีดคั่นค่ามอบตัวแปรNull ตรงนั้นเป็นคุณค่าที่ใช้กำหนดให้กับดักตัวแปรเพื่อที่จะพาหะนัยดุ ตัวแปรตรงนั้นไม่มีค่ากระไรนอกจากความสำคัญสิ่งของทั้งคู่เนื้อตัวจะตรงกันข้ามแล้ว ยังประกอบด้วยข้อสังเกตอีกดุ undefined นั้นจะเป็นคุณประโยชน์ประเดิมที่โปรแกรมจักกำหนดให้ตัวแปรแห่งหนถูกก่อสร้างขึ้นไปแต่อีกต่างหากไม่ไหวจำกัดคุณประโยชน์เทียบเท่า ส่วน null ตรงนั้นจะเป็นคุณค่าแห่งนักเขียนโปรแกรมเป็นมนุชกำหนดให้กับดักตัวแปร (รูปจำใจทิชชู)6. for / forEach / for-in / for-of ภาพร่างใดใช้คืนยังไง ?ในการเขียนรายการอย่างไรก็คงทนแจวเปล่าพ้นงานใช้ for loop เพราะว่าใช้ที่การทำอีกครั้งการทำงานต่างๆ โดยหลักๆแห่งภาษามนุษย์โปรแกรมอื่นๆประกอบด้วยห้ามก็น่าจะเป็น for กับ for each แห่งแต่ละคนคงเคยคุ้นเคยกันจากนั้น พอลงมาครอบครอง javascript ก็ประกอบด้วยเช่นกัน แม้ว่าแม้ใครได้ทดลองควานข้อมูลมองดูคงจะคว้าพบปะกับดัก for-in กับ for-of ที่การใช้งานก็มองดูละม้ายกันจรสิ้น จากนั้นครั้งนี้อีฉันจะเลือกใช้คืน for แปลนไรช่วงใดดีlet myArray = [1, 2, 3] for (let index = 0; index < myArray.length; index++) const element = myArray[index]; consoleมันสมองlog(element); //Output 1 2 3for – ริเริ่มแห่งหนร่างกายรากฐาน ด้วย for ตัวนี้ทั้งหมดจำเป็นต้องเคยชินใช้กันมั่นเหมาะ โดยจักเสร็จวนเวียนลูปติดสอยห้อยตามคุณค่า index แห่งกำหนดวางlet myArray = [1, 2, 3] myArrayมันสมองforEach(element => consoleมันสมองlog(element); );//Output 1 2 3forEach – มาถึงเนื้อตัวนี้ก็น่ารู้จักธุรกิจสิ่งของมันแห่งเหมือนกันกับดักภาษามนุษย์อื่นๆ คือว่าใช้เพื่อเข้าถึงข่าวสารที่ Array ต่างๆ โดยแห่งหนอิฉันไม่ต้องข้อมูลคุณค่า index ในการวนเวียนลูปเอง แม้ว่า forEach จะเข้าถึงข่าวสารแห่ง Array ตั้งแต่สถานะจำเดิมจวบจนกระทั่งบ๊วยมอบอีฉันvar dog = name: “Yoyo”, color: “black”, age: 2 for (const key in dog) if (dog.hasOwnProperty(key)) const element = dog[key]; consoleมันสมองlog(key + ” : ” + element); //Output name : Yoyo color : black age : 2for…in – ด้วย for-in สิ่งของ javascript นั้นชดใช้ด้วยวนเวียนลูป Object ซึ่งจักได้มาเป็นชื่อเสียงเรียงนาม properties ของ Object นั้นๆ ไม่ก็ก็คือว่า key นั่นเอง// Array var myArray = [1, 2, 3]; for (const iterator of myArray) consoleมันสมองlog(iterator); //Output 1 2 3// String var str = “hello”; for (const iterator of str) consoleมันสมองlog(iterator); //Output h e l l ofor…of – ตัวสุดท้ายกับดัก for…of ตัวตรงนี้จะใช้งานได้มากับดัก iterable object บ่งเนื้อความแหวอะไรก็ตามที่สมรรถเวียนลูปคว้า จักสามารถชดใช้ for…of คว้านั่นเอง อาทิ array, set หรือแม้แต่ string ก็สามารถใช้ได้นี่ครอบครองแค่เพียงการวนเวียนลูกุ้วย for ต่างๆเท่านั้น อีกต่างหากไม่นับร่วม while อีก จึ่งขึ้นอยู่การใช้งาน ตวาดจักเลือกชดใช้สิ่งใดมอบสมน้ำสมเนื้อกับความมุ่งมาดปรารถนาสิ่งของอิฉัน7. use strict ถือเอาว่าเช่นไร ?มากมายคนแห่งหนเคยได้อ่านโค้ด JavaScript น่าจะคุ้นชินเปลี่ยนนัยน์ตากับ use strict ที่อาศัยบรรทัดจำเดิมของรหัสมาห้ามมั่ง แม้ว่าอาจจะทึ่มแหวมันมีไว้เพื่อเช่นไร use strict ประกอบด้วยไว้เพื่อจะเจาะจงดุโค้ดในส่วนตรงนั้นจักจัดการแห่ง strict mode ซึ่งจักทำให้ใช้คืนตัวแปรที่อีกทั้งไม่ได้ประกาศไม่ไหว ตามที่แห่ง javascript ตรงนั้นสมมติว่าเรียกหาชดใช้ตัวแปรโดยไม่ได้ข้อมูล var/let/const นำหน้าชื่อตัวเปลี่ยนแบบ ตัวแปรตรงนั้นจักไม่ผิดกำหนดครอบครอง global variables เหตุฉะนี้เพื่อจะปกปักรักษาความผิดพลาดในการข้อมูลค่าตัวแปรอีฉันจึ่งสมรรถใช้คืน use strict ได้มาfunction myFunction1 () x = 6; consoleมันสมองlog(x); //Output: 6 myFunction1()function myFunction2 () “use strict”; y = 7; consoleมันสมองlog(y); //Uncaught ReferenceError: y is not defined myFunction2()8. Arrow Function ( => ) ถือเอาว่ากระไร ?เนื่องด้วยมนุชแห่งพึ่งเริ่มทำความเข้าใจ JavaScript สมัยสืบเสาะข้อมูลคงจะเจอะเจอกับธวัช => แห่งหนมีมนุษย์ลงมาตอบติดตามกระทู้กระทู้ถามกระยาเลยเช่นแห่ง Stack Overflow จากนั้นจิกปีกดุมันคือว่ากระไร ชื่อสรรพสิ่งเครื่องหมายตรงนี้ก็ตามข้อความตรงนี้พ้นลงความว่า Arrow Function เป็นสิ่งที่มาพร้อมทั้ง ES6 พอให้สามารถจารึกฟังก์ชันได้สั้นลง// แบบปกติ sayHi = function() return “Hi Human”; // แปลนชดใช้ Arrow Function sayHi = () => return “Hi Human”; 9. string จะใช้คืน ‘ ’ , “ ” หรือ ` ` ?การประกาศคุณค่าปันออกกับตัวแปรอย่าง string แห่ง JavaScript อิฉันน่าเคยมองเห็นหรือว่าใช้คืนทั้ง ‘ ’ (single quote) และ “ ” (double quote) ซึ่งปฏิบัติการได้มาเหมือนกันทั้งปวงชนิด ขึ้นอยู่กับความชอบสิ่งของปัจเจกชน เพราะวงกลมแห่งหนผิดแผกแตกต่างกันถือเอาว่าvar str = ‘Hello it’s me’; console.log(str); //Output: Hello it’s mesingle quote – ต้องชดใช้ Escape character ด้วยว่าจัดพิมพ์ single quotevar str = “Hello from the “other”” side””; consoleมันสมองlog(str); //Output: Hello from the “”other”” sidedouble quote – ต้องใช้ Escape character เนื่องด้วยจัดพิมพ์ double quoteจากญิบภาพร่างข้างต้นก็จะเป็นเหตุให้เนื้อความเลวสะดวกที่งานข้อมูลค่าตัวแปร string ต่างกันออกลูกจรขึ้นอยู่ตวาดครอบครองประโยคแปลนใด ฉันก็สามารถเลือกเฟ้นใช้คืนติดตามความกลมกลืนคว้า แต่ว่าอีกทั้งประกอบด้วยอีกธวัชนึงแห่งหนใช้คืนข้อมูลค่า string คว้า ก็คือว่า ` ` (backtick) ก็ลงความว่าเครื่องหมายแหล่งที่อยู่ปุ่มเดียวกันกับปุ่มร่างกายหนอนแห่งหนโดยมากใช้ด้วยว่าเปลี่ยนภาษากักคุมนั่นเอง ซีกการพาจรใช้งานนั้นstr = `Hello it’s me from the “”other”” side`; consoleมันสมองlog(str); //Output: Hello it’s me from the “”other”” sidebacktick – ไม่ต้องชดใช้ Escape character ในระยะเวลาแห่งหนพิมพ์ทั้ง single quote และ double quoteจะมองเห็นคว้าจัดการใช้ backtick ตรงนั้นลุ้นให้การประกาศคุณประโยชน์ string นั้นทำได้ลงคอหวานคอแร้งขึ้น กับรหัสอ่านคว้าหวานคอแร้ง ทว่าตอนหลังสถานที่แก่จึงวกวนกลับมาจากไปแห่งหนทักษะของแต่ละคนหรือไม่ก็แบบสถานที่คนวงในกลุ่มเลือกเฟ้นชดใช้กัน ที่จะรวมตัวกันวินิจฉัยว่าดิฉันจะคัดใช้คืนครรลองใดในการเขียนรหัสสิ่งของดิฉันออกมา10. Boolean แห่ง Javascript อะไรบ้างสถานที่ครอบครอง true หรือว่าดำรงฐานะ falseแห่ง javascript นั้นค่าความจริงไม่ก็ Boolean ตรงนั้นประกอบด้วย 2 ค่าด้วยกันโน่นรวมความว่า true ด้วยกัน false ทว่ายิ่งไปกว่านั้นญิบดังนี้ต่อจากนั้นสิ่งอื่นๆก็ตลอดนำมาดำรงฐานะค่าความจริงได้ โดยหลักงานประกอบด้วยคล่องๆรวมความว่าconsole.log(Boolean(“”hello””)); // true consoleมันสมองlog(Boolean(5)); // true console.log(Boolean(9.99)); // true consoleมันสมองlog(Boolean(1 + 2 + 3 + 4 + 5)); // trueอะไรก็ตามสถานที่ “ประกอบด้วยค่า” จะนับครอบครอง true อาทิเช่น “hello”