JSON.parse & JSON.stringify kullanarak JS dizisini klonladıktan sonra, dizinin "tanımsız" değeri neden "boş" değerine dönüşüyor? [çiftleme]

Aug 17 2020
var arr1 = [1, 2, 3, undefined, 4, 5];
var arr2 = JSON.parse(JSON.stringify(arr1));
console.log(arr2);

Yukarıdaki kodun çıktısı ... olacaktır.

[1, 2, 3, null, 4, 5]

Neden 4. değerini "tanımsız" dan "boş" a çeviriyor?

Yanıtlar

2 Iwrestledabearonce. Aug 17 2020 at 20:24

Çünkü undefinedbir Javascript türüdür. undefinedJSON'da yok .

Spesifikasyona göre :

JSON, dört ilkel türü (dizeler, sayılar, mantıksallar ve boş) ve iki yapılandırılmış türü (nesneler ve diziler) temsil edebilir.