Array.size () vs Array.length

Qual é a diferença entre os dois?

Então eu sei dissoarray.size() é uma função enquantoarray.length é uma propriedade. Existe um método para usar um sobre o outro? É mais eficiente (imagino.length ser significativamente mais rápido, pois é uma propriedade e não uma chamada de método?) Por que alguém usaria a opção mais lenta? Existem alguns navegadores incompatíveis com um ou outro?

  var x = [];
  console.log(x.size());
  console.log(x.length);
  console.log(x.size()==x.length);
  x =[1,2,3];
  console.log(x.size());
  console.log(x.length);
  console.log(x.size()==x.length);

Vai imprimir:

  0, 0, true
  3, 3, true