Имя переменной - это всего лишь подсказка о том, что функция ожидает в качестве ввода, но в Javascript нет реального «намека на тип», который бы применял такую политику.
Хеш / объект используются взаимозаменяемов Javascript, потому что к объектным элементам также можно получить доступ способом, аналогичным синтаксису того, как вы будете обращаться к записям в хэш-таблице на других языках.
hash.w
эквивалентно
hash["w"]
Последний является синтаксисом, распространенным в таких языках, как Python или Ruby (фактически класс, реализующий это поведение, в Ruby называется "Hash").
Таким образом, слово "хэш" не относится ккриптографический хэш или хэш-функция, а не функциональность хэш-таблицы.
Объекты часто упоминаются как «Хэши» в Javascript, если они являются просто набором пар ключ / значение, но не реализуют какие-либофункции, например
hash = {
a: 5,
b: "string",
c: 7
}
вместо
object = {
member_a: 5,
member_b: "string",
do_this: function() { ... },
do_that: function() { ... }
}