2.9.1.1.2.1 New Array (len)

The [[Prototype]] internal property of the newly constructed object is set to the original ArrayBuffer prototype object, the one that is the initial value of ArrayBuffer.prototype (16.1.3.1). The [[Class]] internal property of the newly constructed object is set to "ArrayBuffer". The [[Extensible]] internal property of the newly constructed object is set to true.

The length property of the newly constructed object is set to ToUInt32(len).

A fresh native buffer nativeBuffer of length bytes is allocated.  The contents of this native buffer are zero initialized.  If the requested number of bytes could not be allocated, a RangeError is raised.  The [[NativeBuffer]] internal property of the newly constructed object is set to nativeBuffer.