Recently ran into some JS code that uses ` and '. I can't figure out if there is a different use for each apostrophe. Is there any?
!== means that two variables are being checked for both their value and their value type ( 8!== 8 would return false while 8!== "8" returns true). !=
& is a bitwise operator and compares each operand bitwise. It is a binary AND Operator and copies a bit to the result if it exists in both operands. (A & B) will give 12 which is 0000 1100. Whereas && is a logical AND operator and operates on boolean operands.
The strict equality operator ( === ) behaves identically to the abstract equality operator ( == ) except no type conversion is done, and the types must be the same to be considered equal. The == operator will compare for equality after doing any necessary type conversions.
Since == doesn't bother with types, that returns true. However, if you want strict type checking, you'd use === because that returns true only if the it's of the same type, and is the same value. positions. Two numbers are strictly equal when they are numerically equal (have the same number value).
'
or "
denotes a string
`
denotes a template string. Template strings have some abilities that normal strings do not. Most importantly, you get interpolation:
var value = 123; console.log('test ${value}') //=> test ${value} console.log(`test ${value}`) //=> test 123
And multiline strings:
console.log('test test') // Syntax error console.log(`test test`) // test // test
They have some other tricks too, more on template strings here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings
Note they are not supported in all javascript engines at the moment. Which is why template strings are often used with a transpiler like Babel. which converts the code to something that will work in any JS interpreter.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With