Q. https://gist.github.com/teramako/858c448cb76cb8d309b0 A. https://gist.github.com/teramako/6317d057902b91c0dc1a ECMAScript6th仕様も佳境に入っていますし、そろそろクイズ的なものが出てきても良いのでは? → あまりなさそう。 → 作ってみるか。 …
CVE-2014-6271を発端とする bash の脆弱性、いわゆる ShellShock って呼ばれている奴。環境変数に仕込んだ任意のコマンドを実行できてしまうってことから、CGI との組み合わせが取り沙汰されている。その頃 sudo の設定の勉強をしていたので、ふと気になった…
924672 - Implement ES6 Method Definitions 14.3 Method Definitions var o = { method: function method () { return "OK" }, }; と書いていたところを var o = { method() { return "OK"; }, }; こう書けるようになる。
937855 - Implement ES6 Object.assign 仕様: 19.1.2.1 Object.assign ( target, ...sources ) 皆さん待望の、mixin をするメソッドである。第一引数のtargetに、第二引数以降のプロパティの値を代入していく。 var obj = { foo: "FOO", }; var res = Object…
924688 - Implement ES6 computed property names また、新しい構文。オブジェクトリテラル中のプロパティ名部分に式を入れることができる様になる。 今まで var prop = "foo"; var obj = {}; obj[prop] = "FOO Property"; 今までは一旦オブジェクトを作って…
1039774 - Implement ES6 String.raw 仕様 12.3.7 Tagged Templates 21.1.2.4 String.raw TemplateLiteral の続き。前回は、`(バッククォート) でくくることで、ヒアドキュメント的な複数行に渡る文字列の生成ができる事、${expression}で式の埋め込みができ…
先日 Firefox Nightly で Symbol が実装されたわけだが、その使い道を考えていた。それで思いつたのが、Symbolを使えば迷惑を掛けずにプロトタイプ拡張ができるのでは、ということ。こんな感じ。 "use strict"; { let keys = Symbol.for("teramako.Object.ke…
645416 - harmony:symbols) Implement symbols 不完全ながら ES6 の Symbol が実装された。Symbolは、Undefined, Null, Boolean, Number, String に続く新たなプリミティブな型である。既にChromeのV8エンジンには実装されていて、Symbolについて - JS.next…
1021368 - Implement NoSubstitutionTemplate as described in ES6 draft 11.8.6 11.8.6 Template Literal Lexical Components ついにきた。「JavaScript にはヒアドキュメントがない」などと言われてきた。そんなディスりとはおさらばだ。JavaScriptの文字…
934423 - Implement Array#copyWithin mozilla-central: changeset 186637:2184d492b374 ECMAScript 6th 仕様の Array.prototype.copyWithin 実装。 Array.prototype.copyWithin (target, start [, end])引数は target(Number): コピー先の開始Index値 start…
904723 - Implement ES6 Array.from 22.1.2.1 Array.from ( arrayLike [ , mapfn [ , thisArg ] ] ) Array-like な値をArrayに変換するメソッドです。引数は arrayLike: Array-likeなオブジェクト mapfn:(Optional) Array.prototype.map に渡すような functi…
Firefox 29 向けにはてなブックマークアドオンを自分で修正 パッチ diff --git a/chrome/content/browser/15-CommentViewer.js b/chrome/content/browser/15-CommentViewer.js index 9edd1d1..875b246 100644 --- a/chrome/content/browser/15-CommentViewer…
自分自身が再度使う気になったので https://github.com/teramako/Pano へ再アップした。GitHubにアップしたとはいえ、自閉モードにするつもり。 要望等のメール無視 Issue管理しない PullRequest、たぶん無視 バイナリの提供はしない xpiファイルは自分でビ…
ES6になると、String.prototype.repeatのメソッドが追加されるわけだが、そのアルゴリズムとパフォーマンスを追ってみている。ES6 String.prototype.repeat の仕様では以下の様な感じでシンプルな書き方をしている。 countが 0 より小さい、または 無限大で…
885788 - Implement ES6 Object.setPrototypeOf 因みにChrome側のV8には既に実装されている。
書くのが1週間ほど遅れた。 979865 - Implement ES6 array and generator comprehensions 12.1.4.2 Array Comprehension 12.1.7 Generator Comprehensions var arry = [for (value of iteratableObject) value]; // ArrayComprehension /* == (function() { …
Firefox、プラグイン不使用に向けた対応強化 | マイナビニュース Firefoxが段階的にプラグインを廃止すると発表(情報追記あり) Firefoxがプラグインを廃止する方向に|アドオンと勘違いする人多数で大混乱 | アイデアハッカー Mozilla、ホワイトリストに登…
https://gist.github.com/teramako/9306751 仕事でディスク使用率を教えてくれっていう感じの依頼を受けることが良くあり、その都度Windowsではマイコンピュータを開いたキャプチャ画像とかを送ってやったりしていたのだが、いい加減飽きてきた。 画像じゃな…
【JavaScript】オブジェクトをキーでソートする方法 | Web制作会社スタイル 上記リンク先の手法は、新たなオブジェクトにキーを配列に入れてソートした後、その順にプロパティ値として入れる方法だ。が、この方法では完全にソートすることはできない。仕様的…
チャーチルの「民主主義は最悪だ。これまで施行されてきた全ての政治制度を除いて。」ってあるじゃないですか。Web標準まわりってそれっぽいよねって思った。Web標準を仕様として、その体現の実装としてWebブラウザがあるわけだけど、それぞれの党がこれほど…
"object" "string" "number" "undefined"
新年早々、まさかりを投げてる感があって心苦しいけど、気になったので…。 node.js/v8のgeneratorsのパフォーマンスについてちょっと調べた - SundayHacking さて、generatorsの説明は他に任せるとして、いきなりコードです。 function* es6_generator() { y…
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…
__proto__が変わりゆく件について - 株式会社ネクスト エンジニアBlog さすがにちょっとツッコミを入れたい。 参考: draft_proto_spec_rev2.pdf※ まだドラフトで確定ではないのでご注意ください。 http://nextdeveloper.hatenablog.com/entry/2013/12/15/191…
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…
Cmd + M で「しまう」のショートカットがMacでは共通してあるわけだが、逆に戻すショートカットが無い。ゴテゴテとウィンドウが重なっている状態があまり好きじゃなくて、都度「しまう」を行っていたりするわけだけど、Cmd + Tab でアプリケーションを切り替…
ECMAScript 6th には super キーワードがある。もとからキーワードとしてはあったけど、6th から挙動をもつキーワードとなった。期待通り、プロトタイプチェーン上のプロパティアクセスまたはメソッドコールに使用できるキーワードである。使用可能な箇所は:…
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…
928508 – String.prototype.@@iterator (and thus for-of) incorrectly iterates over code units rather than Unicode characters ちょいと面白いものが実装されて、String.prototype["@@iterator"]がアップデートされてた。"@@iterator" というのは、ECMAS…
Firefox 用の Pano とか Thunderbird 用の WAT とかを無効化した。理由は、随分前からメンテできてなくて、これからもするかどうか怪しいから。そのくせ、たまに質問メールらしきものが来る。いい加減面倒になってきたのだ。ソースは GitHub にあるわけだが…