Netscape 社の JavaScript と、Microsoft 社の JScript の動作を統一するために作られた、プログラミング言語の仕様。 Java 言語のようなクラスベースではなく、プロトタイプベースのオブジェクト指向を採用している。
ECMAScript をベースとしている言語として、
などがある。
ES6(ECMAScript 2015)以降ではvarの使用を避けることが推奨 ブロックスコープと関数スコープの違い ES6(ECMAScript 2015)以降ではvarの使用を避けることが推奨 JavaScriptにおいては、ES6(ECMAScript 2015)以降では、varの使用を避けることが推奨されています。 代わりにletやconstを使用することで、変数のスコープや再代入の制御が向上し、コードの品質が向上します。以下は、varを使わない方がよい理由で す。変数のスコープ問題: varは関数スコープを持ち、ifやforなどのブロック内で宣言されても、その変数は関数全体でアクセス…
PMDバージョン: 7.0.0-rc4 AvoidTrailingComma 公式ドキュメント: AvoidTrailingComma Since: PMD 5.1 Priority: High (1) Description: ブラウザによってオブジェクトや配列リテラルの末尾のコンマの扱いが異なるため、末尾にコンマを書かないように留意することでコードの移植性を向上させるのに役立つ。 Property: 名前 デフォルト値 説明 複数指定 allowObjectLiteral false オブジェクトリテラル内の最後のカンマを許可する - allowArrayLiteral false 配列リ…
PMDバージョン: 7.0.0-rc4 AssignmentInOperand 公式ドキュメント: AssignmentInOperand Since: PMD 5.0 Priority: Medium High (2) Description: 条件式内での値の代入は避ける。コードが複雑になり、読みにくくなる。 等号演算子「==」の代わりに代入演算子「=」が使用されるバグを検出することがある。 Property: 名前 デフォルト値 説明 複数指定 allowIf false if文の条件式内での代入を許可する - allowFor false for文の条件式内での代入を許可する - al…
PMDバージョン: 7.0.0-rc4 Best Practices AvoidWithStatement 公式ドキュメント: AvoidWithStatement Since: PMD 5.0.1 Priority: High (1) Description: withの使用を避けるべきである。 Configuration: <rule ref="category/ecmascript/bestpractices.xml/AvoidWithStatement" /> Example: with (object) { property = 3; // オブジェクトなのかwindowなのか判断つ…
先月出版された「JavaScript Primer 改訂2版 迷わないための入門書」の内容レビューに関わらせていただきました。 先日出版社の方から、完成した書籍をご恵贈いただきました。ありがとうございます。 www.kadokawa.co.jp JavaScript Primer 改訂2版 迷わないための入門書作者:azu,Suguru InatomiKADOKAWAAmazon efcl.info 第1版からの主なアップデートとして、ECMAScriptの新しいバージョン(ES2020, ES2021, ES2022)で取り入れられた機能を取り上げたり、Promise, Async Func…
ECMAScriptはJavaScriptの標準規格で、2015年以降毎年改定されています。この記事を読むとES2022に採用された仕様、ES2023に決まっている仕様、次に盛り込まれそうな仕様がわかります。 ECMAScriptとは ECMAScriptとはJavaScriptの標準規格 ECMAScriptのバージョン ECMAScriptの策定プロセス ES2022 .at() Top-level await クラスにプライベートなインスタンスフィールド、アクセッサ クラスに静的なフィールドとメソッド クラスに静的イニシャライザブロック Object.prototype.hasOwn E…
IE11の考慮が不要となった場合に、特定のブラウザバージョン以降で使えるようになる機能一覧を列挙して表示するサイトを作った。 the-world-after-ie-left.vercel.app リポジトリはこちら github.com デフォルトでは Chrome > 90 Edge > 90 Firefox > 90 Safari > 13 以降で使える機能を確認できる。 ※ ちなみに雑にVercelにデプロイしてるので、レスポンスが巨大すぎるとVercel自体の制限に引っかかって死ぬことがあるので、落ちる場合は絞り込み用のブラウザバージョンをちゃんと入れてください。 IE卒業式という社内…
はじめに v-bindの基本 v-bindでクラス名を固定値+動的にしたい場合どうする? APIの帰り値をクラス名に設定したい aタグのhref属性を動的にしたい時 aタグのtarget="_blnak"を動的するにはどうしたらいいか まとめ はじめに こんにちは。エンジニアの仕事をしている、たかふみです。 本日はVue.jsでよく使う、v-bindの値でattributeを動的にするにはどうしたらいいのか、TIPSをまとめていきたいと思います。 v-bindの基本 根本的にv-bindの基礎から説明いたしますが、v-bindとは、HTMLの属性を動的にするためのvue.jsの機能です。 下記…
ECMAScriptはJavaScriptの標準規格で、2015年以降毎年改定されています。この記事を読むとECMAScriptの仕様策定プロセスが理解でき、ES2021に採用された仕様、ES2022に決まっている仕様、次に盛り込まれそうな仕様がわかります。 ECMAScriptとは ECMAScriptのバージョン ECMAScriptの策定プロセス ES2021 String.prototype.replaceAll Promise.any WeakRefs Logical Assignment Operators Numeric separators ES2022(確定分) Class …
最近Webフロントを入門したことで、JavaScriptを勉強する機会が増えたが、ECMAScriptについての理解が曖昧だったので軽くメモ👷♀️ ブラウザでのJavaScript JavaScriptのコードをプログラムとして動作させるには、JavaScriptエンジンでコードをコンパイルして実行させる必要があります。ChromeやSafariを始めとしたブラウザは、それぞれJavaScriptエンジンがあり、これにより同じJavaScriptでもブラウザによって挙動が変わっています。 ちなみに、JavaScriptエンジンには下記のようなものがあります。 エンジン 内容 V8 Googl…
海外利用時のiPhone設定注意点 Python 3.13のUnicode変更点 長時間処理の通知方法 日本の年収103万円の壁問題 アクセンチュアの生成AI戦略 Linuxシステム速度低下の原因特定コマンド ソブリンクラウドの現状と課題 Windows 11のシステム要件に関する報道への公式見解 WebサイトをアプリとしてインストールするChrome/Edge機能 AmebaのAurora MySQLコスト削減事例 AWS re:Invent 2024 セッションレポート:テナント分離戦略 アマゾンの独禁法違反疑惑に関する公取委調査 省エネエアコンの開発とGAIR関連技術の電力消費削減目標 …
この記事は はてなエンジニア Advent Calendar 2024 の 2 日目の記事です。 昨日は id:hogashi さんの「querySelectorAllの結果をmapしたいときはArray.fromすると良い」でした。 どうも、趣味で関数型言語をやっている者です。 長らく関数型言語をやってなかったら無名再帰を忘れかけていたので、おさらいがてら不動点コンビネータで無名再帰を作る流れを書き下します。 以下、JavaScript の文法で書かれたコードをもとに説明していきます。 目次 目次 無名再帰とは 不動点コンビネータ (Z コンビネータ) f = next => x => ne…
始まってしまった、12月が…。 ということで、syumai Advent Calendar 2024の開始をお知らせします。 adventar.org これは何? syumaiが25日間記事を出来る範囲で投稿し続けるAdvent Calendarです。 どうしてこうなった? petamorikenさんの書く一人Advent Calendarが読みたい気持ちがありすぎたので、「morikenさんが一人Advent Calendarを書くなら自分も書く」と過去に勝手に発言していて、(全然morikenさん側のきっかけにはなってないと思いますが、)とても嬉しいことにmorikenさんのAdvent …
11/23 - 11/24という日程で開催された。keymoonさんとd=(>o<)=bというチームで出て全体39位、国内11位。国内決勝と国際決勝にはそれぞれ参加資格のあるチームのうち上位8チームが出られる。チームieraeが国内決勝でなく国際決勝へ進むことを加味しても、2チームが辞退しなければ国内決勝には進めないということで、まず予選敗退だ。大変悔しいd=(ToT)=b [Web 149] Tanuki UdonでまさかそんなことがあるはずがないとXSS解を見逃した、方針転換できなかったのも悔しければ、[Web 193] self-ssrfで色々ガチャガチャ試していたものの、機械的なブルー…
'Programming Languages That Blew My Mind'というブログ記事で、8歳からプログラマーとして活動しているDavid Tellerさんが、人生で出会った革新的なプログラミング言語について紹介している。 BASIC A language designed to make programming simple. Mind blown: Programming my own games! Mind blown: Arrays (or DIM, as they were called)! Mind blown: GOTO! Mind blown: GOSUB! Ori…
どういうこと 経緯 対応 どういうこと 適当なApps Scriptオンラインエディタで試してみてください。保存時にエラーになるはず(2024/10/20 現在) // クラスフィールドでの定義はエラーになる class Human{ static category; } // constructorでの定義だと大丈夫 /* class Human{ constructor(){ this.category = "animal"; } } */
React のプロジェクトを作成する時に使う Create React App についてまとめました。 この記事は以下の構成になっています。 Create React App とは Create React App が行うこと Create React App でプロジェクトを作成する 開発環境 本番環境 テスト Create React App とは Create React App は React アプリの初期設定を自動化して作成するツール。 Create React App が行うこと Create React App は React アプリの初期設定以外にも、主に以下のことを行う。 開…
www.smashingmagazine.com 概要:Screen Orientation APIをご存知ですか?Device Orientation API、Vibration API、Contact Picker APIについてはどうでしょう?Juan Diego Rodriguezは、あまり知られていないウェブ機能に興味を持ち、これらの機能が広くサポートされるようになった場合に、より使いやすく堅牢なプログレッシブウェブアプリを作成するためにどのように活用できるかを考察しています。 2年ほど前、JavaScriptの現状に関する調査で、認知度が最も低かった4つのJavaScript AP…
はじめに 今回はJavaScript Primerを読んで学んだことを中心にアウトプットしていきます。 わかったこと NaN(Not-a-Number) 数値ではないがNumber型を表現しています。どの値にも一致しない特性を持っており、Number.isNanメソッドやNaN == NaNでNaNを判別することができます。 NaNが出力される例 0 / 0 Math.sqrt(-1) Number('abc') SUM sum関数は引数の値全てを足すがその引数の一つがundefinedである時エラーが出力されるので数値の合計を時は下記のような関数でエラーを防ぐことができます。 functio…
はじめに この記事は、2024年8月に私が何をやっていたのかを振り返る記事です。 もしみなさまの参考になる部分があれば幸いです! やったこと 任意継続手続き 8月は会社に所属しないので、厚生年金の任意継続手続きを行いました。 これを行わないと、国民年金への切り替えが発生してしまって手間がかかるためです。 手続きは全て書面で完結しました。 保険協会のHPから書面をダウンロードし、コンビニで印刷し、身分証明書のコピーと同封して送りました。 便利な世の中ですね〜! Laravelの書籍を読んだ Laravelの書籍「PHPフレームワーク Laravel実践開発」を読みました。 『PHPフレームワーク…
2024/8/24 https://frontend-conf-2024-hokkaido.peatix.com/ https://www.frontend-conf.jp/ 感想 フロントエンドのカンファレンスは一昔前だとJSフレームワークが中心だった印象なので、時代の流れが変わったなと思った CSS周りの話が面白くてもっと深堀りしたくなった 初開催の中でもハイブリットでオフラインは200名程度のイベントを用意してもらえて感謝です もともと1トラック予定のところ、たくさんのプロポーザルが来てなんとか2トラック調整をつけたとか苦労話も聞きました 次回開催も期待してます ダークテーマとアクセシビ…
nazology.net オーストラリアのシドニー大学(The University of Sydney)に所属するマヌエラ・L・フェレイラ氏ら研究チームは、世界中の1万5000人以上のデータ(11件の研究)に基づくメタ分析(複数の研究結果を統合して分析する研究法)の結果、「一般的な関節痛と天候との間に直接的な関連は見つからなかった」と報告したのです。 「寒さや雨は関節痛の直接の原因ではない」という研究結果 - ナゾロジー フェレイラ氏らは、人々が関節痛の悪化を天候の影響だと考える理由について、次のように説明しています。 「天候は、他の要因や行動に影響を与え、それが患者の痛みの認識や管理にも影…
こんにちは!面白プロデュース事業部のおばらです。 本記事はJS体操第3問「Zalgo Text の生成」の問題のヒントにもなるかもしれないシリーズ第2弾。 第1弾は 「Zalgo Text のできるまで」でした。 今回は「コードポイント」、そして「コードポイント」と似ているけれどちょっと違う概念の「コードユニット」についてざっくりおさらいしてみます。 techblog.kayac.com hubspot.kayac.com 目次 「Unicode」とは 「コードポイント」とは 「文字」を「コードポイント」に変換する 「コードポイント」を「文字」に変換する 「コードユニット」とは 「UTF-8」…
目次 目次 はじめに AWS Amplifyとは クイックスタートマニュアルに合わせて進める GitHub上にリポジトリの作成 AWS Amplifyからプロジェクトの作成 ローカル環境の整備 ログイン機能の実装 削除機能の実装 編集後のpush プロジェクトの削除 おわりに はじめに こんにちは。クラウド事業部の丸山です。 開発者の知人から少し前に、AWS Amplifyが凄く使いやすいとの話を伺っていました。 AWS Summit Japan 2024の「AWS Amplify と Amazon Q Developer を活用した生成 AI アプリケーションの作り方」セッションでも、 ご紹…
JavaScriptは、1995年にネットスケープ社によって開発されたスクリプト言語で、主にWeb開発に使用されます。現在では、フロントエンド開発において不可欠な存在となり、動的でインタラクティブなWebページを作成するために広く利用されています。ここでは、JavaScriptの歴史、特徴、用途について詳しく解説します。 JavaScriptの歴史 JavaScriptは、当初「Mocha」として開発が始まり、後に「LiveScript」と改名されましたが、最終的に「JavaScript」として1995年にネットスケープナビゲーターの一部としてリリースされました。JavaScriptは、Jav…