Yanıtlar:
key of obj
Bu, JavaScript'lere derlenir key in obj. (CoffeeScript kullanır ofşifreler bahsedilirken, ve indizi değerlerine söz konusu olduğunda: val in arrolmadığını test edecek valolan arr.)
Nesnenin prototipini görmezden gelmek istiyorsanız, thejh'nin cevabı doğrudur. nullVeya undefineddeğ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 objdeğ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.