Size: a a a

JavaScript Noobs — сообщество новичков

2020 July 14

D

Danila in JavaScript Noobs — сообщество новичков
Типизация к этому отношения не имеет
источник

АН

Антон Немкин... in JavaScript Noobs — сообщество новичков
Oleksandr Lukhanin
Ранее в чате встречал замечания к коду:
"...замени все let на const..."

Подскажите, правильно ли я понимаю:
- любой объект - обьявлять const;
- любая переменная не константа содержащая значение примитвного типа - обьявлять let?

Const гарантирует, что самому объекту нельзя будет присвоить значение/ссылку другого объекта. Мы можем менять только значения его ключей. Т.е. грубо - const жестко типизирует объект...
фиксирует линк на память если коротко
источник

D

Danila in JavaScript Noobs — сообщество новичков
const гарантирует, что значение этой const всегда будет одним и тем же. Если это примитив - то буквально одним и тем же, если это объект - то одну и ту же ссылку. Присвоить другое значение (или другую ссылку) не получится
источник

OL

Oleksandr Lukhanin in JavaScript Noobs — сообщество новичков
что значит менять переменную?
в ходе работы значения разве не меняются?
источник

D

Danila in JavaScript Noobs — сообщество новичков
Oleksandr Lukhanin
что значит менять переменную?
в ходе работы значения разве не меняются?
const a =1;
a=2;// Ошибка
источник

MR

Made in Russia in JavaScript Noobs — сообщество новичков
Danila
beforeSend показываешь, complete скрываешь
БлагодарюЭ,теперь я пытаюсь при начале отправки показать блок и вывести там гифку
if (url !== undefined) {
           $.ajax({
               type: 'GET',
               url: url,
               dataType: 'html',
                beforeSend: function(){
                getElementById("#loadImg").style.display = 'block';
                $('#loadImg').html('<img id="imgcode" src="/upload/load.gif">');
                $('.load_more').remove();
               
                },
               success: function(data){
                   //  Удаляем старую навигацию
                   $('#loadImg').remove();
                   $('.load_more').remove();
                   var elements = $(data).find('.news-itemed'),  //  Ищем элементы
                       pagination = $(data).find('.load_more');//  Ищем навигацию

                   targetContainer.append(elements);   //  Добавляем посты в конец контейнера
                   targetContainer.append(pagination); //  добавляем навигацию следом

               }
           })
       }

но пише id не найден,хотя есть
источник

D

Danila in JavaScript Noobs — сообщество новичков
let a = 1;
a = 2;// Нет ошибки, a изменилась и теперь равна 2
источник

D

Danila in JavaScript Noobs — сообщество новичков
const object = {};
object = {test:1}//Ошибка
object.test = 1 // Ошибки нет, это тот же объект
источник

D

Danila in JavaScript Noobs — сообщество новичков
В реальном коде let нужен один раз из 100
источник

OL

Oleksandr Lukhanin in JavaScript Noobs — сообщество новичков
Danila
const object = {};
object = {test:1}//Ошибка
object.test = 1 // Ошибки нет, это тот же объект
3 строка - это не изменеие данных?
источник

D

Danila in JavaScript Noobs — сообщество новичков
Oleksandr Lukhanin
3 строка - это не изменеие данных?
Это изменение объекта
источник

D

Danila in JavaScript Noobs — сообщество новичков
Переменная как указывала на этот объект так на него и указывает
источник

D

Danila in JavaScript Noobs — сообщество новичков
Переменная не меняется
источник

D

Danila in JavaScript Noobs — сообщество новичков
Меняется объект
источник

D

Danila in JavaScript Noobs — сообщество новичков
Потому что объекты в ЖС передаются по ссылкам
источник

D

Danila in JavaScript Noobs — сообщество новичков
Сколько не меняй объект внутри const он не станет другим объектом, это будет ссылочно тот же объект
источник

D

Danila in JavaScript Noobs — сообщество новичков
На этом свойстве объектов построено огромное количество подходов
источник

А

Алмаз ® in JavaScript Noobs — сообщество новичков
Oleksandr Lukhanin
3 строка - это не изменеие данных?
Это своеобразие js.  Вам придётся много чего не понять но принять. Js изначально делался не строгим и цель что б порог входа был минимальный.
источник

D

Danila in JavaScript Noobs — сообщество новичков
Алмаз ®
Это своеобразие js.  Вам придётся много чего не понять но принять. Js изначально делался не строгим и цель что б порог входа был минимальный.
Сорри, абсолютно иррелевантное замечание
источник

D

Danila in JavaScript Noobs — сообщество новичков
Никак не связано ни с каким порогом входа
источник