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アーキテクチャのコンセプト - それは人によって異なり、ベストなものはなく、適切なものだけがある

はじめに<br />私はフロントエンド分野でかなり長い間働いており、CSS分野でも長い間...

クールな充電アニメーションを実現する純粋なCSS

CSS のみを使用してどのような充電アニメーション効果を作成できるかを見てみましょう。バッテリーを...

CSS スタイルの競合を解決するいくつかの方法 (要約)

1. セレクターを調整するコンビネータを使用すると、セレクターの説明をより正確に記述できます (C...

CSS でフロートとマージンを混合するサンプルコード

最近の勉強で、GitHub でレイアウトの練習をいくつか見つけたのですが、レイアウトにまったく慣れて...

MySQL で 2 つのテーブルをクエリする場合の from と join の違いの概要

序文MySQL では、複数テーブル結合クエリは非常に一般的な要件です。複数テーブルクエリを使用する場...

CSS3 クリアフロートメソッドの例

1. 目的この記事を通じて、誰もがフロートをクリアする原理と方法を理解し、最終的にこの記事が最良であ...

IDEA が docker を統合して springboot プロジェクトを展開するプロセス全体

目次1. IDEAはdockerプラグインをダウンロードします2. クラウドサーバーDocker 2...

Web コンテンツ ページを作成するための 9 つの実用的なヒント

コンテンツ1. 読者に留まる理由を与える。ウェブページを面白く魅力的なものにしましょう。しかし、まず...

Docker は Python Flask+ nginx+uwsgi コンテナを構築します

Nginxをインストールするまずcentosイメージをプルしますdocker pull centos...

js はマウスによる画像の切り替えを実装します (タイマーなし)

この記事の例では、マウス切り替え画像を実現するためのjsの具体的なコードを参考までに共有しています。...

Docker を使用して pypi プライベート リポジトリを構築する方法

1. 建設1. htpasswd.txtファイルを準備するファイルには、パッケージを倉庫にアップロー...

Dockerコンテナを使用する簡単な例

目次1. イメージをプルする2. イメージを実行する3. コンテナ内でアプリケーションをテストする4...

MySQLの実行原理、論理階層化、データベース処理エンジンの変更について詳しく説明します

長い間 MySQL を使ってきたので、SQL 文はすでに覚えていると思います。そこで、その実行原理を...

Linux sedコマンドの使用

1. 機能紹介sed (Stream EDitor) は、コンテンツを 1 行ずつ処理するストリーム...

NavicatがMySQL8.0.11に接続するとエラー2059が発生する

間違いNavicat Premium を使用して MySQL に接続すると、次のエラーが発生します。...