* ng Для сравнения объектов с использованием '==='

Наконец, я нашел решение. Ниже приведено решение: -

  1. Никогда не используйте относительный путь в сценариях python для выполнения через crontab. Я сделал что-то вроде этого: -
    import os
    import sys
    import time, datetime
    
    CLASS_PATH = '/srv/www/live/mainapp/classes'
    SETTINGS_PATH = '/srv/www/live/foodtrade'
    sys.path.insert(0, CLASS_PATH)
    sys.path.insert(1,SETTINGS_PATH)
    
    import other_py_files
    
  2. Никогда не подавляйте код crontab вместо использования почтового сервера и проверяйте почту для пользователя. Это дает более четкое представление о том, что происходит.
2
задан Polkovnik 13 July 2018 в 08:52
поделиться

3 ответа

=== проверяет значение (если объект является числом или логическим), тип и ссылка на объект. Если вы создадите 2 объекта с одинаковыми атрибутами, такими как следующее, он вернет false:

let a = { test: 'test' };
let b = { test: 'test' };
console.log(a === b); // gives false

, потому что это не та же ссылка. Таким образом, в вашем случае selectedHero === hero будет истинным, если ваши 2 объекта имеют одинаковую ссылку.

EDIT:

Еще одна точность заключается в том, что вы можете скопировать ссылку на объект в другую:

let a = { test: 'test' };
let b = a;
console.log(a === b); // gives true

, а затем, если вы измените атрибут одной ссылки, она изменится для обоих:

let a = { test: 'test' };
let b = a;
a.test = 'foo';
console.log(b.test) // gives foo
8
ответ дан Julien Metral 17 August 2018 в 13:19
поделиться
  • 1
    Хорошо, я вижу это сейчас в документации Javascript. Убирает его немного. Таким образом, в основном ссылка указывает на расположение объектов в памяти? – Polkovnik 13 July 2018 в 09:04
  • 2
    Да, у вас есть примеры из этой ссылки – Julien Metral 13 July 2018 в 09:10

Каждый раз, когда вы нажимаете на li elemnt onSelect, и устанавливаете переменную selectedHero с героем elemnt из массива героев, герои содержат объекты, поэтому агитация просто устанавливается selectedHero, чтобы быть refrence текущему элементу (герою) и когда мы пытаемся сопоставить (== или ===) объект, сравните, если точка с одним и тем же refrence или нет

let a = {};
let b = {};
let c = a;

console.log(a === b); // false 
console.log(a === c); // true
0
ответ дан Muhammed Albarmawi 17 August 2018 в 13:19
поделиться

=== на объекте проверяется адрес объекта, а не значение. Если вам нужна дополнительная информация, вы можете посмотреть, как работают указатели.

Но в принципе, если (hero === selectedHero) возвращает true, они указывают на тот же адрес памяти. Поэтому, если вы измените значение selectedHero, оно также изменит значение героя [0].

0
ответ дан spalm 17 August 2018 в 13:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: