ダブル・バンとは何かJavaScriptの演算子?
7126 ワード
すべての値はJavaScriptの真偽値または虚偽値を持ちます.例えば、
それが何であるか、そして、それがどのように働くかに深く飛び込みましょう.
The
対応するブール値.言い換えれば、それが真実であるか偽りの価値であるかどうかによると、真実か間違っています.
Boolean trueに関連付けられている値は真であると言われています.Boolean False値に関連付けられている値はFalsyです.
真の値
JavaScriptでは、真の値はブール値コンテキストで遭遇したときにtrueと見なされる値です.
以下の値は、JavaScriptがtruthysであると考えられる例がほとんどありません. 対象: 配列 空の文字列ではありません: ゼロ以外の数: 日付 以下の例では、変数
虚偽値
虚偽値は、ブール値コンテキストで遭遇したときにfalseと見なされる値です.
以下の値は、JavaScriptがFalseyであると考えられる例のほとんどです. 空の文字列: 以下の例では、変数
タイプキャスティングのためにどのように使用できるかを見てみましょう.
ありがとう!
null
valueの論理値はfalseです.同様に34
の値が真である.これを使用して、二重バン演算子を使用して、変数をtrueまたはfalseにキャストできます.それが何であるか、そして、それがどのように働くかに深く飛び込みましょう.
The
!
JavaScriptでも、“bang”と呼ばれる、“論理”演算子です.ブール値の前にこの演算子を置くと、値を逆にして逆を返します.!true // returns false
!false // returns true
isTrue = true // variable which is boolean
!isTrue // returns false
シングルBangが逆のブール値を返すならば、ダブルバンが何を返すか想像してください?対応するブール値.言い換えれば、それが真実であるか偽りの価値であるかどうかによると、真実か間違っています.
Boolean trueに関連付けられている値は真であると言われています.Boolean False値に関連付けられている値はFalsyです.
!!true // returns true
!!false // returns false
isTrue = true // variable which is boolean
!!isTrue // returns true
我々はこれを使用することができますダブルバングを使用して非ブール値もかなりクールです.isNumber = 34 // variable which is not boolean
!!isNumber // returns true
真の値
JavaScriptでは、真の値はブール値コンテキストで遭遇したときにtrueと見なされる値です.
以下の値は、JavaScriptがtruthysであると考えられる例がほとんどありません.
{}
[]
"anything"
3.14
new Date();
something
はJavaScriptで真の値を持つ空でない文字列値を持ち、コンソールは最初のメッセージを出力します.var something = ‘string’;
if (!!something) {
console.log('This is truthy')
} else {
console.log('This is falsey')
}
リンクの詳細についてはhere .虚偽値
虚偽値は、ブール値コンテキストで遭遇したときにfalseと見なされる値です.
以下の値は、JavaScriptがFalseyであると考えられる例のほとんどです.
""
0
null
undefined
NaN
そして、以下のfalsy値のリスト.nothing
は0
JavaScriptでは偽の値を持っており、コンソールは2番目のメッセージを出力します.var nothing = 0;
if (!!nothing) {
console.log('This is truthy')
} else {
console.log('This is falsey')
}
Falsyの値についてのリンクを見つけることができますhere .タイプキャスティングのためにどのように使用できるかを見てみましょう.
function BankAccount(cash) {
this.cash = cash;
this.hasMoney = !!cash;
}
var myAccount = new BankAccount(80);
console.log(myAccount.cash); // expected result: 80
console.log(myAccount.hasMoney); // expected result: true
var emptyAccount = new BankAccount(0);
console.log(emptyAccount.cash); // expected result: 0
console.log(emptyAccount.hasMoney); // expected result: false
そして、それはそれを合計!ありがとう!
Reference
この問題について(ダブル・バンとは何かJavaScriptの演算子?), 我々は、より多くの情報をここで見つけました https://dev.to/sanchithasr/what-is-the-double-bang-operator-in-javascript-4i3hテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol