2013-01-01から1年間の記事一覧

Firefox 29 で String.fromCodePoint, String.prototype.codePointAt が実装された

918879 - Implement String#codePointAt and String.fromCodePoint テストコード: http://mxr.mozilla.org/mozilla-central/source/js/src/tests/ecma_6/String/ ECMAScript6th における、Unicode をもう少しうまく扱うためのメソッド2つ。従来の String.fr…

Re: __proto__ が変わりゆく件について

__proto__が変わりゆく件について - 株式会社ネクスト エンジニアBlog さすがにちょっとツッコミを入れたい。 参考: draft_proto_spec_rev2.pdf※ まだドラフトで確定ではないのでご注意ください。 http://nextdeveloper.hatenablog.com/entry/2013/12/15/191…

Ctrl + Tab でタブの選択履歴からタブ切り替え

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

MacでDockにしまったWindowを復元するショートカットを作った

Cmd + M で「しまう」のショートカットがMacでは共通してあるわけだが、逆に戻すショートカットが無い。ゴテゴテとウィンドウが重なっている状態があまり好きじゃなくて、都度「しまう」を行っていたりするわけだけど、Cmd + Tab でアプリケーションを切り替…

super キーワード

ECMAScript 6th には super キーワードがある。もとからキーワードとしてはあったけど、6th から挙動をもつキーワードとなった。期待通り、プロトタイプチェーン上のプロパティアクセスまたはメソッドコールに使用できるキーワードである。使用可能な箇所は:…

Firefox 25 個人的まとめ(ECMAScript的何か)

885553 - Implement ES6 Array.prototype.find and Array.prototype.findIndex Firefox 25 で Array.prototype.{find, findIndex} が実装された - hogehoge 866849 - Implement ES6 Array.of 884279 - renaming future to promise Firefox 25(Nightly) で DO…

Firefox 27(Nightly) における新たな String.prototype["@@iterator"]

928508 – String.prototype.@@iterator (and thus for-of) incorrectly iterates over code units rather than Unicode characters ちょいと面白いものが実装されて、String.prototype["@@iterator"]がアップデートされてた。"@@iterator" というのは、ECMAS…

addons.mozilla.org に登録していたアドオンを無効化した

Firefox 用の Pano とか Thunderbird 用の WAT とかを無効化した。理由は、随分前からメンテできてなくて、これからもするかどうか怪しいから。そのくせ、たまに質問メールらしきものが来る。いい加減面倒になってきたのだ。ソースは GitHub にあるわけだが…

new 演算子と Construct 内部メソッド

Javascript weirdness? - Google グループ var o1 = [], f1 = function(){ return o1; }; (new f1()) === o1; // true var o2 = 1, f2 = function(){ return o2; }; (new f2()) === o2; // false これってどういうことだってばよ? という話。例によって仕様…

Mac で特定プロファイルの Firefox を起動するアプリを作る

もの凄く基本的なことなんだけど、忘れて Google 先生のお世話になることが多いのでメモっておくコマンドラインからだったら、 open -a Firefox --args -P profileName -no-remote でOKだが、いちいちコマンドラインから起動するのは面倒なこともあって、自…

Promise + Generator

Google Chromeに入ったジェネレータとPromiseで非同期処理に革命が起きた - 素人がプログラミングを勉強していたブログ javascripter さんの記事ではPromise実装としてjQueryのを使用しているけど、Fx では DOM Promise が使えるので、それに合わせて書きな…

Firefox 27(Nightly) の yield が { done, value } を返すようになった

