2019-01-18論理演算子のアンドの特殊用法について、学んでおきます。論理演算子については書いてきました。前の記事もご参考ください。論理演算子OR「||」の特殊な用法についてはこちらです。ビット演算子OR「||」の特殊な用法ORのところでも書きましたが、人の書いたコードを読むとき、自分が理解していないような記法が使われていたりすると、そこで全くプログラムの動きがわからなくなってしまいます。特殊な記法であっても読み解く必要があります。自分ではこんな変な記法は使わない、という場合でも、知っておく必要があるんですよね。プログラミングとは難しいものですよ。ANDの特殊記法ではサンプルコードをみてみます。表示される特殊用法として使われるのは[4][5][6][7]の使い方です。これを説明するために[1][2][3]を書いています[1]は普通の使い方ですね。[2]は、ちょっと普通じゃないです。数値と数値を「&&」でつなぐと、false属性があるものが返ります。[2]が2つありますが両方とも同じですね。属性を持つので、後ろに指定した値が表示されます。非常にわけがわかりませんが、こんな仕組みがあります。この記述方法は実際にはほぼ使い道がなく読みにくいので通常はみかけません。ところが、[4]と[5]になると、みかけます。これは主にReactというライブラリを使うときに見かけることが多いような気がしますが、特にReactの何かを使っているということではなくて、JSの標準的な文法なんです。値によって判断しているのです。false属性の値がわたされると、描画しないんです。[6][7]の記法が成り立ちます。描画しない、という処理を行うために、こういう記法がされるわけです。いやあ、超絶ややこしいです。いって「読みやすいコード」を推奨している私としては、こんな書き方をされているプログラムは、ひどい糞コードに思えるのですが、React界隈では流行っている記法なので、よく見かけるんです。ぶっちゃけますが、超ダサー、というコードなのですが、React好きで、物珍しいことが好きで「最新」が好きな二流のプログラマに人気がある記法になります。うちのページで読んでいる人には、こんな糞コードは書いてほしくないのですが、しかし、この記述方法を知らないと、二流の人に「こんなコードもしらないの?」みたいに馬鹿にされたりするので、きっちり知っておかないといけません。プログラマって、なかなか疲れますが、まあ、いいでしょう。まとめるとということで、下記のコードの[A]と[B]はほぼ同じ処理になります。書いて、ブイブイ言わせるような、イケイケ最新プログラマにとっては、[A]の書き方が「ナウい」わけです。私からしたら「珍走団」に近いくらいの、下手くそなプログラマなんだなと思いますが、時代の流れですかね。「&&」を使ってこのように書けるということを理解しておいてください。こんなわけわからない記法を書かなくてもいいのですが、再三書いているように、これを理解しないとプログラムの動きを読み取ることができません。学んでおいてください。Reactだけに限らない、JavaScriptの罠の一つ、です。ひどいコードだとわかるから誰もがこの記法を避けて書かないコード、なのではなく、これをひどいコードだと見抜けない人が多くいて罠だとわからない人が「短く書けるからいいんだ!」と思い込んで多用するから、世の中にこのひどいコードがあふれんばかりに使われている、ということが、根深い罠になっています。PMコメントありがとうございます。笑っていただいて良かったです。(俺のことが笑われてたら悲しいですが...w)React界隈の上級者もどきの中級者の人たちが多用しているので、けっこう困りものです。それを真似して育っていく方々も多いので。いつか、そういう方々も気がついてくれるといいのにな。読みにくいのに書かないでほしいと思うのと「俺この記法知ってる!だから使ってみる!」という人が、結局不具合を出しやすい記法だとはわかっていない、という問題があり、ほんと、この雑なコードを書くのをやめてもらいたいです。PM!そうでしたか?!調べて、必要なら修正します。ありがとうございます。ビット演算子は、単独記号だったかな。AM匿名さん、ご指摘、大変ありがとうございました。ビット演算子と論理演算子、名前をすっかり間違えていました。コメントをキャンセルメールアドレスが公開されることはありません。論理演算子OR「||」の特殊な用法JavaScriptは少し特殊な言語なので一見読みにくい変な書き方がよく使われていたりします。タグリンク、WSH、JavaScriptプラットホームにフルで対応しました。真偽値を表し、コンピュータプログラムでは非常に重要な型です。どちらかの値のみをとります。ついて使っていました。あまりにも基本で、何を書いていいのやら、という感じもします。Webページもプログラムも、全て文字列でできているといえますので、様々な場面での基本中の基本となるものです。「-=」は、減算(デクリメント)代入演算子、と呼ばれます。限ることではないですが、現代の主なプログラミング言語の変数には値型と参照型というものがあります。英語でいうとプリミティブタイプとリファレンスタイプと呼ばれるようです。これのどちらがいいとか悪いとかはありません。中級者向けの記事になります。定数定義を行うときに、関連した複数の値をまとめたいときがあります。いうときにどのように書くのがよいのか、ということについてまとめておきます。エンジニアには切っても切り離せないほどに重要なプラットホームです。三項演算子プロフィールこんにちは。ゼロプラスワンのやまです。技術的に困難なプロジェクトのマネージメントとコンサルタントもアーキテクトの目線で行います。JavaScriptプログラミング、仕事のノウハウ、ビジネスマンとして生き残る知恵を書いていきます。プログラミングの勉強の個別の相談、また、仕事の相談や依頼、メールで受け付けます。エッセイが大変好きです。プログラマとして人生を生きるよいヒントをたくさんいただきました。中級者向けの記事になります。定数定義を行うときに、関連した複数の値をまとめたいときがあります。いうときにどのように書くのがよいのか、ということについてまとめておきます。ループは指定回数をループするという単純な場合に使われます。ループというものがあります。いう傭兵の戦い方-3続きました。前回の記事はこちらです。ITの仕事現場ではいくつかの契約形態の人がいます。いう傭兵の戦い方-2続きです。前回の記事はこちらです。いう傭兵の戦い方-1以前、フリーランスのエントリーを書いたりしました。どちらを学ぶか迷っています。いう質問いただきました。コメントで質問いただきました。どなたも何か聞きたいことあったらコメントくださいね。タグリンク、WSH、JavaScriptプラットホームにフルで対応しました。始めるテスト駆動開発。なんかテスト駆動開発記事が人気みたいですので、より詳しい続きを書きますね。閲覧される人気の記事はこちらです。...プログラマ全般2019/05/06フリーランスという個人ビジネスをしてから気がついた一番大きなこと。それが成功の鍵だった。