คำถามติดแท็ก let

30
อะไรคือความแตกต่างระหว่างการใช้ "ปล่อย" และ "var"
ECMAScript 6 แนะนำคำสั่งlet ฉันได้ยินมาว่ามันอธิบายว่าเป็นตัวแปร "ท้องถิ่น" แต่ฉันก็ยังไม่แน่ใจว่ามันจะทำงานแตกต่างจากvarคำหลักได้อย่างไร อะไรคือความแตกต่าง? ควรletใช้มากกว่าเมื่อvarใด

8
เหตุใดชื่อ 'ให้' จึงถูกเลือกสำหรับการประกาศตัวแปรที่ถูกบล็อกขอบเขตใน JavaScript
ฉันเข้าใจว่าเหตุใดจึงvarใช้ชื่อนั้น - เป็นตัวแปรconst- เป็นค่าคงที่ แต่ความหมายเบื้องหลังชื่อletซึ่งมีความหมายต่อบล็อกปัจจุบันคืออะไร ช่างมันเถอะ?

5
มีการประกาศตัวแปรที่มีการอนุญาตหรือไม่เผยแพร่ใน ES6 หรือไม่
Наэтотвопросестьответына กองมากเกินнарусском : Всплываютлипеременные, объявленныеспомощьюให้и const в ES6? ฉันเล่นกับ ES6 มาระยะหนึ่งแล้วและสังเกตว่าในขณะที่ตัวแปรที่ประกาศด้วยvarถูกยกขึ้นตามที่คาดไว้ ... console.log(typeof name); // undefined var name = "John"; ... ตัวแปรที่ประกาศด้วยletหรือconstดูเหมือนจะมีปัญหากับการชักรอก: console.log(typeof name); // ReferenceError let name = "John"; และ console.log(typeof name); // ReferenceError const name = "John"; นี่หมายความว่าตัวแปรที่ประกาศด้วยletหรือconstไม่ถูกยกขึ้นมา? เกิดอะไรขึ้นที่นี่จริงเหรอ? มีความแตกต่างระหว่างletและconstในเรื่องนี้หรือไม่?

3
โซนตายชั่วคราวคืออะไร
ฉันได้ยินมาว่าการเข้าถึงletและconstค่านิยมก่อนที่จะเริ่มต้นสามารถทำให้เกิดReferenceErrorเพราะสิ่งที่เรียกว่าเขตตายชั่วคราวเขตตายชั่วคราว โซนตายชั่วคราวคืออะไรมันเกี่ยวข้องกับขอบเขตและการชักรอกอย่างไรและในสถานการณ์ใดที่พบ

5
Haskell: ที่ไหนกับให้
ฉันใหม่เพื่อ Haskell และฉันสับสนมากจากไหนเมื่อเทียบกับLet ดูเหมือนทั้งสองจะมีจุดประสงค์ที่คล้ายกัน ฉันได้อ่านการเปรียบเทียบเล็กน้อยระหว่างWhereกับLetแต่ฉันมีปัญหาในการแยกแยะว่าเมื่อใดควรใช้ ใครช่วยกรุณาให้บริบทบางอย่างหรืออาจเป็นตัวอย่างบางส่วนที่แสดงให้เห็นว่าเมื่อใดควรใช้อย่างอื่น ที่ไหนเทียบกับ whereประโยคสามารถกำหนดเฉพาะในระดับของการกำหนดฟังก์ชั่น โดยปกติแล้วจะเหมือนกับขอบเขตของletคำจำกัดความ ความแตกต่างเพียงอย่างเดียวคือเมื่อยามที่มีการใช้ ขอบเขตของwhereประโยคขยายครอบคลุมยามทั้งหมด ในทางตรงกันข้ามขอบเขตของletนิพจน์เป็นเพียงประโยคฟังก์ชันปัจจุบันและตัวป้องกันถ้ามี แผ่นโกง Haskell Haskell วิกิพีเดียมีรายละเอียดมากและให้หลาย ๆ กรณี แต่จะใช้ตัวอย่างสมมุติ ฉันพบว่าคำอธิบายสั้นเกินไปสำหรับผู้เริ่มต้น ข้อดีของการให้ : f :: State s a f = State $ \x -> y where y = ... x ... Control.Monad.State จะไม่ทำงานเนื่องจากโดยที่อ้างถึงรูปแบบที่ตรงกับ f = โดยที่ x ไม่อยู่ในขอบเขต ในทางตรงกันข้ามถ้าคุณเริ่มต้นด้วยการปล่อยให้คุณก็จะไม่มีปัญหา Haskell Wiki …
118 haskell  keyword  where  let 

4
v8 ผลกระทบของประสิทธิภาพ JavaScript ของ const, let และ var?
โดยไม่คำนึงถึงความแตกต่างของฟังก์ชันการใช้คำหลักใหม่ "let" และ "const" มีผลกระทบโดยทั่วไปหรือเฉพาะเจาะจงใด ๆ ต่อประสิทธิภาพเมื่อเทียบกับ "var" หลังจากรันโปรแกรม: function timeit(f, N, S) { var start, timeTaken; var stats = {min: 1e50, max: 0, N: 0, sum: 0, sqsum: 0}; var i; for (i = 0; i < S; ++i) { start = Date.now(); f(N); timeTaken = Date.now() - start; …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.