Predefined functions "Low" and "High" give compiler errors when applied on strings

When applying the predefined functions "Low" or "High" on strings, the compiler gives error messages. Here is a small piece of code illustrating the use:

procedure TForm1.ScanString;
                  i: Integer;
               aStr: UnicodeString;
begin { TForm1.ScanString }
  aStr := 'abcdef';
  for i := **Low(aStr) to High(aStr)** do
    if aStr [i] = 'a'
end { TForm1.ScanString };

The message I get is : Incompatible type arg no. 1: Got "String", expected "ordinal type, array or set".

When running the same code in VCL, it compiles without an error and also runs.

The iteration is basically the same as "for i := 1 to Lengh(aStr) do"

Are there other (string) functions having restrictions or not supported by Web Core?

Looks like a pas2js compiler shortcoming. We will report this to the pas2js team.