TypeError: Cannot read properties of undefined
Bir script bir bilgi bekledi ve hiçbir şey almadı. En yaygın Lua hatasıyla aynı sınıf bir sorun.
Önce şunu yap
Hangi script'i adlandırdığını not et; çözüm o script'in kodunda.
Ne anlama gelir
"attempt to index a nil value"ın JavaScript sürümü. undefined ya da null olan bir değer üzerinde bir şeye erişildi. Mesaj özelliği adlandırır, ki bu sana hangi erişimin başarısız olduğunu söyler, hangi değerin eksik olduğunu değil.
Neden olur
Ne sıklıkla doğru cevap olduğuna göre sıralı.
- 1
Var olmayan bir oyuncu nesnesi
Bağlantısı kopmuş bir oyuncuyu arayan bir sunucu script'i.
- 2
Unutulmuş bir await
awaitolmadanconst rows = db.query(...)bir Promise verir, ve ondan bir alan okumak undefined'dır. - 3
Eksik bir nesnenin destructure edilmesi
payloadhiç gelmemişkenconst { id } = payload. - 4
İstemcinin göndermediği bir olay yükü
Lua sürümüyle aynı sınıf bir hata, diğer çalışma zamanında.
- 5
Başlatılmamış bir kaynaktan bir export
Export nesnesinin undefined olduğu
exports['x'].y.
Hangisinin seninki olduğu nasıl anlaşılır
Başarısız olan satırın hemen üstüne:
console.log(typeof thing, thing)
FXServer'da bu, diğer her çıktı gibi sunucu konsoluna yazılır.
Nereye bakmalı
Adı geçen satır, sonra undefined değeri üreten atama.
Nasıl düzeltilir
Sınırda isteğe bağlı zincirleme ve varsayılanlar kullan:
const player = getPlayer(src)
if (!player) return
const amount = payload?.amount ?? 0
const rows = await db.query('SELECT ...')Hâlâ kendi kodunda mı takıldın?
Bu sayfa, bu hatanın genelde ne anlama geldiğini anlatır. Konsolunu Server Fixer'a yapıştır; içindeki her şeyi sıraya dizer ve önce ne yapman gerektiğini söyler. Kendin uğraşmak istemiyorsan ORBIE script'i onarır ve kaynağı sunucuna atmaya hazır geri verir.
bug_reportServer Fixer'ı açBu tür bir hata için Script Optimizer script'i okur ve bunun arkasındaki kodu onarır.