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 データベースをインストールする詳細なチュートリアル

推薦する

ZabbixはSNMPに基づいてLinuxホストを監視します

序文: Linux ホストは、エージェント プログラムをインストールする場合でも、SNMP を使用す...

Vue プロジェクトに ECharts を導入する

目次1. インストール2. はじめに3. 使用4. 必要に応じてEChartsチャートとコンポーネン...

LinuxにRocketMQインスタンスをインストールする手順

1. JDKをインストールする1.1 現在の仮想マシン環境にJDKがあるかどうかを確認する rpm ...

Nginx プロキシ使用時にヘッダーに「_」が含まれることで情報が失われる問題の解決方法

序文ゲートウェイプロジェクトを開発する場合、署名 sign_key 情報はリクエスト時にリクエスト ...

DockerのTLS(SSL)証明書の有効期限の問題を解決する

問題現象: [root@localhost ~]# docker イメージをプル xxx.com.c...

bodyタグの主な属性の概要

bgcolor="テキストの色" background="背景画像&q...

MySQL 5.7 の一時テーブルスペースを使用して落とし穴を回避する方法

導入MySQL 5.7 は、SSL/TLS と全体的なセキュリティ開発におけるいくつかの重要な変更に...

ページ要素の絶対位置と相対位置に関するある程度の理解

今日から、定期的にちょっとした豆知識を整理していきます。簡単なものもあるかもしれませんが、どれも役に...

Portainer を使用して Docker のビジュアル インターフェースを構築する方法

ポーテナーの紹介Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な...

ショートカットアイコンとアイコンコードの違いの紹介

ステートメント 1: <link rel="shortcut icon" ...

Vue はモバイル端末にマルチグリッド入力ボックスを実装

最近、同社は、下図に示すように、h5 ページ操作を完了するという要件を提示しました。 ネットで入手で...

JavaScript で 9 グリッドのモバイル パズル ゲームを実装

この記事では、Jiugonggeモバイルパズルゲームを実装するためのJavaScriptの具体的なコ...

HTML に CSS を導入するいくつかの方法の紹介

目次1. HTMLタグ要素にCSSスタイルを直接埋め込む2. HTMLのheadセクションにおけるス...

DockerはRedisを起動し、パスワードを設定します

RedisはRedisバージョン5のapline(Alps)イメージを使用します。これは小さくて高速...

操作例 MySQL ショートリンク

MySQL ショートリンクの設定方法1. mysql 接続番号ステートメントコマンドを確認します。 ...