ทำไมภาษาที่พิมพ์แบบไดนามิกไม่ให้นักพัฒนาระบุประเภท?
ภาษาที่พิมพ์แบบไดนามิกที่ฉันรู้ว่าไม่ให้นักพัฒนาระบุประเภทของตัวแปรหรืออย่างน้อยก็มีการสนับสนุนที่ จำกัด มากสำหรับสิ่งนั้น ตัวอย่างเช่น JavaScript ไม่มีกลไกใด ๆ ในการบังคับใช้ตัวแปรประเภทต่างๆเมื่อสะดวกในการใช้งาน PHP ช่วยให้คุณระบุบางชนิดของการขัดแย้งวิธี แต่มีวิธีที่จะใช้ชนิดพื้นเมือง (ไม่int, stringฯลฯ ) สำหรับข้อโต้แย้งและมีวิธีการที่จะบังคับใช้สำหรับประเภทอื่นใดนอกเหนือจากการขัดแย้งใด ในเวลาเดียวกันมันจะสะดวกที่จะมีทางเลือกที่จะระบุในบางกรณีประเภทของตัวแปรในภาษาที่พิมพ์แบบไดนามิกแทนการทำประเภทการตรวจสอบด้วยตนเอง ทำไมมีข้อ จำกัด ดังกล่าว เป็นเพราะเหตุผลด้านเทคนิค / ประสิทธิภาพ (ฉันคิดว่ามันเป็นในกรณีของ JavaScript) หรือสำหรับเหตุผลทางการเมืองเท่านั้น (ซึ่งฉันเชื่อว่าเป็นกรณีของ PHP) นี่เป็นกรณีสำหรับภาษาที่พิมพ์แบบไดนามิกอื่น ๆ ที่ฉันไม่คุ้นเคยหรือไม่ แก้ไข:ทำตามคำตอบและความคิดเห็นต่อไปนี้เป็นตัวอย่างสำหรับการชี้แจง: สมมติว่าเรามีวิธีการต่อไปนี้ใน PHP ธรรมดา: public function CreateProduct($name, $description, $price, $quantity) { // Check the arguments. if (!is_string($name)) throw new Exception('The …