Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Типы данных, typeof, null и undefined (https://javascript.ru/forum/misc/74507-tipy-dannykh-typeof-null-i-undefined.html)

Вагон 17.07.2018 13:16

Типы данных, typeof, null и undefined
 
Добрый день!

Такой код:

var name = null;
var number = undefined;

if(name == number){
	alert("Верно");
}else{
	alert("Ложь");
}

//почему выходит Ложь? или какой урок я пропустил?

if(null == undefined){ // при явном обозначении выводит Верно
	alert("Верно");
}else{
	alert("Ложь");
}


null и undefined равны друг другу но если их вызывать через переменные то выходит что нет.

j0hnik 17.07.2018 13:21

https://youtu.be/jd7J9NUBJWQ?list=PL...hLeWwe m&t=79

это то что нужно просто принять

j0hnik 17.07.2018 13:26

var name4 = null;
var number = undefined;

if(name4 == number){
	alert("Верно");
}else{
	alert("Ложь");
}


var name = null;
var number = undefined;

if(name == number){
	alert("Верно");
}else{
	alert("Ложь");
}


обратите внимание на имя переменной
var name

Alexandroppolus 17.07.2018 13:27

name - это некая глобальная переменная, вроде бы свойство window, и ему нельзя что-то присвоить
замени name на name1, к примеру, и как рукой снимет

Вагон 17.07.2018 13:31

Получается name лучше вообще не использовать в названиях переменных?

j0hnik 17.07.2018 13:32

Вагон,
:yes:

Alexandroppolus 17.07.2018 13:33

Цитата:

Сообщение от Вагон
Получается name лучше вообще не использовать в названиях переменных?

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

рони 17.07.2018 13:35

Вагон,
лучше не называть переменные именами обьектов или их свойств!!!
var name100500 = null;
var number = undefined;

if(name100500 == number){
	alert("Верно");
}else{
	alert("Ложь");
}

//почему выходит Ложь? или какой урок я пропустил?

if(null == undefined){ // при явном обозначении выводит Верно
	alert("Верно");
}else{
	alert("Ложь");
}

ruslan_mart 18.07.2018 12:41

Цитата:

Сообщение от Вагон
Получается name лучше вообще не использовать в названиях переменных?

Использовать, но не в глобальной области видимости.

(function() {

   var name = null;
   var number = undefined;

   if (name == number) {
      alert(true);
   }
 
})();


Часовой пояс GMT +3, время: 19:03.