はてなキーワード: JavaScriptとは
phpの場合、<?php 処理 という具合に書くが、この中身にはhtmlやjavascriptも包含することができてしまう
MVCフレームワークを使わないにしろ、基本的にビューとバックエンド処理は分割しておくべき。
さらにDB処理、ビジネスロジック、プログラム処理と言ったものがあるが、
DB処理はdbhandler専用のモジュールに分けておき、さらにそのモジュールを処理するテーブルごとに分けておいた方が良い(MVCではモデルと言う)
特にビジネスロジックとプログラム処理の区別だが、「商品名にアダルト商品と思わしき文字列があった場合は登録を拒否する」という例外は「ビジネスの例外」であるのに対し、「商品名の文字列がDBで用意されたvarcharの可変文字範囲を超えた」という例外は「技術の例外」であるということを明確に区別するようにコードを書く。
1. **条件式の曖昧さ**:JavaScriptでは、`if (value)` は `value` が「truthy」(真と評価される値)である場合にのみ実行されます。しかし、このコードは明確ではありません。`value` が何を意味するのか、どのような値が期待されるのかがコードからは読み取れません。`null` でも `undefined` でもないことを確認するには、より明確な条件式(例:`value !== null && value !== undefined`)を使用する方が良いでしょう。
2. **ログメッセージの不明瞭さ**:ログメッセージ `'null でも undefined でもねーわ'` は、`value` が `null` または `undefined` でないことを示しているようですが、これはコードの実際の動作と一致していません。`value` が 0、空文字列(`''`)、または `false` の場合でも、この条件は偽(false)と評価されますが、これらは `null` または `undefined` ではありません。
3. **コードの可読性**:コメントやより記述的な変数名を使用することで、コードの意図や動作を明確にすることができます。現在の状態では、このコードの意図を理解するのが難しいかもしれません。
😷ワイもJavaScript始めた時にこのバグやらかしたやで
JavaScript でさあ
変数 value が null でも undefined でもない事を確認するのに
if (value) { console.log('null でも undefined でもねーわ'); }
これほんとやめろって。
おかげで value に 0 とかが入ってる時に、このコンディションが false になるわけだ。
色んな会社さんのコード見てきたけど、このタイプのバグ本当に多い。
昨年は、世界的にも有名な会社さんのフレームワークがこれでバグってた。
でももう既にシステムの一部は本番稼働しててフレームワークはいじれない。
仕方ないので value には一旦文字列の '0' を渡しておいて if (value) {~} の中の重要なロジックを動かして
(めっちゃ幸運な事に、数値 0 のかわりに文字列 '0' でも正しく動くような、型について緩いロジックだったから)
その後で改めて value に数値 0 を入れなおすという、きったないハックで誤魔化した事もある。
それはそうとTailwind CSSとか流行してるけどマジなん?って感じなんですけど
なんか、HTMLのclassが膨大に長くなって、本筋のロジックな部分が見づらいのなんの…
画面ダサくてもBootstrapでええわ
でも、Laravelとか前提にしてんのな…
JavaScriptも進化して、jQuery必要なくなったしなぁ
変化だけ激しいよな、Webは
インフラ行けば良かったのかなぁ
羽振りがいい人も多いし
>スキル
JavaScript / jQuery / TypeScript / HTML / CSS / Sass / WordPress / ActionScript / Flash / PHP / grunt / gulp / webpack
自分には6年付き合った年上の彼女がいた。名前はPHP。学生の時からの付き合いで、自分にとっては初めての彼女だった。付き合った当初は全てが新鮮で、オブジェクト指向やSOLID原則、大事なことは全て彼女から教えてもらった。(そう思われるかもしれないが、)時間が経って彼女の魅力が感じられなくなってしまったということはなくて、彼女は歳をとっても魅力的なままだった。むしろreodonlyプロパティやEnum、null safe演算子など、新しい機能が導入されてますます綺麗になっていったように思う。最近ではジェネリクスさえ導入されたようだ。彼女は本当に努力家だ。
(褒められた話ではないが一応、彼女以外の女性を全く知らなかったわけではなく、TypeScriptという若い子と少し遊んでいたこともある。TypeScriptは昔からの知り合いのJavaScriptの妹で、大雑把な姉と違って几帳面で、少しオタク気質もある個性的な子だった。よく新しい型パズルを考案して楽しそうに話してくれたが、自分には正直よく分からなかった笑。)
そんな中でも基本的には6年間PHPとずっと一緒に過ごしてきた。前述の通り彼女に何か不満があったわけではない。ただ、彼女との将来に不安を覚えるようになってしまっていた。周囲に彼女と付き合っていることを話すと、「え、まだPHPと付き合ってたんだ?(昔は人気だったけど、最近はそうでもないよね)」みたいなことを、彼女のことをよく知らない人から言われたりもした。そこまで直接的ではなかったけれど。自分も、彼女以外の女性のことをほとんど知らずにずっと彼女と付き合っていて大丈夫なのかななんて思ってしまったりしていた。
結局自分はPHPと別れて、新しい女性と付き合う決断をした。新しい彼女の名前はGo。彼女は若いのに自分の芯がしっかりしていて、みんなの憧れの格好良い女性といった人だった。そんな彼女と付き合いだして、最初は戸惑うことも多かった。
例えばこんな感じだ。
また、今まで当たり前だと思っていたPHPの良さに気づくことも多い。PHPStanを使えば静的型付け言語と同じように型安全性を担保できていたし、彼女のWeb FWには歴史が長いだけあって痒いところまで手が届く様々な機能が完備されていた。経験豊富でこちらの要望をなんでも受け止めてくれるような包容力があったことに今更気づいた。
とはいえ、いつまでも昔の彼女を引きずっていてもしょうがない。Goにはこちらに積極的に合わせてくれるような包容力はないが、彼女なりの哲学を持っていてそれ故の美しさがあると思う。そして正直、まだ彼女の10分の1も理解できていない。彼女が得意だという並行処理や、実行速度が求められるような処理も、自分はまだ実際に実装したことはない。でもこれからしっかり向き合って、Goのことをもっと理解して、実りのある交際にしていきたいと考えている。PHPと別れてGoと付き合う決断したのは自分なのだから。
JavaScriptはJavaにあやかって名付けられたけど、インドネシアもインドにあやかってんのかな。
と思って調べてみたら、
という流れのようなので、どっちかというとC++とObjective-Cみたいな感じか。
JavaScriptの名前に「Java」がついている理由は、この言語を開発したネットスケープ社が、もともとLiveScriptと名付けていたものを、Javaを開発したサン・マイクロシステムズ社と提携していたことから「JavaScript」という名前に変更したからです。
しかし、JavaとJavaScriptは全く別の言語で、それぞれ異なる目的と特性を持っています。
JavaScriptってJavaの簡易版みたいなもの? WEBで使うのがJavaScriptでプログラムがJavaってことでいいのかな
JavaScript is not available.
あれはあれでgoroutine除けばシンプルすぎて他の言語に入りづらくなるかもしれんけどな
やっぱ初心者はフロントエンドから入るのが日本じゃ一般的じゃないか?
つまりjavascriptもしくはtypescriptから入る。
Chromeの履歴の中身まで常に監視されていることはご存知だろうか。