Drawing a bank when it comes to!

sorry I know I often don’t word my questions well But here I go.
I am having trouble remembering what the exclamation point ( ! ) means. I think I recall it used like this.
!= is strictly not equal
But in the third challenge of Basic Algorithm Scripting it says " Factorials are often represented with the shorthand notation n!
and the example is : 5! = 1 * 2 * 3 * 4 * 5 = 120 dose the exclamation point mean that five dose not equal 1 * 2 * 3 * 4 * 5 = 120 .or what is the meaning or reason for the exclamation point.
Thank you, Gabe.

In Javascript (and most programming languages), ! is the negation operator. != is “not equal to”. !true is “false”. In math, ! is shorthand for “factorial”.

1 Like

So ! is simply read as ‘not’ in javascript. It specifically switches a “true” value to a “false” one.

But yes, in print (in mathematics), the exclamation point is used to denote a factorial. So in the case of 5!, it simply means 5! == 5*4*3*2*1.

Note that, in javascript, the above line will do all kinds of weird things. It will assume the exclamation is a inverse operator, and attempt to do something… I can’t even guess what.

1 Like

Great, thank you very much.

Thank you very much. again you have been a great help:smiley:

In this case you’ll end up with a syntax error. The Logical NOT operator should precede what it’s meant to negate, and a space isn’t a legal character for it to precede.

Now, if you changed up the spacing just a bit and evaluated 5 !== 5*4*3*2*1, it’ll return as true.

Alternatively, if you swapped the order around and evaluated !5, it would evaluate as false. This is because non-zero integers in JS are truthy. And you’d just be negating that truthy with the NOT operator.

1 Like

Yeah, I just had nowhere near enough coffee in me yet. :wink:

Well said, though, and exactly right.