1. Бинарный + приводит выражение к строке, поэтому null вычитается из строки, на этом этапе получается NaN
2. Аналогично, происходит приведение к строке
3. Нулевой элемент строки "1" - 1;
4. Печатные символы сравниваются по их значению в Unicode, а "ё", кстати, в отличии от "е" имеет большее значение, чем "я"