Hatena::ブログ(Diary)

文殊堂 このページをアンテナに追加 RSSフィード Twitter

2012-08-31

BPStudy#60 ECMAScript5時代のJavaScriptライブラリ

JavaScript: 世界で最も誤解されたプログラミング言語(2001年)

JavaScript: The World’s Most Misunderstood Programming Language

oct inaodu

2012年未だ誤解されているプログラミング言語JavaScript

嫌われている"JavaScript"とは何か?
  • ECMAScript3
    • 13年前・前世紀(1999年)の言語仕様
  • IE6
嫌われている"JavaScript"と同世代の各言語のバージョンは?
  • Python2.1
  • Ruby1.6
  • Perl5.6
  • J2SE1.3

現在のJavaScriptはECMAScript5

どの環境で使える?

no title

ES5 features on iOS/Android's default browser - 愛と勇気と缶ビール

  • IE9+(Strict modeを除く)
  • Google Chrome13+
    • 変数名にゼロ幅スペース使用可能」を除く
  • Firefox6+
  • Safari5.1.4+
    • 変数名にゼロ幅スペース使用可能」を除く
      • 込みなら6+
  • MobileSafari iOS6+
  • Android 標準ブラウザ 4.0+
    • 変数名にゼロ幅スペース使用可能」を除く
    • strict modeを除く
      • 込みなら4.1+
  • Opera12+
    • 変数名にゼロ幅スペース使用可能」を除く

shimライブラリを使えば対応環境はもっと増える

GitHub - es-shims/es5-shim: ECMAScript 5 compatibility shims for legacy (and modern) JavaScript engines

  • IE9+(Strict modeを除く)
  • Google Chrome13+
    • 変数名にゼロ幅スペース使用可能」を除く-Firefox6+
  • Safari5.1+
    • 変数名にゼロ幅スペース使用可能」を除く
      • 込みなら6+
  • MobileSafari iOS5.0+
    • 変数名にゼロ幅スペース使用可能」を除く
    • 変数名にゼロ幅スペース使用可能」を除く
    • strict modeを除く
      • 込みなら4.1+
  • Opera12+
    • 変数名にゼロ幅スペース使用可能」を除く
何が出来る?
  • strict mode
  • Array#map等のarrayの反復メソッド
  • その他builtin objectの便利メソッドが若干
  • native JSON
  • Function#bind
  • Object.create
  • object保護関数
    • Object.preventExtensions
      • propertyの追加定義禁止
    • Object.seal
      • propertyの追加定義・再定義禁止
    • Object.freeze
      • propertyの追加定義・再定義・値の変更禁止
  • Object.Object.defineProperty
    • writable
    • enumerable
    • configurable
    • value
    • get
    • set

ECMAScript5の豊かさを活かしていきたい

ECMAScript5をターゲットにしたライブラリ、BeautifulProperties.js

v0.1.0を先ほどリリースしました

GitHub - monjudoh/BeautifulProperties.js at v0.1.0

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

リンク元
Connection: close