Sorting Algorithms (bubble sort, merge sort)

What optimization technique is used in this merge function implementation?
function merge(left, right) {
  const result = new Array(left.length + right.length);
  let i = 0, l = 0, r = 0;
  while (l < left.length && r < right.length) {
    result[i++] = (left[l] <= right[r]) ? left[l++] : right[r++];
  }
  while (l < left.length) result[i++] = left[l++];
  while (r < right.length) result[i++] = right[r++];
  return result;
}
Next Question (14/20)