Size: a a a

JavaScript — русскоговорящее сообщество

2021 March 26

ЮК

Юрий Кононенко... in JavaScript — русскоговорящее сообщество
куда именно?
источник

UM

Umid Musaev in JavaScript — русскоговорящее сообщество
источник

UM

Umid Musaev in JavaScript — русскоговорящее сообщество
Umid Musaev
Вопрос из разряда "Какого чёрта?"
let a = {type: 'arbuz'}
let b = 'банан'

function clear(obj){
 delete obj.a
 delete obj.b
}

clear({a, b})
console.log(a, b) // {type: 'arbuz'}, "банан"


Объект "a" не удалился из-за свойства DontDelete(к оператору delete), или есть другая магия?
@x_agr333 отсюда можешь начать
источник

ЮК

Юрий Кононенко... in JavaScript — русскоговорящее сообщество
так тама ты напрямую залезаешь в исходной обьект и чистишь его
источник

UM

Umid Musaev in JavaScript — русскоговорящее сообщество
Юрий Кононенко
так тама ты напрямую залезаешь в исходной обьект и чистишь его
Факт в том, что obj.a === a, соответственно, удаление obj.a должно привести к удаления a
источник

ЮК

Юрий Кононенко... in JavaScript — русскоговорящее сообщество
нет
источник

UM

Umid Musaev in JavaScript — русскоговорящее сообщество
Да!
источник

ЮК

Юрий Кононенко... in JavaScript — русскоговорящее сообщество
delete удаляет только свойство конкретного обьекта а не его значение
источник

UM

Umid Musaev in JavaScript — русскоговорящее сообщество
Смотри на этот скрин
источник

AE

Alexey Ermakov in JavaScript — русскоговорящее сообщество
обж.а копия ссылки на а
источник

UM

Umid Musaev in JavaScript — русскоговорящее сообщество
Юрий Кононенко
delete удаляет только свойство конкретного обьекта а не его значение
Он по ссылке удалять должен из памяти
источник

AE

Alexey Ermakov in JavaScript — русскоговорящее сообщество
obj.a.x уже внутренности исходного объекта
источник

ЮК

Юрий Кононенко... in JavaScript — русскоговорящее сообщество
Umid Musaev
Он по ссылке удалять должен из памяти
ты что из С++ пришел?)
источник

UM

Umid Musaev in JavaScript — русскоговорящее сообщество
Alexey Ermakov
обж.а копия ссылки на а
А вот 'a' ещё является свойством объекта window
источник

UM

Umid Musaev in JavaScript — русскоговорящее сообщество
Alexey Ermakov
obj.a.x уже внутренности исходного объекта
Какая тогда разница с этим?
источник

R

Red-eyed programmer🇩... in JavaScript — русскоговорящее сообщество
Юрий Кононенко
ты что из С++ пришел?)
Я: *Вьетнамские флешбеки"
источник

UM

Umid Musaev in JavaScript — русскоговорящее сообщество
Юрий Кононенко
ты что из С++ пришел?)
Изучал до JS, но сути это не меняет
источник

ЮК

Юрий Кононенко... in JavaScript — русскоговорящее сообщество
Umid Musaev
Какая тогда разница с этим?
потому что delete obj.a это удалить свойство а из обьекта obj, а delete obj.a.type это удалить свойство type из обьекта obj.a
источник

ЮК

Юрий Кононенко... in JavaScript — русскоговорящее сообщество
обьяснил как смог 😅
источник

AE

Alexey Ermakov in JavaScript — русскоговорящее сообщество
Umid Musaev
Какая тогда разница с этим?
int a = 1
int *aptr1 = &a
int *aptr2 = &a

b.a = aptr2
источник