1. 程式人生 > >javascript程式碼中!!的含義

javascript程式碼中!!的含義

眾所周知,! 表示“非”的意思。

在javascript中,!! 的意思是兩次取“非”。

先看示例,這樣做的好處隨後再表。

1)a為空字串。

var a = "";
var b = !!a;
//!a = true;
//b = false;

2)a的值是undefined。

var a;
var b = !!a;
//!a = true;
//b = false;

3)a的值是null。

var a = null;
var b = !!a;
//!a = true;
//b = false;

4)a的值是0。

var a = 0;
var b = !!a;
//!a = true;
//b = false;

在javascript中,當一個變數的值是(null/undefined/""/0)時,它的非的值是true。

兩次取非可以達到將緊隨其後的表示式強制轉換為相應的布林型別。

因此,對於沒有明確值的變數,對其兩次取非後結果為false。

注意:

一定要對空字串和字串是空格加以區別。

當變數a的值是"",也就是空字串時,!!a的值是false;

當變數a的值是" ",也就是空格(引號裡是空格)的情況下,!!a的值是true。