Wpis z mikrobloga

Rozwiązuje dużo zadań na stronach typu CodeWars,CodeFights etc i w większości trzeba na początku stworzyć obiekt/tablice który później będzie wypełniony poprzez funkcję i tutaj moje pytanie :v czy tworzenie na poczatku tablicy/obiektu w taki sposób :
let arr = [];
let obj = {};
jest poprawny ? czy lepiej zrobić
let arr = new Array(); etc ?
#javascript
  • 8
let arr = [];

let obj = {};

jest poprawny ? czy lepiej zrobić

let arr = new Array()


@Senthill:
Uzywaj const zamiast let bo to jest odporne na zmianę referencji do obiektu, tablicy itp.

const arr = []
const obj = {}
let a = 5
let s = 'moja nazwa'

Tutaj jest fajny guideline dla javascript i jest tam opisane dlaczego powinieneś używać literałów zamiast operatora new:
https://github.com/airbnb/javascript#es6-computed-properties
https://eslint.org/docs/rules/no-new-object.html
Dla wydajności? Jesteś świadomy jak takie dynamiczne tablice działają pod maską?


@NotABigFan: Ja jestem świadomy jak to działa.
Fajny film, który pokazuje że nie warto robić tablic jeżeli nie wiesz czy zostaną zapełnione. Operacje na niezapełnionych tablicach są wolniejsze bo między innymi działa wyszukiwanie po prototypach i nie można już ich zamienić na lżejszą formę.
Czyli jeżeli zrobisz:
const myArr = new Array(3)
myArray[0] = 1
myArray[1] = 1
i resztę