Ответ 1
undefined
, null
, number
, string
, boolean
и object
, из которых только object
является "ссылочным" типом.
Нет никакого назначения по ссылке или передачи по ссылке в javascript, всякий раз, когда вы передаете/присваиваете тип "ссылки", вы передаете/назначаете копию ссылки, вы не создаете ссылку ссылки, которая имела бы различные последствия.
Вы можете использовать следующие функции:
function isReferenceType( value ) {
return Object(value) === value;
}
function isPrimitiveType( value ) {
return Object(value) !== value;
}