У меня есть хэш «ч» и имеют код типа:Какой тип/тип не определен, и можно ли его расширить или добавить?
h[key].dostuff()
Когда ключ не существует в хэш, ч [ключ] не определен, и я получаю ошибку о том, что я не могу назвать метод " достойность "неопределенного.
Есть ли способ добавить этот метод к undefined, если undefined является расширяемым классом?
Я уверен, что это должен быть обычный случай, так что есть предпочтительный способ обращения с этим, не прибегая к обходной функции, например. hh (key), в котором я мог бы манипулировать неопределенными результатами?
Спасибо.
Чтобы быть «неопределенным», должно быть, буквально, не определено. Это означает, что нет никакой ценности, и нигде не нужно * находить значение. В этом случае это означает, что на вашем объекте «h» нет свойства, чье имя является значением «key». (* edit * фактически 'undefined' также может быть« значением »переменной, которая не инициализирована; JavaScript отличает эту ситуацию от переменной« null », что немного странно.) – Pointy
' h [key] && h [ key] .dostuff() '??? –
Спасибо всем. Не надеялся, что неопределенный будет принадлежать расширяемому классу, подобному nil и NilClass в рубине, который расширяется. А хорошо. – frank