I am on Chromium Version 53.0.2785.143 Built on Ubuntu, running on Ubuntu 16.04 (64-bit)
According to the ECMAScript® Language Specification, prefix increment operator is evaluated as follows:

With this in mind, I cannot explain this result:
++'1';
> Uncaught ReferenceError: Invalid left-hand side expression in prefix operation
when the following code works like a charm:
var x = '1';
++x;
> 2
As far as I understand, in both cases the first 3 bullet points of the second step are true, whereas for ++'1' case the fourth bullet is also true (but why?) and for the ++x case it is false, raising no error. Am I right?
PS: Firefox throws a SyntaxError: invalid increment operand instead of a ReferenceError
PutValue('1', 2)throws an error because it cannot assign to a string literal. You need a variable or some other kind ofReference.