タグ

ECMAScriptに関するyogasaのブックマーク (20)

  • ES2016の追加機能が決定、あるいはES7言うな問題 - teppeis blog

    今年6月に公開予定の ECMAScript 2016 (ES7) で追加される機能が以下の2つに決定した。 Array.prototype.includes Exponentiation Operator 今後は3月1日にスペックのスナップショットが切られ、6月の公開に向けた作業が始まる。 あれ、ES7ってそれだけなの?と思った方は、ぜひ ECMAScript の新しい策定プロセスを確認されたし。 標準化には2つの実装が要求される 昨年公開されたES6以降、ECMAScript の仕様策定プロセスは機能ベースで毎年リリースするスタイルになった。 細かいプロセスは 『ECMAScriptの仕様策定に関するカンニングペーパー | Web Scratch』 を参照してもらうとして、重要なポイントは、提案機能が標準化される(Stage 4になる)ためには2つ以上の実装が必要ということ。 今回のES

    ES2016の追加機能が決定、あるいはES7言うな問題 - teppeis blog
  • 「ECMAScript 6」が正式に承認される | OSDN Magazine

    標準化団体ECMA Internationalは6月17日、JavaScriptの最新標準仕様となる「ECMA-262 6th edition」を採択したことを発表した。「ECMAScript 6(ES6)」が正式に承認されたことで、Webブラウザなどでの実装が進むことが期待される。 スイス・モントルーで開催された109回目の総会で承認された。ECMAScriptの第1版は1997年に登場、1999年に第3版が登場した後、第4版は放棄となった。2009年に第5版が登場、そして今回の第6版となる。 ECMAScript 6(ES6)は「ECMAScript 2015」とも呼ばれ、モジュール機構や新たなクラス機構が導入された。このほか、ジェネレーターや非同期処理のPromise、タプル、アロー関数、Setオブジェクト、Mapオブジェクトなどの新機能が加わっている。後方互換性も残されている。 E

    「ECMAScript 6」が正式に承認される | OSDN Magazine
  • ECMAScript没proposal追悼式

    4. ● id: tyage ● 京大工学部情報学科3回 ● JavaScriptとか書いてる ● 趣味 ○ 脆弱性報告 ○ CTF 司会担当

    ECMAScript没proposal追悼式
  • より安全なJavaScriptを書くために、あったらいいよねという機能 - mizchi's blog

    こんな記事があった。 My ECMAScript 7 wishlist | NCZOnline 大雑把にいうと、制限されたgetterがほしいという意見に記事のほとんどが割かれてる。 JavaScriptのデバッグ中、一番つらいものの一つに、未定義値にアクセスしたときにundefinedが代入されており、その結果が次のアクセスにならないとわからないという点だと思う。 o = { a: () => 1, b: () => 2, c: () => 3, d: () => 4 } f = o.e // ここでエラーにならない // 30行ぐらいのコードがあって忘れるとする f() // エラー これが辛い。これを回避するためにどんな仕様が必要か。 というわけで、自分がほしいものはなんだろうと考えてみた。(注意:この記事は上の記事の翻訳記事ではない) 僕自身があんまりES harmonyの議論追っ

    より安全なJavaScriptを書くために、あったらいいよねという機能 - mizchi's blog
  • や...やっと理解できた!JavaScriptのプロトタイプチェーン - maeharinの日記

    JavaScriptのプロトタイプチェーンについて理解しようとしたのだけど、prototypeとか__proto__とかごちゃごちゃになって、色んなブログを読んでもなかなか理解しきれなくて悶々としていたのだが、図を書いたらパッと理解できた!以下、情報ソースはなるべくECMAScript仕様書(3rd)を元にするようにして書きました なぜ分かりづらいのか? そもそも、なぜJavaScriptのプロトタイプチェーンは自分にとってこうも分かりづらかったのだろうか?自分なりに分析してみると、まず、「似ているが違う用語が沢山ある」という点がある。ざっとあげただけでも、「prototypeと__proto__」「__proto__と[[Prototype]]」「FunctionとFunctionオブジェクト」などがある。そして次に、「入り組んだ構造が動的に変化する」という点がある。上記のように似たよう

    や...やっと理解できた!JavaScriptのプロトタイプチェーン - maeharinの日記
  • ECMAScript tools - composable modules and transpiler infrastructure

    ECMAScript tools composable modules and transpiler infrastructure Yusuke Suzuki (a.k.a Constellation) self introduction ECMAScript engine iv / lv5 (written in C++) owner Esprima committer Escodegen owner Esmangle owner background ECMAScript everywhere ECMAScript is now widely used client side server side databases And ECMAScript tools are also developed widely ECMAScript tools tools UglifyJS closu

  • JavaScript 言語概要 - JavaScript | MDN

    JavaScript チュートリアル 初級編 JavaScript の基礎 JavaScript の第一歩 JavaScript の構成要素 JavaScript オブジェクト入門 JavaScript ガイド 入門編 文法とデータ型 制御フローとエラー処理 ループとイテレーター 関数 式と演算子 数と日付 テキスト処理 正規表現 インデックス付きコレクション キー付きコレクション オブジェクトを利用する Using classes プロミスの使用 JavaScript 型付き配列 イテレーターとジェネレーター メタプログラミング JavaScript モジュール 中級編 クライアントサイド JavaScript フレームワーク クライアントサイド Web API Language overview JavaScript のデータ構造 等値比較と同一性 プロパティの列挙可能性と所有権 クロ

    JavaScript 言語概要 - JavaScript | MDN
  • javascript - そろそろECMAScript 5を使いたい少なくとも3つの理由 : 404 Blog Not Found

    2011年12月16日15:00 カテゴリLightweight Languages javascript - そろそろECMAScript 5を使いたい少なくとも3つの理由 下準備も終わったので、blogで扱うJavaScriptは、特に断りのない限りECMAScript 5を前提にしていくことにします。 0. どのブラウザーで使えるの? 以下で確認できます。 ECMAScript 5 compatibility table ざっといろいろ試してみると… IEは9以上以降かつStandard Modeなら使える Safari 5はFunction.prototype.bindのみ使えない - 5.1.4より[native code] iOS5も同様 Android 2.3ではさらに加えてObject.sealなどObjectをロックする機能が使えない というわけで、もう使いはじめてもい

    javascript - そろそろECMAScript 5を使いたい少なくとも3つの理由 : 404 Blog Not Found
  • ECMAScript と OOP パラダイム、それに ES.next の議論中 OOP 周りのシンタックス - oogatta のブログ

    JavaScript Advent Calendar 2011 (オレ標準コース)4日目の id:oogatta です。どうもどうも、いやどうも。 最近丁度 ES Wiki を眺めていて、面白いことになってるなあ。変態的なことになってるなあ。と楽しく見ていた OOP パラダイム周りのいくつかの手法(定義、継承、 mixin 、 trait )について、 ES.next または Harmony で議論されているものをご一緒に調べながらご紹介したいと思います。 ECMAScript3 さて、復習としてまずは ES3 での OOP パラダイムの実装についてですが、これはもう Dmitry 先生の ECMA-262-3 in detail. Chapter 7.1. OOP: The general theory. を読んでくださいというか、気持ちよく丸投げしたいところですが、翻訳すると言ってまだ

    ECMAScript と OOP パラダイム、それに ES.next の議論中 OOP 周りのシンタックス - oogatta のブログ
  • ECMAScript 6に向け、よってたかって進化が続くJavaScript

    JavaScriptはEcma Internationalと呼ばれる標準化団体によって言語仕様の標準化が行われています。最新バージョンは、2009年12月に策定されたECMAScript 5th Editon。これが昨年4月にISO/IEC 16262 3rd Editionとして国際標準にもなりました。その後、昨年の6月には修正版のECMAScript 5.1が公開されています。 現在のWebブラウザがJavaScriptの仕様として参照しているのが、このECMAScript仕様です。 そして次期版ECMAScriptとして、ECMAScript 6th EditionもしくはES.nextもしくはProject Harmonyなどと呼ばれる仕様策定作業が進行中です。2013年末の策定完了を予定しているようです。 それまでまだ2年ありますが、すでに次期版ECMAScriptに関する情報が

    ECMAScript 6に向け、よってたかって進化が続くJavaScript
  • ECMAScript 6th の構文をまとめてみた - hogehoge @teramako

    harmony:specification_drafts [ES Wiki] ECMAScript 6thのドラフト版が挙げられている。現在はSeptember 23, 2011のドラフトが最新で、このドラフトの構文部分のみを抜粋してHTML化してみた。 ECMAScript Syntax Grammar 6th Edition / Draft よろしければ、どうぞ。 構文上で、5thとの大きな違いは、 let, constによる変数、定数宣言の導入 AssignmentPatternやBindingPattern辺りが導入されている ...が導入されている 辺りでしょうか。 BindingPattern これは何かっていうと、オブジェクトや配列(Array)の中身の要素を直に変数に入れられるようになる。BindingPatternにはObjectBindingPatternとArrayB

    ECMAScript 6th の構文をまとめてみた - hogehoge @teramako
  • モテるJS系女子力を磨くための4つの心得 - KAYAC Engineers' Blog

    1. あえてECMAScript3.0以前の実行環境を使う あえてECMAScript3.0の実行環境を使うようにしましょう。そしてATNDで好みの男がいたらLT参加を告知し、わざとらしく発表準備段階でコンソールを出していじってみましょう。そして「あ~ん! この実行環境当にマジでチョームカつくんですけどぉぉお~!」と言って、男に「どうしたの?」と言わせましょう。言わせたらもう大成功。「ECMAScriptとか詳しくなくてぇ~! ずっとコレ使ってるんですけどぉ~! Object.keysが使えないんですぅ~! ぷんぷくり~ん(怒)」と言いましょう。だいたいの男は新しい実行環境を持ちたがる習性があるので、ECMAScript5の実行環境を使っているはずです。 そこで男が「新しい実行環境にしないの?」と言ってくるはず(Object.prototypeの拡張を勧める男はその時点でガン無視OK)。

    モテるJS系女子力を磨くための4つの心得 - KAYAC Engineers' Blog
  • use strict 怖い - hogehoge @teramako

    Perlの話ではない、JavaScriptの話なのである。 あと、タイトルはまんじゅう怖い的な意味なのである ECMAScript 5 strict mode in Firefox 4 ? Mozilla Hacks ? the Web developer blog Firefox4.0b10pre に ECMAScript5 の Strict モードが実装されましたーパチパチー で、自分がはまった罠について書いておくよ。まあ上記ページに書かれていることなんだけどね。 "caller", "callee" in arguments オブジェクト 使うとエラー (function() { "use strict"; return arguments.callee; })(); TypeError: 'caller', 'callee', and 'arguments' properties

    use strict 怖い - hogehoge @teramako
  • Node.compareDocumentPositionが素晴らしい - hogehoge @teramako

    と呟いていたら、 id:caisui さんが と教えてくれた。 広範囲にイベントを取得して、イベント発生元がどの要素に含まれるかで処理を変えたい時があって、そんな時は親ノードを辿って調べるという面倒なことをしていた。これとはおさらばしたいということで、compareDocumentPositionについて調べてみた。 Node.compareDocumentPosition - MDC Doc Center The return value is a bitmask with the following values: DOCUMENT_POSITION_DISCONNECTED = 0x01; DOCUMENT_POSITION_PRECEDING = 0x02; DOCUMENT_POSITION_FOLLOWING = 0x04; DOCUMENT_POSITION_CONTAINS

    Node.compareDocumentPositionが素晴らしい - hogehoge @teramako
  • Under Translation of ECMA-262 3rd Edition

    This Document has Moved. この文書は http://www2u.biglobe.ne.jp/~oz-07ams/2002/ecma262r3/index.html に移動しました。 Japanese fonts required. All rights reserved. 1998-2015 TAKI

  • コア・JavaScript ( JavaScript. The Core. ) - oogattaの勉強日記

    この文章は、 Dmitry A. Soshnikov さんの、 ECMAScript に関する優れた記事 "JavaScript. The Core." を許可を得て翻訳したものです。世の中に、 JavaScript のブラウザ API や、実装系に関する記事は多々あれど、 ECMAScript の仕様に則って、ここまで詳しく説明してくれている記事は殆ど無いと思います。今回は翻訳できておりませんが、文中で参照されている Dmitry さんの ES3 シリーズも、読み応えのある( ECMAScript3 の仕様の副読としても読める)素晴らしい内容ですので、是非チャレンジしてみてください!(ご要望があれば訳します翻訳許可を頂いたので、この記事内で参照されている章から逐次翻訳を進めます!)。 ちなみに Dmitry さんは、計算機科学や数学にも明るい方でらっしゃいます。が、私は違います。極力

    コア・JavaScript ( JavaScript. The Core. ) - oogattaの勉強日記
  • JavaScript の分割代入まとめ - mooz deceives you

    幻の ECMAScript 4th 幻となった ECMAScript 4th のドラフトを眺めていたところ, p.33 に Destructuring assignment and binding (分割代入, 分割束縛) という項目を発見した. 分割代入に関しては JavaScript 1.7 (Firefox などが用いる SpiderMonkey や Rhino に実装済み) から使用が可能であるため, ご存知の方も多いのではないかと思う. 「そういえば詳しい仕様は見たことがなかったな」と軽い気持ちで読み進めていたところ, そこに述べられていることが Haskell や OCaml など関数型言語におけるパターンマッチと同等であると分かり, 驚いた. 例えば, 分割代入においては次のように deep なパターンが利用可能であると書かれている. let { x: {a, b}, y:

  • 第4回 JavaScriptの基礎知識#1 | gihyo.jp

    こんにちは、太田です。前回はクロスブラウザのパターンについてまとめました。今回はより具体的にJavaScriptの基礎的な部分からそこそこJavaScriptに慣れた方でも間違いやすいポイントを中心に解説します。 JavaScriptの背景知識 JavaScriptは(未だに)誤解されがちな言語です。まずはJavaScriptの背景から解説していきます。 (広義の)JavaScriptとはEcma Internationalによって策定されているECMA-262という規格(ECMAScript)を実装した処理系で実行される言語を指します。遠回りな表現になっていますが、これはJavaScriptのややこしさの一端を表しています。つまり、JavaScriptそれ自体に仕様があるわけではない、ということです。ECMAScriptと呼ばれる言語の仕様があって、その仕様に準拠した言語を(広義の)Ja

    第4回 JavaScriptの基礎知識#1 | gihyo.jp
  • EfficientJavaScript - Dev.Opera - 効率的な JavaScript

    EfficientJavaScript - Dev.Opera - 効率的な JavaScript 目次 この文書について 効率的な JavaScript ECMAScript eval や Function のコンストラクタを使うのはやめよう eval を書き換えよう 関数を使いたいなら function を使おう with を使うのはやめよう 性能を決める関数で try-catch-finally を使うのはやめよう eval と with は隔離しよう グローバル変数を使うのはやめよう 暗黙のオブジェクト変換に気をつけよう 性能を決める関数で for-in を使うのはやめよう 文字列は累積スタイルで使おう プリミティブの操作は関数呼び出しより速い setTimeout() や setInterval() には文字列でなく関数を渡そう DOM 再描画と再フロー 再フローの回数をでき

  • 2010年のJavaScript:「これまで」と「これから」 | gihyo.jp

    2010年のJavaScriptと題しまして、JavaScript周辺の「これまで」と「これから」についてまとめてみたいと思います。 2009年までのJavaScript JavaScriptは各ブラウザベンダなどが個別に実装するという特殊性から、ブラウザ(実装)ごとの非互換性の問題に悩まされ続けてきた言語です。まず、そのJavaScript歴史を簡単に振り返ってみます。 ECMA-262 3rd editionとスピードコンテスト JavaScriptNetscape社によってLiveScriptという名前で誕生し、その後ECMAScriptとして標準化が進みました。1999年12月にECMA-262 3rd editionが策定されてから、Internet ExplorerのJScript、MozillaのSpiderMonkey(TraceMonkey⁠)⁠、SafariのJav

    2010年のJavaScript:「これまで」と「これから」 | gihyo.jp
  • 1