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

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
เหตุใด JavaScript จึงเพิ่มตัวแปร
เหตุใด JavaScript จึงเพิ่มตัวแปร อะไรคือเหตุผลของนักออกแบบเมื่อพวกเขาตัดสินใจที่จะใช้งานชักรอก? มีภาษายอดนิยมอื่น ๆ ที่ทำเช่นนี้หรือไม่? โปรดระบุลิงค์ที่เกี่ยวข้องไปยังเอกสารและ / หรือบันทึก

18
การกำหนดขอบเขตและการยกฟังก์ชั่น Javascript
ฉันเพิ่งอ่านบทความดีๆเกี่ยวกับJavaScript Scoping and Hoisting โดย Ben Cherryซึ่งเขายกตัวอย่างต่อไปนี้: var a = 1; function b() { a = 10; return; function a() {} } b(); alert(a); เมื่อใช้โค้ดด้านบนเบราว์เซอร์จะแจ้งเตือน "1" ฉันยังไม่แน่ใจว่าเหตุใดจึงส่งคืน "1" บางสิ่งที่เขาพูดในใจเช่น: การประกาศฟังก์ชันทั้งหมดถูกยกขึ้นไปด้านบน คุณสามารถกำหนดขอบเขตตัวแปรโดยใช้ฟังก์ชัน ยังไม่คลิกสำหรับฉัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.