This question already has answers here:
JavaScript check if variable exists (is defined/initialized)
(32 answers)
Closed 6 years ago.
I thought my object detection would work:
if (Notification!=undefined) {}
However my JavaScript log is still showing the following error:
Uncaught ReferenceError: Notification is not defined
How do I properly do object detection for the Notification object?
No frameworks.
You can use typeof like so:
if (typeof Notification !== 'undefined') {
}
If you use typeof, it does not try to actually use the variable (which breaks and throws an error)
Related
This question already has answers here:
JavaScript check if variable exists (is defined/initialized)
(32 answers)
Closed 3 years ago.
Please read the question before marking duplicate. This isn't about an undefined variable. It's about variables which don't exist in the namespace.
I'm working on a codebase which is run in browser and in nativescript. The globals differ between the two. For instance, I'd like to check if window exists at all, but something like this:
if (!!window) {
}
will throw an error:
JS ERROR ReferenceError: Can't find variable: window
Is there a way to test whether or not a variable exists in js (not just undefined)?
You could use a try/catch statement.
try {
if (!!someVariable) {
console.log('yep');
}
} catch {
console.log('nope');
}
You need to use the typeof operator to see if a variable exist or no
you need to test if the variable you are concerned with is undefined of null like so :
if (typeof variable === 'undefined' || variable === null) {
// variable does not exist
}
This question already has answers here:
JavaScript check if variable exists (is defined/initialized)
(32 answers)
Closed 3 years ago.
Simple question but i'm stuck for a while on it.
I need to check if a var is defined, before execute some taks.
So i try this
if (myVar !== null) alert('myVar is not null');
But when i do this and myVar is not defined, an exception is threw :
Uncaught ReferenceError: myVar is not defined at :1:1
So how to solve this dilema ?
You can use type of
if (typeof variable !== 'undefined') alert('myVar is not null');
This question already has answers here:
JavaScript check if variable exists (is defined/initialized)
(32 answers)
Closed 6 years ago.
I want to check if a variable is undefined and quickly found some stackoverflow answers that said the correct way to do it is to test if(variable==null). But in Chrome I am getting an error saying:
Uncaught ReferenceError: xdate is not defined
Huh? The whole reason I am testing is so I don't get errors like this. And I did it just like the approved stackoverflow answers.
Here is my code snippet.
if (xdate == null){
var dateadd = "";
} else {
var dateadd = "&date="+date;
}
use something like this to verify whether variable is undefined or not
if (typeof something === "undefined") {
alert("something is undefined");
}
This question already has answers here:
Create shortcut to console.log() in Chrome
(4 answers)
Uncaught TypeError: Illegal invocation in JavaScript
(2 answers)
Illegal Invocation error when console.log passed in a function
(1 answer)
Closed 8 years ago.
I have javascript code that raises an alert if it's being run in the browser, but which I don't want to raise alerts when I run unit tests.
I tried to solve this by having a line
if( allowAlerts === false ){
alert = console.log;
}
but when I then run
alert("This bad thing happened");
I get back
TypeError: Illegal invocation
directly reassigning alert was a kludgey solution, and I can easily solve the problem in other ways, but I've never come across an illegal invocation error before and was hoping someone could explain what it means.
The console.log function needs its calling context to be the console.
Use
alert = console.log.bind(console);
Or if you want to be compatible with old IE :
alert = function(){ console.log.apply(console, arguments) };
This question already has answers here:
Detecting an undefined object property
(50 answers)
How can I determine if a variable is 'undefined' or 'null'?
(34 answers)
Closed 9 years ago.
I would like to check to see if a particular attribute of a DOM element is undefined - how do I do that?
I tried something like this:
if (marcamillion == undefined) {
console.log("Marcamillion is an undefined variable.");
}
ReferenceError: marcamillion is not defined
As you can see, the reference error is telling me that the variable is not defined, but my if check is clearly not working, because it is producing the standard js ReferenceError as opposed to the error message I am looking for in my console.log.
Edit 1
Or better yet, if I am trying to determine if the attribute of an element is undefined like this:
$(this).attr('value')
What would be the best way to determine if that is undefined?
Using typeof:
if (typeof marcamillion == 'undefined') {
console.log("Marcamillion is an undefined variable.");
}
Edit for the second question:
if ($(this).attr('value')) {
// code
}
else {
console.log('nope.')
}
if (typeof marcamillion === 'undefined') {
console.log("Marcamillion is an undefined variable.");
}
Note that using === instead of == is considered better style.