js の一般的でない演算子と演算子の概要

js の一般的でない演算子と演算子の概要

一般的な演算子と JavaScript の演算子の概要

カテゴリ

オペレーター

算術演算子+、–、*、/、%(剰余)
文字列演算子+ 文字列連結 += 文字列連結複合
ブール演算子! 、&&、||
単項演算子++、--、+(単項プラス)、-(単項マイナス)
関係比較演算子<、<=、>、>=、!=、==、===、!==
ビット演算子~ ビット単位の NOT & ビット単位の AND | ビット単位の OR ^ ビット単位の XOR <<左シフト >>符号付き右シフト >>>符号なし右シフト
代入演算子=、複合代入 (+=、-=、*=、%=)、複合ビット代入 (~=、&=、|=、^=、<<=、>>=、>>>=)
オブジェクト演算子.プロパティ アクセス、[] プロパティまたは配列アクセス、新しい呼び出しコンストラクタ共通オブジェクト、削除変数プロパティ削除、void (undefined を返す)、判定プロパティ、instanceof プロトタイプ判定
その他のオペレーター?: 条件演算子、カンマ演算子、() グループ化演算子、typeof 型演算子

js の珍しい演算子と演算子

Null 合体演算子: ??

左のオペランドが null または undefined の場合は右のオペランドを返し、それ以外の場合は左のオペランドを返します。

null ?? 'huli' // huli
未定義?? 'huli' // 未定義
'' ?? 'フリ' // ''
[] ?? 'フリ' // []
({}) ?? 'フリ' // {}
NaN ?? 'フリ' // NaN
false ?? 'huli' // false
0 ?? 'フリ' // 0

論理ヌル代入: ??=

論理 null 代入演算子 (x ??= y) は、x が null 値 (null または未定義) である場合にのみ x に値を割り当てます。

定数a = { 期間: 50 };

a.期間 ?? = 10;
console.log(a.duration);
// 期待される出力: 50

a.速度 ?? = 25;
console.log(a.speed);
// 期待される出力: 25

論理和: ||

存在が真実ならば、それは真実であり、前の

定数a = 3;
定数b = -2;
console.log(a > 0 || b > 0); // 真

誤った値になる可能性がある

ヌル
未定義
非N
"" そして''
0
間違い

論理和代入: ||=

はいの場合は戻り、いいえの場合は値を割り当てる

const a = { 期間: 50、タイトル: '' };

a.期間 || = 10;
console.log(a.duration);
// 期待される出力: 50

a.title ||= 'タイトルが空です。';
コンソールにログ出力します。
// 期待される出力: "タイトルが空です"

論理積: &&

両方が存在する場合は、後者のほうが真です。

定数a = 3;
定数b = -2;

コンソールにログ出力します。(a > 0 && b > 0);
// 期待される出力: false

論理 AND 割り当て: &&=

存在する場合は割り当てる

a = 1 とします。
b = 0 とします。

&&= 2;
コンソールにログ出力します。
// 期待される出力: 2

2 は 0 です。
コンソールログ(b);
// 期待される出力: 0

オプションの連鎖演算子: ?。

オプションの連鎖演算子 (?.) を使用すると、チェーン内の各参照が有効であることを明示的に検証することなく、接続されたオブジェクトのチェーンの奥深くにあるプロパティの値を読み取ることができます。 ?. 演算子は . 連鎖演算子と同様に機能しますが、参照が null の場合 (null または undefined) にエラーが発生する代わりに、式が短絡して undefined を返す点が異なります。関数呼び出しで使用する場合、指定された関数が存在しない場合は undefined が返されます。

const 冒険者 = {
  名前: 'アリス'、
  猫: {
    名前: 「ダイナ」
  }
};

定数 dogName = 冒険者.dog?.name;
console.log(犬の名前);
// 期待される出力: 未定義

console.log(冒険者.何らかの存在しないメソッド?.());
// 期待される出力: 未定義

要約する

js の珍しい演算子と演算子に関するこの記事はこれで終わりです。より関連性の高い js 演算子と演算子については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • これまでにないほど詳細に解説されたJavaScript演算子
  • 一般的でない js 演算演算子の概要
  • JavaScript の基本演算子
  • JS の効率的なマジック演算子の概要
  • JS のあらゆる場所で絶対等価演算子の使用をやめる
  • いつものJS演算子の説明を見てみましょう

<<:  Linux における効果的なユーザー グループと初期ユーザー グループの実装

>>:  Windows に異なる (2 つの) バージョンの MySQL データベースをインストールする詳細なチュートリアル

推薦する

CSS における位置指定の概要

CSS には 4 種類の配置方法があり、シナリオによって効果が異なります。ここでは、これら 4 種類...

LinkedIn がウェブサイト閲覧を簡素化するためにリニューアル

ビジネス ソーシャル ネットワーキング サイト LinkedIn は最近、ナビゲーション バーとユー...

HTMLウェブページテーブル構造化マークアップの応用に関する簡単な説明

Web テーブルの構造マークアップについて説明する前に、いくつかの画像を見てみましょう。 HTML ...

シンプルなショッピングカートの最も完全なコード分析を実装する JavaScript (ES6 オブジェクト指向)

この記事では、シンプルなショッピングカートを実装するためのJavaScriptの具体的なコードを参考...

VMware vSAN 入門概要

1. 背景1. vSphere の共有ストレージの背景を簡単に紹介するvSphere の重要な機能は...

CSS 動的読み込みバー効果のサンプルコード

CSS変数の知識を使って、追加したコードとコメントを直接投稿します <!DOCTYPE htm...

Tomcatを自動的に開始するサービスとして設定するにはどうすればいいでしょうか?最も簡単な方法

Tomcat が自動的にサービスを開始するように設定します。最近、問題が発生しました。サーバー上のプ...

MySQL 8.0.15 圧縮版インストール グラフィック チュートリアル

この記事では、参考までにMySQL 8.0.15圧縮版のインストール方法を紹介します。具体的な内容は...

初心者向けMySQLインデックス

序文MySQL インデックスで最も重要なデータ構造は B+ ツリーなので、まずは B+ ツリーの原理...

mysql ビュー関数の分析と使用例

この記事では、例を使用して MySQL ビューの機能と使用方法を説明します。ご参考までに、詳細は以下...

Ubuntu16.04 インストール mysql5.7.22 グラフィックチュートリアル

VMware12.0+Ubuntu16.04+MySQL5.7.22 インストールチュートリアルの詳...

Linux で Squid プロキシ サーバーを構築するための完全な手順

序文この記事では、Linux で Squid プロキシ サーバーを設定することに関する関連コンテンツ...

Vue3 での watchEffect の使用に関する簡単な分析

序文誰もが vue2 の watch API に精通している必要があります。vue2 の vue イ...

Linux のスケジュールタスク Crontab コマンドの使用に関する詳細な説明と概要

crontab コマンドは、Unix および Linux で定期的な実行命令を設定するために使用され...

JS+Canvas でダイナミックな時計効果を実現

参考までに、Canvas をベースにしたダイナミッククロックのデモを用意しました。具体的な内容は次の...