javascript - Typescript'in /** @class */ etiketi bir amaca sahip mi?


Typescript öğreniyorum ve derlenmiş javascript'te her sınıf için /** @class */ şeklinde bir yorum olduğunu fark ettim.

Örnek :

var Student = /** @class */ (function () {
    function Student(firstName, middleInitial, lastName) {
        this.firstName = firstName;
        this.middleInitial = middleInitial;
        this.lastName = lastName;
        this.fullName = firstName + " " + middleInitial + " " + lastName;
    }
    return Student;
}());

Benim sorum şu: Bu yorumun herhangi bir işlevsel değeri var mı yoksa sadece sözdizimsel bir süs mü? Ayrıca, eğer bir işlevi varsa, işlevi nedir?

Cevap #1

Bu, minifier'ların kullanılmayan sınıfları kaldırabilmesi için yayımlanır. Minifier'lara göre, sınıf kurulumu potansiyel olarak önemli yan etkileri olan bir şey gibi görünüyor, bu yüzden bu yorum, kod bloğunun geri kalan kod buna başvurmazsa güvenle kaldırılabileceğini onlara bildirir.

Cevap #2

Kodunuzu belgelendirmek isterseniz bir JSDoc yorumu çıktısı veriyor: http://usejsdoc.org/tags-class.html.

Bu durumda, etiket dokümantasyon oluşturucuya, aşağıdaki fonksiyonun bir yapıcı olduğunu belirtir.

Fonksiyonel bir değeri yok, ayrıca sözdizimsel şeker de değil. Orada, belge üretmeye karar verirsen diye bulunuyor. Başka bir şey değil.

İlgili makaleler