При определении новой переменной в JavaScript вы либо используете const, либо let (в эфире также есть var, но он устарел) . Const означает, что переменная останется постоянной, так как ее нельзя будет изменить; let означает, что переменная может быть изменена на все, что вы хотите, после ее первоначального определения. Сначала это казалось довольно простым, но затем я увидел, что const используется для определения пустых массивов и объектов, к которым можно добавить позже. Но подождите, разве это не меняет ситуацию? const ничего не значит? Ничего святого?

Я думаю, что понял это.

Все это связано с типом данных и их содержанием. Тип данных означает, как вы бы классифицировали данные. Например, «привет» — это строка. Напротив, содержание данных означает то, что эти данные на самом деле содержат — сущность данных. С точки зрения приведенной выше строки, ее содержанием является идея приветствия и конкретный способ его передачи (это не «привет», это «привет»). Переменная, определенная с помощью const, не может изменить свой тип, но в зависимости от типа может изменить свое содержимое.

Когда дело доходит до «базовых» типов — таких как числа, строки и логические значения — вы не можете изменить их тип после объявления с помощью const, и вы также не можете изменить его содержимое. Если вы определите myNum как _const _ со значением 5, вы не сможете позже изменить его на значение 6.

Однако для «контейнерных» типов, таких как массивы и объекты, хотя вы все еще не можете изменить его тип после его объявления с помощью const, вы можете изменить его содержимое. Если вы определяете myArray как const и устанавливаете его равным пустому массиву, вы всегда можете добавить его позже. И удалить из него. Единственное, что вы не можете сделать, это изменить его тип. Вы не можете сделать myArray объектом в какой-то более поздний момент времени.