Netscape 社の JavaScript と、Microsoft 社の JScript の動作を統一するために作られた、プログラミング言語の仕様。 Java 言語のようなクラスベースではなく、プロトタイプベースのオブジェクト指向を採用している。
ECMAScript をベースとしている言語として、
などがある。
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…
ビザスクWebチームエンジニアの小柳(@mascii_k)です。先週の6/6(木)に弊社が会場提供した Meguro.es #21 について、当日の様子をレポートしたいと思います。Meguro.es公式のレポートもぜひご覧ください: Meguro.es #21 を開催しました イベント概要 Meguro.esは2ヶ月に一度、目黒駅周辺、目黒区、目黒川沿い、敷地の一部が目黒といった、目黒っぽい会場で開催されるJavaScript (ECMAScript)に関するコミュニティーイベントです。弊社は隣のビルに "SHIBUYA" と書いてあるなど、なんとも渋谷感あふれる立地ですが、目黒区青葉台に所在…
書店員が本屋を変える。黒字化は文教堂再生の序章 https://forbesjapan.com/articles/detail/48270 Amazon、完全自律倉庫ロボット「プロテウス」を披露 https://news.nicovideo.jp/watch/nw11079146 Kindleが「カップラーメンの重し」に 中国のKindle終了が日本にとっても他人事ではない理由 https://www.itmedia.co.jp/news/articles/2206/23/news172.html 絶版のマンガをブックオフで売ったら200円にしかならなかった→神田で買った2万円の本がAmazo…
SVGでできる簡単なサンプルアニメーションを書きます。今回は、円のアニメーションです。さらに柔軟な表現ができるように、JavaScriptと絡めていきます。SVGとJavaScriptで、表現の幅が広がることを感じられたら幸いです。 円のアニメーションのサンプル コード デモ JavaScriptでSVGの要素を生成する コード デモ 余談 円のアニメーションのサンプル 今までやってきた内容を組み合わせると、様々な図形のアニメーションが作れます。アイデア次第では色々と作れるので、面白いと思います。一例として、以下に円のアニメーションのコードとデモを示します。 コード <svg version=…
本題 JavaScriptの仕様であるECMAScript(=ES)について、そろそろ最新版のES2022が承認される、というのをICSさんのブログ(「参考サイト」参照)で知りました。 なので今回は、ES2022で正式採用される機能について、コード例を挙げて説明したいと思います。 なお今回紹介する機能ですが、Node.jsの場合、Node Greenを見るとわかる通り、2022/6/18現在のLTSであるver16.15.1では、普通に全機能が使用可能です。(ブラウザでもほとんどの機能は使用可能の模様) 参考サイト JavaScriptの次の仕様ES2022の新機能まとめ(ICSさんのブログ)…
2022-06-19現在のステータス。 https://eel3.hatenablog.com/entry/2021/06/20/211327 から1年経て、こうなっている。なおCSS、HTML、XMLはひとまず除外する。人工言語ではあるけれども「プログラミング言語」という括りに含められるか否かは議論が分かれる気がする。*1 よく使っている AWK (Gawk) 単純なテキストレコードの処理はAWKで十分間に合う。今の時代、自作ツールをnawkやGNU awk単体で実装するのは苦行すぎて*2皆無なものの、シェルスクリプトやMakefileにAWKのコードを埋め込むなどして他のコマンドと組み合わ…
IE 11サポート終了に伴い、Web開発者にどのような影響があるのかを、個人(ユーザー)、企業、全てを含めて話していきたいと思います。 ※ ここでは、ある個人のWeb開発者としての説明になります、必ずしもそれが最良の方法(解決策)とは限りません。 Internet Explorer 11(IE11)デスクトップアプリケーションは、サポートが終了し、Windows 10の特定のバージョンでMicrosoftによって廃止されました。 Webブラウザは、(2022年6月15日)および企業によってサポートされなくなりました。 IE は段階的に廃止し、Windows8.1のユーザーにはサービス終了の通知…
Next.js と AWS Amplify を使ったプロジェクトで、TypeScriptのファイルに対してJestのテストを書いたら、 SyntaxError: Unexpected token 'export' エラーが発生。 このエラー自体はよくあるやつだが、設定を大きくいじらず解決する方法を調べるのに結構時間がかかったので、対処法をメモ。 環境 環境についての備考 事前設定 問題 対応 その他の問題 振り返り 環境 名前 バージョン Node.js 16.15.0 Next.js 12.1.5 TypeScript 4.6.3 Jest 28.1.0 aws-amplify*1 4.3.…
はじめに 試験概要 学習方法 Ver2.5 受けてみて はじめに 先日、HTML5プロフェッショナル 認定試験 レベル2(Ver2.5)に無事合格できたため、学習方法などについてメモしておきます。 試験概要 html5exam.jp HTML5プロフェッショナル 認定試験にはレベル1とレベル2が存在し、レベル1はHTMLとCSS、レベル2はJavaScriptがメインになっています。 レベル2の認定条件は HTML5 レベル2試験に合格し、かつ有意なHTML5レベル1認定を保有していること。 となっているため、レベル1も取得する必要があります。 試験は全国にあるピアソンVUEの試験会場か自宅や…
こんにちはhiro08です。 仕事で国際化対応することが多々あり、国際化に向けた実装について考える機会が多くあります。Webアプリケーションの国際化は、単に多言語化するだけではありません。例えば、日時や通貨のフォーマットは各国でそれぞれ違いますし、言語によってUIが大きく変わるケースもあります。 すぐに試せる例として、Twitterの言語設定をアラビア語に変更してください。アラビア語は右から左に文字を読むため、TwitterのUIもそれに応じて変わっています。 このように、国際化はその国や土地に合わせたデザイン (設計) をすることで適切にサービス提供する必要があります。 Intl APIにつ…
人生初パブコメを送った。 このTweetを見て、「アプリ開発者」だけじゃなくてWebkitへの言及もあるんだ〜って思って眺めたのがきっかけ。 内閣官房のパブコメ募集なんだけど、資料が割とがっつり情報量があるのと中間まとめが割と踏み込んでいるのとで読みごたえがある。 https://t.co/hisJtnYwFb「主に御意見をいただきたい事項」に特にアプリ開発者からの情報を求められている箇所も多くて技術者コミュニティで共有されるとよさそう。 pic.twitter.com/gTwBJu2lXu— Atsushi Eno (@atsushieno) 2022年5月12日 2022年6月10日23時…
本日はJavaScriptオブジェクトの作成・追加・削除・アクセス・プロパティとメソッドおよびそれらの操作について理解していきましょう。 Array(配列)オブジェクトの基礎は下記で解説しております。 dev-k.hatenablog.com JavaScript オブジェクト宣言 プロパティの属性 オブジェクトプロパティの操作 計算されたプロパティ名 プロパティの値を省略 プロパティ名の制限 constで定義されたオブジェクトは変更可能 プロパティの存在を確認 ネストされたオブジェクト オブジェクトメソッド 参照によるコピー まとめ JavaScriptには8つのデータ型があります。それらの…
インスタンスのconstructorプロパティでクラスのオブジェクトを取得できます。このオブジェクトを操作すればクラスのオブジェクトプロパティを操作できます。 class Class1 { static X = 123; } const a = new Class1(); console.log(a.constructor.X) //-> 123 a.constructor.X = 456; console.log(a.constructor.X) //-> 456 蛇足 現在のECMAScriptにはクラスか否かを判別する簡単な方法はないようです。 static {...}の中ではthisで…
markdownからhtmlに変換したいなーと思い、 micromarkを使おうとしたら、 ES Modulesでかなりハマったので、その時の備忘録。 はじまり 今まで使っていたらちょっとしたツールのプロジェクトに、 micromarkをインストールしたら、こんなエラーが。。 $ npx ts-node sample.ts ./node_modules/ts-node/dist/index.js:842 return old(m, filename); ^ Error [ERR_REQUIRE_ESM]: require() of ES Module ./src/node_modules/mi…
React.jsに関するQ&A(よくある質問)をまとめました Reactでお困りの際はこの記事で問題解決を試みて下さい。 これらの質問はReact初学者が質問する、よくある質問をまとめた記事となります。 ※注意点 当記事の質問に対する回答は、必ずしも最善の方法という訳ではございません。 最も簡単で適切な方法を解説しております。 Reactよくある質問 最も多い質問 機能に関する質問 関数コンポーネント(フック)に関するよくある質問 クラスコンポーネントでよくある質問 最後に Reactよくある質問 最も多い質問 Reactとは何ですか? Reactは2013年にFacebookのソフトウェアエ…
実食! こんにちわ、こんばんわ。🐸かえるのクーの助手🦉の「井戸中 聖」(いとなか セイ)でございます。 季節の風物詩:ずわいがに給食(カニランチ) いろいろ技術動向を見るにつけ、ここしばらくのIT業界に追従できていないことを実感しました。Transformerもそうですが、かなり技術不足状態です。やりたいことに対して不足している技術として「Rust」と「WebAssembly」あたり、または「Rust+CUDA」、「Rust+他言語インターフェース」「Kubernetis関連」「Node.js」「ECMAScript2016+系以降」あたりが必要だと痛感しました。(Web系に興味はないのですが…
Typescript4.7の新機能をいくつかみてみた devblogs.microsoft.com ECMAScript Module Support in Node.js TypscriptにおけるNode.jsのECMAScript Moduleをサポート これにより .mts/.ctsという拡張子が増えた ESM / CJS ごとに型定義を読み分けられるようになった moduleDetectionオプションの追加 など quramy.medium.com extends Constraints on infer Type Variables https://devblogs.micros…