ちょっと前に、Generator のプロトタイプ で書いたが、function * () { yield ...; } な構文が導入された。また、最近ユーザ作成の Generator.next() が { done: Boolean, value: Value } なオブジェクトを返すように変更された。*1 function * gene () { fo…

Firefox 27(Nightly) にて SpreadCall が実装された

762363 - (harmony:spreadcall) implement the spread operator in calls func (a, b, ...iterableObject); な感じで、イテレート可能なオブジェクトを展開して、それぞれの引数に分けてくれるもの。func (a, b, ...[1,2,3,4]) とすると、func (a, b, 1, 2, …

MozCafe Tokyo へ参加してきた

MozCafe Tokyo 20130918 : ATND window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twit…

業務連絡

引っ越しして都民になりました。

innerHTML += ... な書き方について

DOM

DOM操作の最適化によるJavaScriptチューニング(前編) | HTML5Experts.jp はてなブックマーク - DOM操作の最適化によるJavaScriptチューニング(前編) | HTML5Experts.jp はてなブックマークで『後でツッコミする』と書いたとおり、ちょっとツッコミたいと…

現状のFirefox,Chromeで、for-of でイテレートできるようにする

Firefox 26.0a1 (Nightly) @@iterator 実装なし 代わりに iterator メソッドを定義するとOK(仕様外) __iterator__ というものもあるが、for-of とは無関係(独自実装) GeneratorObject の next メソッドは値を返すのみで{ done: ..., value: ... }な値を…

Generator のプロトタイプ

904701 - Implement prototype madness for ES6 generators Firefox 26 (Nightly) で function * () { yield ... } な ECMAScript 6th にある Generator の構文が導入された。ということで、やる気を出して、チョコチョコと調査。まず、用語の定義 Generator…

マスターパスワードより信用できないもの

それはテメェの頭だ。 それを忘れちゃいけねえ。

Firefox 25(Nightly) で新たに構造体チックなのと数値リテラルが実装された

578700 – (harmony:bindata) [meta] Harmony binary data objects harmony:binary_data [ES Wiki] numerictypes.js arraytype.js structtype.js 894026 – Implement BinaryIntegerLiteral and OctalIntegerLiteral binary-literals.js octal-literal.js Bina…

Firefox 25(Nightly) にて、{Map,set}.prototype.forEach が実装された

866847 - Implement Map#forEach and Set#forEach テストコード mozilla-central mozilla/js/src/jit-test/tests/collections/Map-forEach.js mozilla-central mozilla/js/src/jit-test/tests/collections/Set-forEach.js これで Map, Set において、ECMAScr…

__proto__ = null をした後の __proto__ = {} について

記事とは関係ない質問なのですが __proto__にnullを設定した場合のみ 以降のinstanceof演算子の挙動が変わるのは仕様なのでしょうか FirefoxとChromeで確認しました o = {} o.__proto__ = Object.prototype o instanceof Object //true o.__proto__ = {} o._…

を無駄にスタイリングしてくれるな

先日、「Firefox 23では「JavaScript無効化オプション」が無効化されるかも」? - hogehogeで、JavaScriptを無効にできなくなるわけではなく、オプションダイアログのチェックボックスが消えるだけだよ、という話を書いた。 チェックボックスが消える理由と…

Firefox 25(Nightly) で DOM Future が DOM Promise に名前が修正された

884279 – renaming future to promise http://dom.spec.whatwg.org/#promises DOM Future ではなく、すでに、Promise に名前が変わっているけど、実装されたのは Future 。 Firefox 24(Nightly) で DOM Future が実装された - hogehoge ということで、仕様を…

「Firefox 23では「JavaScript無効化オプション」が無効化されるかも」?

Firefox 23では「JavaScript無効化オプション」が無効化されるかも | スラッシュドット・ジャパン IT 誤読されそうなので、本気で心配しているのだが、変更の Bugzilla では以下の様なタイトルである。 873709 – Firefox v23 - "Disable JavaScript " Check …

JavaScript にクラスは作れますか?

参考: 最強オブジェクト指向言語 JavaScript 再入門! >JavaScript でクラスは作れますか? 無理ポ。 では、クラスっぽいものは作れますか? だから、無理ポ。

SpiderMonkey Regrets

Is the most implemented ECMAScript.next specs SpiderMonkey as known as Firefox's JavaScript engine ?Yes, indeed many of implementaions are available. I was watching and blogging the improvement. But some of things are launched for a long t…

Firefox 25 で Array.prototype.{find, findIndex} が実装された

[].indexOf に似ているけど、より汎用的なメソッドforEach, map, some, every 等と同様にコールバックを引数にとって、true を返したものの、値またはindex値を返すメソッドである。実装見たほうが分かりやすいかも。(ちょっと特殊だけどJavaScriptで書かれ…

Firefox 22 個人的まとめ

WebPlatform 系 time 要素の実装 (Bug 629801) data 要素の実装 (Bug 839371) input[range] 要素の実装 (Bug 841948) [WebComponents] document.register の実装 (Bug 783129 about:config から dom.webcomponents.enabled を true にする必要あり FormData …

ArrowFunction 的即時関数

ある意味、ソーシャルボタンのJavaScriptでfunctionの前に「!」がついている理由の続き。今回は ECMAScript 6th から入る ArrowFunction で即時関数を考える巻。前回は普通の関数式での即時関数を解説してみた。 functionには2種類ある いきなり function …