I often see the situation in javascript code. This article analyzes the usage of 2 exclamation marks in javascript in an example form in a more in-depth manner. Share it for your reference. The specific analysis is as follows:
The !! in javascript is logical "non-non", that is, "non" again on the basis of logical "non". Through! or!!, many types can be converted into bool types and other judgments can be made.
1. Application scenario: Determine whether an object exists
Suppose there is such a json object:
{ color: "#E3E3E3", "font-weight": "bold" }It needs to be judged whether it exists, use it!! It's best.
If you just print the object, you cannot determine whether it exists:
var temp = { color: "#A60000", "font-weight": "bold" };alert(temp);Result: [object: Object]
If you implement a json object! or !!, you can determine whether the json object exists:
var temp = { color: "#A60000", "font-weight": "bold" };alert(!temp);Result: false
var temp = { color: "#A60000", "font-weight": "bold" };alert(!!temp);Result: true
2. Convention of converting various types into bool types through! or!
1. Return true for null's "non"
var temp = null;alert(temp);
Results: null
var temp = null;alert(!temp);
Result: true
var temp = null;alert(!!temp);
Result: false
2. Return true for undefined "non"
var temp;alert(temp);
Results: undefined
var temp;alert(!temp);
Result: true
var temp;alert(!!temp);
Result: false
3. Return true for "non" of an empty string
var temp="";alert(temp);
Result: empty
var temp="";alert(!temp);
Result: true
var temp="";alert(!!temp);
Result: false
4. Return false for non-zero integer "non"
var temp=1;alert(temp);
Results: 1
var temp=1;alert(!temp);
Result: false
var temp=1;alert(!!temp);
Result: true
5. Return true for "non" of 0
var temp = 0;alert(temp);
Results: 0
var temp = 0;alert(!temp);
Result: true
var temp = 0;alert(!!temp);
Result: false
6. Return false for "non" string
var temp="ab";alert(temp);
Results: ab
var temp="ab";alert(!temp);
Result: false
var temp="ab";alert(!!temp);
Result: true
7. Return false to "non" of the array
var temp=[1,2];alert(temp);
Results: 1,2
var temp=[1,2];alert(!temp);
Result: false
var temp=[1,2];alert(!!temp);
Result: true
I believe that the description in this article has certain reference value for everyone's learning of JavaScript programming.