New empty string <variable> of length <length> is allocated. The <variable> is an empty string (i.e. ""), however <length> bytes are allocated.
new-string is useful when you need to create a block of memory of certain length, and then change its individual bytes (such as with set-string).
Note that if <length> is a numeric literal, then <variable> will be allocated statically if <length> is lesser than 1024 bytes; this makes such strings faster at run time, especially for server processes. In all other cases, <variable> is dynamically allocated from the heap.
Also note that <variable> (like all strings, text, binary and however allocated) has an implicit null byte placed after <length> bytes.
Examples
Create new string and alter it with new content and to be of length 2: