# Not operator

Category:Math

## Not operator

Category: Math

Returns false if the expression is true; otherwise, returns true.

You can stick a NOT (!) in front of any boolean expression to invert its result. This opens the door to express the same logical statements in different ways.

### Examples

```// Truth table for the boolean NOT operator.
console.log(!true);
console.log(!false);
```

Example: Take Your Temperature Check (two different ways) for temperature in a good range or not.

```// Check for temperature in a good range or not.
textInput("tempID", "");
button("buttonID", "Submit");
textLabel("tempMessageID1", "");
textLabel("tempMessageID2", "");
onEvent("buttonID", "click", function(event) {
setText("tempMessageID1","");
setText("tempMessageID2","");
var temp = getText("tempID");
if (!(temp >= 98 && temp <= 99.5) ) {
setText("tempMessageID1", "You may be sick.");
}
else {
}
if (!(temp >= 98) || !(temp <= 99.5) ) {
setText("tempMessageID2", "You may be sick.");
}
else {
}
});
```

Example: Working 9 to 5 Determines if it is currently working hours.

```// Determines if it is currently working hours.
function IsWorkingHours() {
var now = new Date();
var hours = now.getHours();
var workHours = false;
if (hours >= 9 && hours < 17) {
workHours = true;
}
return workHours;
}

if (!IsWorkingHours()) {
console.log('take a break');
} else {
console.log('get to work');
}
```

### Syntax

```!expression
```

### Parameters

Name Type Required? Description
expression boolean Yes The boolean expression to invert the result of.

### Returns

Boolean true or false

### Tips

• Some complex decisions can sometimes be rewritten to use an ! operator. It is fine to choose whichever reads clearest.

Found a bug in the documentation? Let us know at documentation@code.org

```!__
```

## Returns

Boolean (true/false) value

Found a bug in the documentation? Let us know at documentation@code.org