Ketika mencoba-coba dengan Scriptrip, saya menyadari bahwa kelas saya di dalam modul (digunakan sebagai ruang nama) tidak tersedia untuk kelas lain kecuali saya menulis export
kata kunci sebelumnya, seperti:
module some.namespace.here
{
export class SomeClass{..}
}
Jadi sekarang saya bisa menggunakan kode di atas seperti ini:
var someVar = new some.namespace.here.SomeClass();
Namun saya hanya bertanya-tanya mengapa kata kunci ini digunakan dibandingkan dengan hanya menggunakan public
kata kunci yang digunakan pada tingkat metode untuk menandakan bahwa suatu metode atau properti harus dapat diakses secara eksternal. Jadi mengapa tidak menggunakan mekanisme yang sama ini untuk membuat kelas dan antarmuka dll terlihat secara eksternal?
Ini akan menghasilkan kode seperti:
module some.namespace.here
{
public class SomeClass{..}
}