whole_func_string: function ArrayPop() {
    CHECK_OBJECT_COERCIBLE(this, "Array.prototype.pop");
  
    var array = TO_OBJECT(this);
    var n = TO_LENGTH(array.length);
    if (n == 0) {
      array.length = n;
      return;
    }
  
    n--;
    var value = array[n];
    %DeleteProperty_Strict(array, n);
    array.length = n;
    return value;
  }
func_code_string: function ArrayPop() {
    CHECK_OBJECT_COERCIBLE(this, "Array.prototype.pop");
  
    var array = TO_OBJECT(this);
    var n = TO_LENGTH(array.length);
    if (n == 0) {
      array.length = n;
      return;
    }
  
    n--;
    var value = array[n];
    %DeleteProperty_Strict(array, n);
    array.length = n;
    return value;
  }
func_documentation_string: Removes the last element from the array and returns it. See ECMA-262, section 15.4.4.6.