typeof varName === 'undefined'
varName === undefined
typeof varName === 'undefined' || varName === undefined || varName === 0 || varName === false || varName === ''
typeof varName === 'undefined'
а если является то удобней писать конечно [...].includes(VarName)
var user = {FirstName:"Сергей", .....};
for(let k in user)
this[k]=user[k];
`Привет друг ${FirstName} ${LastName}, как твои дела?`;
extract(obj);
Но при этом не известно какие имена свойств в объекте. const str = `Привет друг ${FirstName} ${LastName}, как твои дела?`;
body {
background:
linear-gradient(-90deg,
rgba(255, 255, 255, 1) 50%,
rgba(255, 255, 255, 0) 50%,
rgba(255, 255, 255, 0) 100%) 0/20px 20px,
linear-gradient(0,
rgba(255, 255, 255, 1) 50%,
rgba(255, 255, 255, 0) 50%,
rgba(255, 255, 255, 0)) 0/20px 20px,
red;
}
body{
height: 500px;
background:
radial-gradient(circle, #0003 1px, #0017 1px) repeat 0 0/4px 4px fixed;
}
.variant1 {
background: radial-gradient(black 2px, transparent 2px) left top/10px 10px;
}
.variant2 {
background:
radial-gradient(black 2px, transparent 2px) left top/10px 10px,
radial-gradient(black 1px, transparent 1px) left -1px top -1px/10px 10px,
radial-gradient(black 1px, transparent 1px) left -1px top 1px/10px 10px,
radial-gradient(black 1px, transparent 1px) left 1px top -1px/10px 10px,
radial-gradient(black 1px, transparent 1px) left 1px top 1px/10px 10px;
}
.variant3 {
background:
radial-gradient(black 1px, transparent 1px) left -1px top -1px/10px 10px,
radial-gradient(black 1px, transparent 1px) left -1px top/10px 10px,
radial-gradient(black 1px, transparent 1px) left -1px top 1px/10px 10px,
radial-gradient(black 1px, transparent 1px) left top -1px/10px 10px,
radial-gradient(black 1px, transparent 1px) left top/10px 10px,
radial-gradient(black 1px, transparent 1px) left top 1px/10px 10px,
radial-gradient(black 1px, transparent 1px) left 1px top -1px/10px 10px,
radial-gradient(black 1px, transparent 1px) left 1px top/10px 10px,
radial-gradient(black 1px, transparent 1px) left 1px top 1px/10px 10px;
}
НО! если учесть то что код пишется в формате "use strict".
А формат "use strict" подразумевает обязательное объявление переменных. То проверка typeof в кода в формате "use strict" становится полностью эквивалентной проверки (varName === udnefined).
Как мне ниже объяснил Robur, что проверка typeof имеет смысл только для старых браузеров или для старого кода в где раньше писали проверки только через двойное равно.