Это большое заблуждение о том что в js есть «ссылочный» и не «ссылочный» тип данных. Все значения в js ссылочные.
Я может сильно встряну и не прав.
Но в случае с var a = b = c = 200 то при условии что стандартное число занимает 4 байта (вроде) в js но мы займем 12 байт памяти, то есть мы создадим 3 значения 200, разместим их в трех участках оперативной памяти а a, b, c будут ссылаться каждый на свой участок памяти. То есть это будут 3 разных значения.
Если мы сделаем var a = [200], b = a, b[0] = 100, то у нас a[0] тоже станет 100, так как а и b будут ссылаться на одну и ту же область памяти, то есть создастся одно значение. А в b в данном случае скопировалась ссылка на эту область памяти, а не создалось отдельно в памяти значение такого же типа и, сорри, значения.