Yanıtlar:
key of obj
Bu, JavaScript'lere derlenir key in obj
. (CoffeeScript kullanır of
şifreler bahsedilirken, ve in
dizi değerlerine söz konusu olduğunda: val in arr
olmadığını test edecek val
olan arr
.)
Nesnenin prototipini görmezden gelmek istiyorsanız, thejh'nin cevabı doğrudur. null
Veya undefined
değerine sahip anahtarları yok saymak istiyorsanız Jimmy'nin cevabı doğrudur .
own = (prop, obj) -> Object::hasOwnProperty.call obj, prop
'?' operatör var olup olmadığını kontrol eder:
if obj?
# object is not undefined or null
if obj.key?
# obj.key is not undefined or null
# call function if it exists
obj.funcKey?()
# chain existence checks, returns undefined if failure at any level
grandChildVal = obj.key?.childKey?.grandChildKey
# chain existence checks with function, returns undefined if failure at any level
grandChildVal = obj.key?.childKey?().grandChildKey
null
.
obj.key?
olduğu durumda, muhtemelen en özlü olanıdır.
obj.hasOwnProperty(name)
(devralınan özellikleri yok saymak için)
key of obj
değer bir dizge veya sayı ise bir hata atar. Cannot use 'in' operator to search
. Bu durumda, nesne tanımsız değilse ve boş değilse çalışacaktır.
own key of obj
, ek olarak test etmek için de işe yarar.hasOwnProperty()
. "büyük olasılıkla", denememiş olmamdan geliyor, ama bu sözdizimi anlayışla çalışıyor.