TL; DR: มีวิธีใดบ้างในการระบุการละเมิดพฤติกรรม 1.9.0 ใหม่ของ CoffeeScript สำหรับการตั้งชื่อพารามิเตอร์ @foo
ขณะนี้เป็นสิ่งผิดกฎหมาย และไม่ก่อให้เกิดคำเตือน/ข้อผิดพลาด ในการใช้ตัวแปร foo
เปล่าในฟังก์ชัน
ใน CoffeeScript เวอร์ชัน 1.9.0 ระบุไว้:
เปลี่ยนกลยุทธ์สำหรับการสร้างชื่อตัวแปรคอมไพเลอร์ภายใน โปรดทราบว่านี่หมายความว่าพารามิเตอร์ฟังก์ชัน
@example
จะไม่สามารถใช้เป็นตัวแปรexample
เปล่าภายในเนื้อหาของฟังก์ชันได้อีกต่อไป
นี่หมายความว่า
class Animal
constructor: (@name) ->
console.log name
..จะล้มเหลวอย่างเงียบๆ กล่าวคือข้างต้นจะไม่พิมพ์ชื่อสัตว์ตัวใหม่
วิธีแก้ไขใหม่ที่ถูกต้องคือ:
class Animal
constructor: (@name) ->
console.log @name
CoffeeLint ไม่เข้าใจสิ่งนี้ มีการแสดงความสามารถใด ๆ ในการค้นหาการใช้พารามิเตอร์เปลือยที่ผิดกฎหมายในขณะนี้หรือไม่? อาจเป็นสคริปต์ที่ดีที่ทำงานบนจาวาสคริปต์ที่สร้างขึ้นใช่ไหม
นี่คือ 2 ลิงค์เกี่ยวกับเรื่องนี้: