Есть ли способ сделать true = false
. Когда я пытаюсь это сделать, он явно возвращает недопустимое левое присваивание. Это то, что меня давно интересовало, и я был бы признателен за ответ. Я пробовал много вещей, но я не понял, как это сделать. Вот некоторые вещи, которые я пробовал до сих пор:
true = false;
var true = false;
let true = false;
const true = false;
Boolean(true) = false;
true = !true;
var true = !true;
let true = !true;
const true = !true;
Boolean(true) = !true;
@GetSet, если ты сделаешь это ответом, я выберу его.
Короткий ответ: нет... Они неизменны
Поскольку true и false являются зарезервированными ключевыми словами, их невозможно назначить. Даже если бы вы это сделали window.true = false
, правда все равно была бы правдой.
Это не обязательно относится ко всем примитивам. в es4 вам было разрешено переназначать undefined
на то, что вы хотите. (см. это связанное обсуждение - в нем говорится о погоде или о том, как не беспокоиться о защите от нее, но вы можете найти ее информативной)
window.true
не существует
В узле окно не имеет значения, вместо этого вы бы сделали global.true. И да, true не является свойством ни для одного из них, но обычно, когда вы устанавливаете для него свойство, например. window.x = 2, затем с помощью x, например. х + 3, будет работать. Я использовал его в качестве примера, потому что в старых версиях javascript вы могли сделать window.undefined = 2
, но теперь так ведут себя true/false.
Похоже, что
true
иfalse
являются «зарезервированными словами».