1ブール値を変換する
従来のブールに加えてtrue
とfalse
JavaScriptを、超えた「truthy」または**「falsy」なども、他のすべての値**。
特に定義しない限り、すべての値は、 'truthyのJavaScriptでを除いている0
、、 、、そして、もちろん、これらは「falsy」**です**“”
null
undefined
NaN
false
負の算術演算子を使用するtrue
と、とを簡単にfalse
切り替えることができます。また、タイプを「ブール」に変換します。
const isTrue = !0;
const isFalse = !1;
const alsoFalse = !!0;
console.log(isTrue); // Result: true
console.log(typeof true); // Result: "boolean"
2数値を変換する
加算演算子を使用+
すると、逆の効果をすばやく実現できます。
let int = "15";
int = +int;
console.log(int); // Result: 15
console.log(typeof int); Result: "number"
これは、以下に示すようにブール値を数値に変換するためにも使用できます
console.log(+true); // Return: 1
console.log(+false); // Return: 0
一部のコンテキストで+
は、加算演算子ではなく連結演算子として解釈されます。これが発生した場合(浮動ではなく整数を返したい場合)、2つのチルダを使用できます~~
。
2つのウェーブを連続して使用すると、操作が事実上無効になります— ( — n — 1) — 1 = n + 1 — 1 = n
。言い換えれば、に~—16
等しい15
。
const int = ~~"15"
console.log(int); // Result: 15
console.log(typeof int); Result: "number"
多くのユースケースを考えることはできませんが、ビット単位のNOT演算子はブール値:~true = \-2
および~false = \-1
。にも使用できます。
3文字列を変換する
数値を文字列にすばやく変換するには、連結演算子の+
後に空の引用符のセットを使用します""
。
const val = 1 + "";
console.log(val); // Result: "1"
console.log(typeof val); // Result: "string"
4浮動小数点数から整数
あなたは整数に浮動小数点数を変換したい場合は、それを使用することができMath.floor()
、Math.ceil()
またはMath.round()
。ただし、|(ビット単位のOR演算子)を使用して浮動小数点数を整数に切り捨てるより高速な方法があります。
console.log(23.9 | 0); // Result: 23
console.log(-23.9 | 0); // Result: -23
|動作は正の数と負の数のどちらを扱っているかによって異なるため、このショートカットは確実な場合にのみ使用することをお勧めします。
n
正の場合は、n | 0
実質的に切り捨てられます。n
負の場合は、実質的に切り上げられます。より正確には、この操作は小数点以降のすべてを削除し、浮動小数点数を整数に切り捨てます。
~~
上記のように、を使用して同じ丸め効果を得ることができます。実際、ビット演算子を使用すると、浮動小数点数が整数になります。これらの特別な操作は、整数に強制されると値が同じままであるため、効果的です。
最後の番号を削除します
按位或
演算子を使用して、整数の末尾から任意の桁数を削除することもできます。これは、タイプ間で変換するためにそのようなコードを使用する必要がないことを意味します。
let str = "1553";
Number(str.substring(0, str.length - 1));
代わりに、ビットごとのOR演算子は次のように記述できます。
console.log(1553 / 10 | 0) // Result: 155
console.log(1553 / 100 | 0) // Result: 15
console.log(1553 / 1000 | 0) // Result: 1
6配列の最後の項目を取得します
arrayメソッドslice()
は負の整数を受け入れることができ、指定すると、配列の先頭の値ではなく、配列の末尾の値を受け入れます。
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(array.slice(-1)); // Result: [9]
console.log(array.slice(-2)); // Result: [8, 9]
console.log(array.slice(-3)); // Result: [7, 8, 9]
7es6アレイの重複排除
SetオブジェクトタイプはES6で導入されました。展開操作と一緒に...一緒に使用して、一意の値のみを持つ新しい配列を作成できます。
const array = [1, 1, 2, 3, 5, 5, 1]
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // Result: [1, 2, 3, 5]
この技術は基本含む配列に適用されるundefined
:タイプをnull
、boolean
、、string
とnumber
。(オブジェクト、関数、またはその他の配列を含む配列がある場合は、別のアプローチが必要です!)