ECMAScript デス 3at TECH
ECMAScript デス 3 - 暇つぶし2ch650:デフォルトの名無しさん
09/11/14 17:08:16
絵に描いた餅を現実化するのが実装者の仕事
餅を作るのに毎回絵から描き直してたらそれこそ時間の無駄だろ

651:デフォルトの名無しさん
09/11/14 18:10:37
じゃあ、読むのは時間の無駄じゃねーじゃん

652:デフォルトの名無しさん
09/11/16 11:52:29
>>648
じゃあECMAScript実装に貢献してくれ
MozillaでもAppleでもいいからさ

それはそうと、JISのほうってWeb上で公開されてたっけ?
それとも、よくある「金出して冊子買え」商法になってる?

653:デフォルトの名無しさん
09/11/16 15:44:58
jis検索でググれ

654:デフォルトの名無しさん
09/11/16 20:36:49
>>652
JISC とかいう組織のサイトで見れるよ。
但し、保存も印刷も出来ない細工をしてるつもりらしい。
実際にはこのスレ見てるような人なら簡単になんとか出来るだろうけどな。

どういうわけか見れる pdf は文書をラスタ画像化したものになってるので、
微妙にキタナい。 検索も出来んし。

655:デフォルトの名無しさん
09/11/17 00:28:38
大変アレなお知らせだが、そのJISCこそがISOにおける我が国の代表だ。
URLリンク(www.iso.org)

656:デフォルトの名無しさん
09/11/17 00:40:45
>654
っていうか一般人でも印刷は普通に出来る。
わざわざハックしなくても、スクショ(ry

657:652
09/11/17 11:14:18
>>654
完全に失念してた!ありがとう
URLリンク(www.jisc.go.jp)

中身は色々と残念すぎるので見なかったことにしたい・・・

658:デフォルトの名無しさん
09/11/17 13:44:13
翻訳くらいしろよと小一時間問い詰めたい

659:デフォルトの名無しさん
09/11/21 19:57:35
prototype.jsってECMAScript仕様に適合してる?
それともJavaScriptの拡張も使ってる?

分かる人いたら教えてくれ。

660:デフォルトの名無しさん
09/11/22 00:36:33
クロスブラウザな時点でわからないならry

661:デフォルトの名無しさん
09/11/22 06:14:33
$を平気で使ってる時点で察しろ

662:デフォルトの名無しさん
09/12/01 13:46:52
誰だよ単発のRhinoスレ立てた馬鹿は?
javascriptスレの連中か?

663:デフォルトの名無しさん
09/12/05 15:51:05
5th来たよー
URLリンク(www.ecma-international.org)

ドラフトはdocでも公開されてたけど正式版はpdfだけなの?


664:デフォルトの名無しさん
09/12/07 14:09:54
で、5版の規格ではどんな機能が追加されたの?
教えて偉い人

665:デフォルトの名無しさん
09/12/07 17:31:45
嫁!

666:デフォルトの名無しさん
09/12/11 22:24:42
どうかFirefoxのスクリプトの後方互換性ができるだけ失われませんように……

667:デフォルトの名無しさん
09/12/12 20:52:56
言語仕様が変わらなくてもDOMの方で変わっていくから・・・

668:デフォルトの名無しさん
09/12/12 20:54:54
なにやってもどうせIEが糞実装だから心配するな。やるべきことは変わらん。

669:デフォルトの名無しさん
09/12/14 10:45:03
ES3に毛が生えた程度のES5で
後方互換性が気になるような書き方をしていたのなら
豆腐の角に頭ぶつけた方がいいぞ

670:デフォルトの名無しさん
09/12/14 14:09:02
誰得メソッド満載な仕様が嫌だ!

671:デフォルトの名無しさん
09/12/14 17:27:56
ECMAScript 5th Editionで改善された3rd Editionの項目
URLリンク(d.hatena.ne.jp)

672:デフォルトの名無しさん
09/12/29 17:48:39
"use strict";

673:デフォルトの名無しさん
10/01/12 17:04:39
ecma5でもオブジェクトのプライベートメンバー作れないのかよ
あとgoto文も使えないな

674:デフォルトの名無しさん
10/01/12 19:36:41
なんでgoto文いれるんだろう?
JSでyaccでも書かせるのかな

675:デフォルトの名無しさん
10/01/20 15:35:02
ES5にgotoないよね?
使えないってuselessではなくunavailableの意味だよね?

676:デフォルトの名無しさん
10/01/28 17:23:26
>>664
URLリンク(www.infoq.com)

677:デフォルトの名無しさん
10/03/04 19:12:57
カウチdata baseって大規模なwebでも使えるものなの?

678:デフォルトの名無しさん
10/03/26 17:16:16
Errorオブジェクトは例外の種類は分かるけど
どこで例外が投げられたか分からないのが糞

679:デフォルトの名無しさん
10/04/01 18:56:03
SpideMonkeyで配列内包をwithの中で使ったときの動作がおかしい気がするんだけど

alert([i*i for each(i in [1,2,3])]); //OK
with({}){
alert([i*i for each(i in [1,2,3])]); //ReferenceError: i is not defined
}

680:デフォルトの名無しさん
10/04/09 23:49:24
letも分割代入もできるJS1.7でwithを使う奴の気がしれん

681:デフォルトの名無しさん
10/04/21 23:50:06
with,Call,ClosureはNetscapeからの贈り物。
importとexportは取り込んで良かったと思う。

682:デフォルトの名無しさん
10/08/10 17:59:05
URLリンク(www.publickey1.jp)

IE9からはJavaSciptの対応バージョンは最新のECMAScript 5th Edition(ECMAScriptとは、
JavaScriptの基となる仕様の名称)準拠となっているようですが、
IE9 Platform Previewに対するフィードバックにより、ECMAScript 5th Editionの仕様のバグを発見しています。

具体的には、ECMAScript 5th Editionの仕様とそれ以前のECMAScriptで
動作に違いがあることがIE9 Platform Previewにより発見され、
過去との互換性維持のためにECMAScript 5th Editionの仕様のアップデートにつながったとのことです
(詳細は「How IE9 Platform Preview Feedback Changed the JavaScript Standard」参照)。

683:デフォルトの名無しさん
10/08/19 23:39:56
>JavaSciptの対応バージョンは最新のECMAScript 5th Edition準拠
でもJScriptなんでしょ。
MSお得意の仕様には準拠したけど実装は・・・てやつ。

最近はこの手口止めて自分とこの仕様をECMAに投げて標準化してるけどECMAScriptだけは入り込む隙ないからな。
入り込もうとするたびに実装を利用してるコミュニティの猛反発食らってるし。

3Eが形変えただけってのは皆分かってるからなぁ。

684:デフォルトの名無しさん
10/08/22 22:53:57
意味が分からん。標準仕様に完全に準拠してるなら、別にそれ以外の独自拡張をしたっていいじゃん。
それともまさか名前がJavaScriptじゃないことを叩いてんの?

685:デフォルトの名無しさん
10/08/23 20:14:00
なんで独自拡張が混乱の元になるかも分からんゆとりか?
だいたいIEの場合、標準仕様に完全に準拠は絶対にない。


686:デフォルトの名無しさん
10/08/23 22:14:37
独自拡張を全否定したらWEBの発展が見込めないってこともわからんゆとりか。
完全準拠してないならまずそこを穿ってけばいいのに。

687:デフォルトの名無しさん
10/08/23 22:19:42
ecmaの仕様の話するスレで独自拡張布教するなよ。


688:デフォルトの名無しさん
10/08/23 22:21:53
独自拡張に依らないウェブの進化を目指してたXHTML2がこけちゃったもんな

689:デフォルトの名無しさん
10/08/24 10:09:47
つか、WHATWGが「どうせ俺らが実装しなきゃ絵に描いた餅なんだから、
仕様は俺達で作るわ、XHTML使いづれーし」って言って、W3Cが涙目で応じたじゃん?

つまり、MSの独自拡張の時代はずっと前に終わってて、
WHATWGが実装ありきで仕様を作り、W3Cがそれを勧告するっつー流れ。

690:デフォルトの名無しさん
10/08/29 09:14:09
ecmascriptで相互再帰って出来るの?
普通の再帰にフラグを渡してその値で場合分けするみたいな
微妙なやり方しか思いつかないんだけど

691:デフォルトの名無しさん
10/08/30 12:00:01
出来るので頑張ってください。
微妙な実装になるかどうかはあなたのセンス次第です。

692:デフォルトの名無しさん
10/08/30 19:06:37
function f(){
return g();
}

function g(){
return f();
}

あばばばばば。

693:デフォルトの名無しさん
10/08/30 19:55:05
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /

694:デフォルトの名無しさん
10/08/31 14:59:13
wikiとか見たけど混乱したんで教えてください

ECMAScript5thがJavaScript1.9で実装されてて(firefox4)
ECMAScript4thがJavaScript2.0(JScript/ActionScript)っていう認識はあってますか?

それとも2009/12に策定されたECMAScript5thのことをJavaScript2.0って呼んでいて
ECMAScript 4thは仕様策定放棄され
JScript/ActionScriptはECMAScript4thの草案を実装してるだけ(JavaScript2.0ではない)なのでしょうか

695:デフォルトの名無しさん
10/08/31 15:46:30
JavaScript2.0はまだ出ていないけど、ECMAScript 5Eを元に策定される予定。
IE9に載るJScriptもECMAScript 5Eを元に策定される予定。

ECMAScript 4Eは公式には存在しない(今後も作られない)。
ただしいくつかの草案があって、それらを元に現在のActionScriptが出来た。
一方現在のJavaScriptやJScriptは4Eの草案やActionScriptとはほぼ別物。

4Eと5Eには互換性がない、けど4Eの機能のいくつかは5Eにも取り込まれた。

こんな感じ

696:デフォルトの名無しさん
10/08/31 16:09:45
>>694
4については、
Adobe, Mozilla <-> Microsoft、その他
って構図で、最後はJavascript創始者のBrendan Eichが、
4放棄の取りまとめをした。
JScript(MS)とActionScript(Adobe)を
同じグループにいれているのは間違い。
4の成否にもっとも激しく対立した二者。

697:デフォルトの名無しさん
10/08/31 17:43:25
wikipediaのECMAScriptのページに、どっちも草案って書いてたから
MS/Adobeの件は激しく勘違いしてました

そして、今はまだJavaScript2.0は出てないんですね
ただ、2.0はECMAScript 5thの仕様ベースになるっていう意味で
javascript2.0を試した、とか
javascript2.0策定完了、とか
そんな記事があるわけか

当初ECMAScript4thの仕様がJavaScript2.0になる予定だったためか?
2006年頃発売なのにJavaScript2.0対応とかいう本もあったりと
2.0の周りは混沌としてますね

698:デフォルトの名無しさん
10/08/31 17:54:23
ついでにもう一個、もし知ってる人いたら教えてください
ECMAScriptの初版(=2版)の仕様策定に関わった人として
敬愛するGLSの名前があるわけですが
JavaScriptの関数がファーストクラスとして使えたのは
ECMAScript策定前からでしょうか?
初版の時点で既に無名関数があるわけですが
彼が原因じゃないかと推測します

699:デフォルトの名無しさん
10/08/31 18:13:18
SteeleはECMAに仕様を出す前に、
仕様を整える役として急遽呼ばれた。
幾つかの言語の仕様を書いて慣れているので。
基本的な部分の設計には全く関わってない。
関数がファーストクラスな言語はそれほど珍しくない。
全てがSteele由来なわけでもない。

ただBrendan EichはブラウザにSchemeを組み込むつもりで、
ネットスケープ社に入社した。諸々も事情で、
プロジェクトを離れている間にC言語風になった。

700:デフォルトの名無しさん
10/08/31 18:41:51
詳しいですね、ありがとうございます
scheme使う人だったんですね
>>プロジェクトを離れている間にC言語風になった。
悲哀を感じます。

そしてそのGLSが呼ばれて整えた仕様書は
crockford曰く「The specification is of extremely poor quality」
悲哀を感じます。

>>関数がファーストクラスな言語はそれほど珍しくない。
>>699はMLだとかmirandaだとかそういう言語を想定してるんだと思いますが
1998年頃一般的に流行ってた言語の中ではすごいことだと思います
今でこそTiobeのトップ20の言語の半分以上はlambda相当のことが出来るけど

701:デフォルトの名無しさん
10/08/31 18:58:15
一般のプログラマは言語なんてほとんど知らないから。
彼らにとって珍しいことが、設計者にとって珍しいってことはない。

702:デフォルトの名無しさん
10/08/31 19:58:04
【レポート】IE9、JavaScript仕様と現実の落としどころ | エンタープライズ | マイコミジャーナル:
URLリンク(journal.mycom.co.jp)

703:デフォルトの名無しさん
10/08/31 20:21:53
JavaScriptの定義ってわかり難いよね
広義ではブラウザ上で動くECMAScriptの実装を意味していて、
狭義ではMozillaのECMAScript実装だけを意味するってことでOK?
で、JavaScript2.0ってのはMozillaの実装のバージョンを意味してるんだよね?

704:デフォルトの名無しさん
10/08/31 21:20:22
狭義ではブラウザ上で動くECMAScript実装の内JavaScriptと名乗るものを指し、
広義ではサーバサイドJavaScriptみたいなのも含める感じ

狭義がMozillaの実装だけを指すってことは無いと思う。

705:デフォルトの名無しさん
10/08/31 21:59:45
JavaScriptってのは商標でもあるので、
>>703の言っていることのほうが正しいです。

706:デフォルトの名無しさん
10/08/31 22:09:19
>>703-704
枝葉をつつくようだが、ECMAScriptが制定される前からJavaScriptはあったわけで
そう言い切ると、NN2.0-3.0に載ってるのはJavaScriptじゃないってことになっちまう

JavaScript5版(oreilly)では、ブラウザ上で動くJavaScriptのことを
「クライアントサイドJavaScript」、言語としては「コアJavaScript」と区別して呼んでるね
これは広義の分類にあたりそうだ

707:デフォルトの名無しさん
10/08/31 22:27:29
>ブラウザ上で動くECMAScript実装の内JavaScriptと名乗るもの
javaの名を使うことで提携してんのはNNというかmozillaだけだと思うがいまどうなってんだろうな。
だからMSはJScriptにしたんだし。

708:デフォルトの名無しさん
10/08/31 23:29:13
>>705
>>706と関連するけど、NNの実装はどうなるのさ、と

>>707
URLリンク(en.wikipedia.org)
こんな感じで呼ばれてるみたいよ。

709:デフォルトの名無しさん
10/08/31 23:58:59
なんとなく、ECMAScript + W3C DOMのことをJavaScriptと呼んでるようなイメージ。
>>708のウィキペディアの記事にもそんなニュアンスのことが書いてある。

710:デフォルトの名無しさん
10/09/01 08:07:38
歴史的にもクライアントサイドで動的webやるためにDOMを扱えるスクリプト実装したのが
LiveScriptだからECMAScript + W3C DOMのことをJavaScriptと呼ぶのは自然の流れ。
Natscape js1.4で分離されるまでJavaScriptの仕様にDOMが含まれてたんだし。
1.4でJavaScript CoreとDOMに分離された。

711:デフォルトの名無しさん
10/09/01 12:11:48
>>700
Steeleのやったのは文言の訂正とかそんなレベルだよ。


712:デフォルトの名無しさん
10/09/02 16:02:52
IEBlog > Chakra: Interoperability Means More Than Just Standards

・What’s the Real Regular Expression Grammar?
・Why Doesn’t IE9 have those _ _ methods?
・A Malfunctioning Consensus Feature
・So What About const?
・Principled Decision Making

Allen Wirfs-Brock
Microsoft JavaScript Language Architect

URLリンク(blogs.msdn.com)


713:デフォルトの名無しさん
10/09/02 21:23:06
この記事の元ネタですかね。
URLリンク(journal.mycom.co.jp)

714:デフォルトの名無しさん
10/09/03 01:49:45
constの挙動とか、以前の版との整合性だけ修正して
Edition 6が割とすぐ出そうな気がするのは俺だけ?

715:デフォルトの名無しさん
10/09/04 01:34:42
・正規表現
errata か、なくてもいいんじゃ
・__*__ methods
元から範囲の外
・文内の関数位置
確か、ES5 で IE と同じ挙動にしたはずでは…途中でやめたか?
・const
ES5 には元から入っとらんわ

716:デフォルトの名無しさん
10/09/08 17:06:48
>>715
>・const
>ES5 には元から入っとらんわ

つまり今constをサポートしてるブラウザは
規格に入ってない機能を勝手に独自実装してる欠陥品って事か
欠陥品じゃないって言うならIEの独自機能も認めないとおかしい

717:デフォルトの名無しさん
10/09/08 17:16:54
規格に入ってる機能を実装してない欠陥品よりマシ

718:デフォルトの名無しさん
10/09/08 18:10:47
今ある全てのブラウザが欠陥品ってこと?
全部実装してるブラウザはいまのところ存在しないんだけど

719:デフォルトの名無しさん
10/09/08 18:21:00
>>717は「MSが駄目って指摘できるボクちゃんカッケーww」って
勘違いしちゃってる馬鹿

720:デフォルトの名無しさん
10/09/08 19:32:40
独自実装と先行実装だったら、後者のほうがましだなあ、と。

721:デフォルトの名無しさん
10/09/08 20:36:37
つまりXMLHttpRequestを最初に実装したIEは偉大

722:デフォルトの名無しさん
10/09/08 22:36:31
IE信者のプロパガンダにしか見えん。

constも例外処理も勝手に追加したのはspidermonkeyだがこれらがあると欠陥とな?
ブラウザ戦争の引き金になる糞互換な実装をやめろって話なのが分からんのか。

webkitとかwebkitとかwebkitとか

723:デフォルトの名無しさん
10/09/08 23:51:06
constについては、constの仕様が不確定なことと、
このような機構が将来仕様に含まれるとしても、
今のconstのようなものになるか不確定であること、
この二点を採用しない理由に挙げてるけど、
constってのはObjectの性質じゃなくて、
変数の性質だから、他の方法なんてないんじゃないの?

724:デフォルトの名無しさん
10/09/08 23:58:47
たとえば同じ名前の変数にconst指定した場合、ブラウザによって次のように別々の動作をみせるという。

* シンタックスエラーとみなしローディングを実施しない。
* 関数がコールされた段階で例外を発生する。
* 定数の上書きは成功し、変数としての上書きは処理しない。
* ただの変数として処理する。

725:デフォルトの名無しさん
10/09/09 06:59:32
IE以外のどのブラウザもそれなりにECMAScriptの独自拡張はしてるって話だろ?
実際、constの挙動がバラバラなんだし。これを先行実装と言い張るのはなあ

726:デフォルトの名無しさん
10/09/09 12:56:28
constよりletほしい。

727:デフォルトの名無しさん
10/09/09 15:37:18
式クロージャも欲しい

728:デフォルトの名無しさん
10/09/09 15:45:29
いらん

729:デフォルトの名無しさん
10/09/09 16:21:06
ネイティブにコンパイルできるようにならないのかな
PHPをC++にコンパイルするやつはあったな

730:デフォルトの名無しさん
10/09/09 16:43:02
>>729
すでに主流のブラウザに搭載されているJSエンジンは、JIT(Just In Time compile)化されていたはず。
少なくともFirefoxのSpidermonkeyは、JIT化によって大きな性能改善を果たした。

731:デフォルトの名無しさん
10/09/09 21:57:02
FirefoxもChromeもコード生成に実行時情報使うからAOTでコンパイルするのはつらいな。
ネイティブコードにはなるだろうが実行性能的な意味で。

732:デフォルトの名無しさん
10/09/09 22:45:26
できてせいぜい中間コードまでだろうなあ

733:デフォルトの名無しさん
10/09/09 23:48:32
中間コードにはコンパイルできなきゃ困るだろ・・・

734:デフォルトの名無しさん
10/09/10 10:14:54
>>732
V8のコード読めばいろいろ参考になるよ
SpiderMonkeyよりかは読みやすいし

>>726
これは同意
ブロックスコープ使いたいお・・・

735:デフォルトの名無しさん
10/09/10 10:56:58
letもいいけど分割代入も欲しい

736:デフォルトの名無しさん
10/09/14 07:12:45
json形式のデータでlistと配列(vector)区別する一般的な方法はないのでしょうか?

list
[1,2,3]

vector
{vector:[1,2,3]}

とかでいいのでしょうか?


737:デフォルトの名無しさん
10/09/14 12:36:02
ベクターとか本当に必要か?

738:デフォルトの名無しさん
10/09/14 13:53:11
jsonてここでいいのか?

739:デフォルトの名無しさん
10/09/14 14:00:52
枝葉末節だけどJSON形式ならキーを文字列にしないといけない

740:デフォルトの名無しさん
10/09/14 14:12:07
まあJSOということで

741:デフォルトの名無しさん
10/09/14 14:45:25
それってただのJSじゃね

742:デフォルトの名無しさん
10/09/15 01:06:29
JSObjectなら

743:デフォルトの名無しさん
10/09/22 20:40:11
JavaScript for Internet Explorer 9 Beta
URLリンク(msdn.microsoft.com)(v=VS.94).aspx

IE9はJScriptじゃないの?

744:デフォルトの名無しさん
10/09/22 22:18:28
いまのjavascriptは製品名よりブラウザ上の言語名として一般にも普及してるからjavascriptを使うんだろう。

745:デフォルトの名無しさん
10/09/22 22:24:31
MSも丸くなったというか下り坂というか

746:デフォルトの名無しさん
10/10/03 17:01:05
ECMAScript 5 compatibility table
URLリンク(kangax.github.com)

Strictモードのスルーされっぷりは異常

747:デフォルトの名無しさん
10/10/03 23:09:05
strict は部分的には入ってる
一括して一項目だとな…セキュリティとしてはフルサポートしないとまずいんだけど

748:デフォルトの名無しさん
10/10/06 00:03:34
ActionScript3.0が対応してるECMA262ってこれであってますか?
URLリンク(www.ecmascript.org)

749:デフォルトの名無しさん
10/10/14 23:36:40
>>746
ようやくWebKit Nightly BuildとMinefieldでグリーンになった

750:デフォルトの名無しさん
10/10/15 10:06:23
>>746
>>749
今 mozilla-central 20101014041748 で見たら全部の項目がグリーンになっててビビった
Chrome の Canary build とか Chromium だとどうなんだろ(表には7までしかない)

751:デフォルトの名無しさん
10/10/16 00:06:47
>>750
カナリアも今のところChrome 7と同じ。
WebKit本体のJavaScriptエンジン(JavaScriptCore)はstrictモード対応したけど
Chromeは独自のJavaScriptエンジン(V8)を使っているので恩恵を受けていない。
その代わりJavaScriptCoreが未対応のObject.*の類をサポートしてる

752:デフォルトの名無しさん
10/10/16 00:18:41
あとMinefieldはstrict mode evalに未対応なので
evalを使ってるコードではまだ"use strict";しないかWebKitでもテストしたほうがいい
URLリンク(bugzilla.mozilla.org)

753:デフォルトの名無しさん
11/02/21 05:18:33.75
SubKlass.prototype に直接値を代入せずに Klass.prototype を継承したオブジェクトが作りたい
具体的には、
const Klass = function() {};
Object.defineProperties(Klass.prototype, {...});
const SubKlass = function() {};
SubKlass.prototype.__proto__ = Klass.prototype;
みたいなことをやりたいんだけど、これってES5標準の範疇では不可能?

754:デフォルトの名無しさん
11/02/21 07:45:40.04
Object.create(Klass.prototype)

755:デフォルトの名無しさん
11/02/21 07:48:36.45
4ヵ月書き込みがなかった間にMinefieldがstrict mode evalに対応したようだ

756:デフォルトの名無しさん
11/02/21 07:52:51.09
>>753
むしろconstがES5的に不可能
var Klass = function() {};
Object.defineProperties(Klass.prototype, {...});
Object.freeze(Klass);

757:デフォルトの名無しさん
11/02/21 08:15:26.09
>>755
Chromium(V8)の最新版もstrict modeに部分対応始めたし
あとはIE9さえ対応すれば完璧だな

Opera? Safari? 何それおいしいの

758:デフォルトの名無しさん
11/02/21 22:04:21.88
Safariはバージョンアップ遅いけど
WebKit Nightly BuildならもうかなりES5 strictに対応してるよ

759:デフォルトの名無しさん
11/02/22 03:03:54.10
>>754
SubKlass.prototype = Object.create(Klass.prototype);
すればできるのは分かるのですが、SubKlass.prototypeに元からあったプロパティは消えちゃいますよね。
この元からあったプロパティを残しつつ継承したいんです

>>756
constはつい癖で付けてしまいました。
Object.defineProperties(SubKlass.prototype, {
 property descriptors of Klass.prototype
})
だと
SubKlass.prototype.__proto__ !== Klass.prototype
になりますよね

760:デフォルトの名無しさん
11/02/23 05:11:49.13
多重継承?

761:デフォルトの名無しさん
11/04/01 19:30:12.58
strictモードで
function f(){
this.a = 45;
}
が出来なくなるのはただの劣化だと思うんだ。なんで元に戻したの?

762:デフォルトの名無しさん
11/04/01 22:53:16.39
strictなんだからできなくて当然と思うけど
それともnew忘れてるとか?

763:デフォルトの名無しさん
11/04/09 09:17:07.08
Property Descriptorってのは特殊なJSONっていう理解でいいの?

764:デフォルトの名無しさん
11/04/09 19:14:44.53
ここまで合ってるところがひとつもない文だとかえって直しようがない

765:デフォルトの名無しさん
11/04/29 22:28:49.48
IEで自分(パーツ)用のスタイルを設定したい場合にaddRuleを使ってたんだけど
IE8以降の標準モードではなぜか動かなくなってるような?
入れ物はできるけど中身が空になってる(.box{}みたいな感じ)。
そーいやChromeのダミーのaddRuleがそっくりの動作をしてたなと。

試してたソースはこれ。

if ( document.createStyleSheet ){
var myCSS =document.createStyleSheet();
myCSS.addRule( '.box', '{background-color: #f0f0f0;}' );
myCSS.addRule( '.box', '{border: 2px solid #aaaaaa;}' );
}

元のソースはIE以外にも対応するためにinsertRuleも使ってるんだけど
症状を確認するために極限まで削ってこれだけにしたのです。
(元のソースはcreateStyleSheetも使ってません)

IE8でモードを切り替えながらCSSを見てたけど
互換モードとIE7標準モードでは設定されるけどIE8標準では設定されない。
IE6やIE7ならモードに関係なく設定される。
IE9もIE9標準モードでは設定されないけどinsertRuleが使える。
(IE9標準モード以外はIE8と同じ)

ここまで重大な変更をしてると大きな問題になりそうな気がするけど
ググっても言及してるところが見当たらない。
何か基本的なところで勘違いをしてるのでしょうか?

766:デフォルトの名無しさん
11/04/30 08:54:13.95
myCSS.addRule( '.box', 'background-color: #f0f0f0;' );
myCSS.addRule( '.box', 'border: 2px solid #aaaaaa;' );

767:デフォルトの名無しさん
11/04/30 08:55:40.26
思わず答えちゃったけどECMAScript関係なくね?

768:デフォルトの名無しさん
11/04/30 14:48:24.99
関係ないよね
JavaScriptスレに行ったら?

769:デフォルトの名無しさん
11/04/30 17:39:12.00
JavaScriptとも関係ない気がするけど
Web制作板のJavaScriptスレはDOMの質問も扱っているようだ

770:デフォルトの名無しさん
11/05/01 11:23:34.55
仲良くしようよ(´・ω・`)

771:デフォルトの名無しさん
11/05/01 11:40:42.56
ECMAScript + DOM = JavaScript だからなあ。
DOMのこと聞けなかったらJavaScriptじゃなくてECMAScriptだ。

772:デフォルトの名無しさん
11/05/01 17:36:59.89
最近じゃそこにHTML5周辺のAPIも混ざってきて混沌としているがな

773:デフォルトの名無しさん
11/05/02 06:30:41.36
>>771
釣りなのか?
ECMAScript + Netscape独自拡張 = JavaScript
WSHやサーバーサイドJSやSpiderMonkeyのシェルやRhinoはJavaScriptじゃないとでも?

774:デフォルトの名無しさん
11/05/02 06:37:32.32
WSH上で動くのはJScriptだな
ECMAScript + Microsoft独自拡張 = JScript
断じてECMAScript + IEのDOMではない

775:デフォルトの名無しさん
11/05/02 06:45:29.37
ECMAScriptの解説書はなんで出ないんだろうか


776:デフォルトの名無しさん
11/05/02 11:20:41.14
The Good PartsはECMAScriptの解説みたいなもんだったが…

ES5の解説本が出てもいいと思うが、
wikipedia(ja)も放置状態だし、関心のある人は少ないのでは?

777:デフォルトの名無しさん
11/05/02 13:13:45.40
サイ本で十分役割を果たしてる

778:デフォルトの名無しさん
11/05/02 14:00:23.06
Web寄りすぎるだろ。

779:デフォルトの名無しさん
11/05/03 03:58:52.39
そろそろデスクトップ方面に注目した総括的な書籍が出て欲しいなあ
ネタ的には十分揃ってると思うんだけど

Titanium : URLリンク(www.appcelerator.com)
DashCode : URLリンク(www.apple.com)
Chromeless : URLリンク(mozillalabs.com)
XULRunner : URLリンク(developer.mozilla.org)
Google Desktop Gadgets : URLリンク(desktop.google.com)
Yahoo! Widgets : URLリンク(widgets.yahoo.co.jp)
Adobe Air : URLリンク(www.adobe.com)
QML : URLリンク(doc.qt.nokia.com)
Windows Scripting Host : URLリンク(support.microsoft.com)

CommonJS : URLリンク(www.commonjs.org)

780:デフォルトの名無しさん
11/05/03 06:55:35.87
WSHはもう互換性のためだけに提供されてる状態だった気がする

781:デフォルトの名無しさん
11/05/03 12:51:35.86
JScript9の新機能(ES5対応とか)はIE9の中でしか使えないんだっけ

782:765
11/05/03 18:05:18.66
質問するところ間違えてしまったようですまない。
そして答えてくれてありがとう。
あまりに単純な原因に衝撃を受けたよ……カッコが原因だったとは。
間違ってたのに今まで運良く動いてただけか(よくあることだけど)。
最初に見たソースがカッコがついててそれを参考にしたみたいです。
さっきあちこち見てまわったらつけてる人とつけてない人がいるね。


783:デフォルトの名無しさん
11/05/03 18:34:49.88
これ、IE版firebugで見つけられるんじゃない?

784:デフォルトの名無しさん
11/05/04 18:53:34.21
>>770
仲良くしてたらDOMの質問が際限なく来て始末に負えなくなるから、そこらへんは線引きしとかんと
そのために2代目スレからは名前変わってるんだし

785:デフォルトの名無しさん
11/05/04 21:00:16.42
これ Traceur のドキュメントだけど、Class ってそんなに欲しいかな・・・

URLリンク(code.google.com)

786:デフォルトの名無しさん
11/05/04 22:01:33.11
あったら積極的に使うと思うがなくても(現状でも)そんなに困らない

787:デフォルトの名無しさん
11/05/08 23:40:24.75
CoffeeScriptってどうよ
URLリンク(jashkenas.github.com)
俺はjsの方が好きだが

788:デフォルトの名無しさん
11/05/09 01:28:22.57
>>787
Objectの書き方がどうも
改行やインデントが意味を持つのは馴染めんなあ
JSに慣れきってるせいかも知れないけど


song = ["do", "re", "mi", "fa", "so"]

singers = {Jagger: "Rock", Elvis: "Roll"}

bitlist = [
  1, 0, 1
  0, 0, 1
  1, 1, 0
]

kids =
  brother:
    name: "Max"
    age: 11
  sister:
    name: "Ida"
    age: 9


789:デフォルトの名無しさん
11/05/09 19:50:07.60
ES HarmonyはES4で一度挫折した構文の大幅変更に再チャレンジするみたいだな

790:デフォルトの名無しさん
11/05/10 23:41:18.49
ECMAScript は Java の構文を意識したところがよかったのに

791:デフォルトの名無しさん
11/05/11 00:20:45.95
>>789
harmony:modulesのこと?


792:デフォルトの名無しさん
11/05/11 02:05:04.43
>>790
意味もなくJavaのキーワードが予約されてたりな

793:デフォルトの名無しさん
11/05/11 08:25:51.48
兎にも角にも名前空間をどうにかしてくだしあ

794:デフォルトの名無しさん
11/05/13 01:49:36.82
var MyPackage = {};
MyPackage.foo = bar;

みたいな感じで良いじゃん

795:デフォルトの名無しさん
11/05/25 20:50:28.06
ブロックスコープないとクロージャが使いにくい

796:デフォルトの名無しさん
11/05/25 21:26:54.08
いずれ let が使えるようになるからそれまで待つしか

797:デフォルトの名無しさん
11/05/30 14:32:48.39
ESで使われていない主な半角記号でこれから自由に新定義できそうなのって『#』くらいだよね
でも#ってfunction文の意味を持たせる案が有力なんだよね

そういえば無知な質問するけど
ESって全角記号使えるけど、海外の環境じゃあ全角って普通全く打てないものなの?
☆くらいは使えたりするのかな?
せっかく使えるようにしてくれてるんだし、使えるんならどんどん使っていきたいよね
ある程度ちゃんと使えば絶対良くなると思うんだ

798:デフォルトの名無しさん
11/05/30 14:36:08.11
どうぞご勝手に

799:デフォルトの名無しさん
11/05/30 15:39:05.07
>>797
APLみたいにとまではいかなくても、
Unicodeにたくさんある演算記号が使えたら面白いかもね。

800:デフォルトの名無しさん
11/05/30 15:51:10.32
>>797
入力を心配する前にフォントの心配をしなきゃ
見えなきゃ打ててもしょうがない

801:デフォルトの名無しさん
11/06/01 00:56:34.23
SpiderMonkeyが#を独自拡張に使ってるから避けてたんじゃないのか

802:デフォルトの名無しさん
11/06/01 01:25:43.79
シャープ変数なんて使ったこともないし見たこともねえぞ・・・何だこれ

803:デフォルトの名無しさん
11/06/11 16:11:51.19
URLリンク(radar.oreilly.com)
URLリンク(wingolog.org)

804:デフォルトの名無しさん
11/06/11 16:16:18.52
JVMのHotspot Engineもまったく同じような宣伝文句を使ってたよな。
時代は繰り返すにしてもちょっとスパンが短すぎやしないか
ドッグイヤー換算だと100年くらい前の話ではあるが

805:デフォルトの名無しさん
11/06/11 20:02:44.28
あとGCCでは関数が同じファイル内にあれば
> unsigned int g (void) { return 1; }
にまで最適化されますが何か? って指摘は意外と本質的で、
ECMAScriptではvalueOfなどをユーザー定義される可能性がある限り
同じような最適化はやりたくてもできない。
IE9のPreview版がはやまって導入したらMozillaの中の人から
速攻で突っ込まれたということもあったな。

806:デフォルトの名無しさん
11/06/12 02:06:42.57
>>805
> unsigned int g (void) { return 1; }
> にまで最適化されますが何か?

ret += 1; にまでと言いたいの?

807:デフォルトの名無しさん
11/06/12 04:14:11.60
>>806
知らん。リンク先に聞いてくれ

808:デフォルトの名無しさん
11/06/12 10:18:21.73
リンク先はそう書いてない。

809:デフォルトの名無しさん
11/06/14 01:54:57.27
valueOf(){return this; }は遅延評価に必須だからなぁw

810:デフォルトの名無しさん
11/06/14 07:41:58.63
URLリンク(github.com)

811:デフォルトの名無しさん
11/06/17 02:58:48.69
テストのない8000行のJavaScriptを引き継いで、
一ヶ月程度でバグ修正と機能追加をしないといけないんだがどうしよう。死ぬの?

812:デフォルトの名無しさん
11/06/17 03:00:44.67
テストコードもないようなその品質も引き継げばいい。

813:デフォルトの名無しさん
11/06/17 16:26:16.65
久々にecmascript.orgみたら、
結構多くの機能が仕様取り込み候補になってるんだな。

814:デフォルトの名無しさん
11/06/18 00:30:13.99
やっぱり module が入るのは嬉しいね
まだ strawman だけど

815:デフォルトの名無しさん
11/06/18 00:42:02.38
URLリンク(iq12.com)
URLリンク(s3.mrale.ph)

816:デフォルトの名無しさん
11/06/19 02:35:04.00
URLリンク(people.mozilla.com)

817:デフォルトの名無しさん
11/06/22 22:32:05.07
URLリンク(brendaneich.com)

818:デフォルトの名無しさん
11/06/24 20:25:27.00
URLリンク(blog.nodejs.org)’s-help/
URLリンク(arstechnica.com)

819:デフォルトの名無しさん
11/06/26 18:05:52.19
>>779
jrunscript(Rhino)とJavaScript-Cも仲間に入れてつかーさい。

820:デフォルトの名無しさん
11/07/02 05:47:33.39
ISO/IEC and Ecma International ratify “ES5.1”, the latest ECMAScript specification of Ecma International | EON: Enhanced Online News
URLリンク(eon.businesswire.com)

Standard ECMA-262
URLリンク(www.ecma-international.org)

5.1出てたー

821:デフォルトの名無しさん
11/07/05 21:49:39.02
URLリンク(code.google.com)

822:デフォルトの名無しさん
11/07/10 02:40:18.27
URLリンク(www.stanford.edu)

823:デフォルトの名無しさん
11/07/10 10:26:08.62
Test 262 でブラウザの JavaScript 互換性をテストする
URLリンク(www.infoq.com)

824:デフォルトの名無しさん
11/07/15 02:32:54.41
URLリンク(addyosmani.com)

デザパタ信者は好きになれないけど、共通言語としての価値はあると思う

825:デフォルトの名無しさん
11/07/18 20:54:00.65
Bruce Eckel の Blog に JavaScript の話題が出てた

URLリンク(www.artima.com)

826:デフォルトの名無しさん
11/07/23 05:53:39.82
>>819
jrunscriptとrhinoを一緒にするでねぇ。あれは実装が違う。

827:デフォルトの名無しさん
11/07/23 06:20:03.93
URLリンク(www.readwriteweb.com)

828:デフォルトの名無しさん
11/08/12 11:29:56.94
シンプルなポーカー ゲームで理解する ECMAScript 5
URLリンク(blogs.msdn.com)

829:デフォルトの名無しさん
11/08/25 13:03:31.28
>>746
Operaやる気ないの?
10.50から全然変わってないじゃん

830:デフォルトの名無しさん
11/08/28 12:20:09.84
Firefox 4、Safari 5.1、Chrome 13にIE10さえ完全対応しそうなのに
Operaのやる気のなさは異常

831:デフォルトの名無しさん
11/08/28 22:19:22.13
スレリンク(tech板)
JavaScriptスレというのができてるな
関連スレにJava関係を載せてるあたりネタ臭もするが

832:デフォルトの名無しさん
11/08/28 23:11:20.39
es5とStrict-modeならRhinoですら実装したというのに。

833:デフォルトの名無しさん
11/08/29 23:10:05.91
このスレとJavaScriptスレは普通に共存できる、というかJavaScriptスレが
穢れを一手に引き受けてくれるから問題ナッシング。

834:デフォルトの名無しさん
11/09/08 17:27:09.77
operaは昔から最低限のものだけ実装するよってスタンスだし今後もこんなもんだろう

835:デフォルトの名無しさん
11/09/09 03:26:16.65
質問なのですが、JavaScriptで変数のスコープって
関数以外の区切りがありますか?
例外的な変数のスコープの区切りになるものがありましたら
教えていただければ幸いです。

836:デフォルトの名無しさん
11/09/09 03:58:41.13
catchの変数はcatch節の中だけだったと思う

837:デフォルトの名無しさん
11/09/09 17:45:29.02
let! let!

838:デフォルトの名無しさん
11/09/10 15:54:18.51
>>836
ES規定ではそうだけど、IE8- はバグ持ちなので注意

839:デフォルトの名無しさん
11/09/10 17:43:02.27
お前らwithさんのことディスってんじゃねーよw

840:デフォルトの名無しさん
11/09/10 19:54:03.14
withマジで役に立たない
名前空間がクソすぎるのを隠蔽できないゴミ

841:デフォルトの名無しさん
11/09/11 00:29:14.62
ed3から非推奨で5から存在しないんじゃなかったか?

842:デフォルトの名無しさん
11/09/11 08:39:32.57
いつになったらletが気兼ねなく使えるようになるのか

843:デフォルトの名無しさん
11/09/11 08:57:26.80
>>841
5のstrict modeで使えなくなる

844:デフォルトの名無しさん
11/09/11 19:21:17.81
>>842
すべてのブラウザがjs17を実装したら。operaとIEが存在する以上まず無理だな。

845:デフォルトの名無しさん
11/09/12 00:59:49.68
>>842
ES6

846:デフォルトの名無しさん
11/09/12 03:46:17.82
>すべてのブラウザがjs17を実装したら
すべてのブラウザのJavaScriptエンジンがSpiderMonkeyになったらと言っているようなものだな。

847:デフォルトの名無しさん
11/09/13 02:39:21.61
>>846
標準化されてない機能がほしいっていう意見は現実的にはSpiderMonkeyと同じ実装が欲しいと言ってるのと同じじゃね?
mozillaのjsは先行実装なのに仕様が頓挫しただけだから元々入れる予定だったんだし。
getter/setterだって取り込まれたし例外処理が標準化してる今mozillaオリジナルってLiveConnectくらいだぞ。
SpiderMonkeyの機能にV8のJITが理想に近いのは誰でも思うところだろう。

848:デフォルトの名無しさん
11/09/13 15:06:45.78
例外がちゃんと入ってよかったねえ。

849:デフォルトの名無しさん
11/09/13 18:15:30.15
分割代入と式クロージャーの使えないJSエンジンに価値はない

850:デフォルトの名無しさん
11/09/13 18:32:38.70
>>849
> 分割代入

for文とか発散しすぎて、5年前から何も進んでないw
URLリンク(wiki.ecmascript.org)
URLリンク(wiki.ecmascript.org)

代入式と実引数渡しだけでいいから仕様にしてくれないかなあ…

851:デフォルトの名無しさん
11/09/13 18:51:24.80
>>850
こうやってみると結構月日を重ねたあれやこれやの経緯がとか
重い偲ばれて…esmascriptも色々なんですな…

852:デフォルトの名無しさん
11/09/13 18:56:02.44
多値返すケースとかそれをどう受けるとか
その辺言語によってまちまちだし…しょうがない面もあるか…

853:デフォルトの名無しさん
11/09/13 19:27:10.51
リストを多値に流用というか、混同している言語は悲惨だね。
ちゃんとリフトしないと。

854:デフォルトの名無しさん
11/09/14 04:02:34.66
リストやタプルや酷いときは連想配列から取り出す作業が無くなるだけでも多値の分割代入は重要だしな。
正直イテレータ・ジェネレータ、yieldはとっとと普及しろと思う。何年も前の水準のコードをいつまで書かなきゃいけなんだ。

855:デフォルトの名無しさん
11/09/14 05:21:20.71
>>844
                     /ヽ、__
           _,, -─- ....__ //`ー∠
       ,...."´:::::::::::::::__/_:::::::::ヽ!_/ヽ>
     ./:::::::::::::::::::::::::( / )::::::(@))__rイ   スッ
     〈::::::::::::::::::::::::::::::::゙゙/ ̄:::::ヽ(@@)i \
     ヽ,.'´ ̄` 7´  ̄ ̄ ´ ̄``ヽ::::::::;ヽ ヽ
      /    / /!      `ヽ  ヽ::/ヽ! ノ          Full ECMAScript (JavaScript) 5.1 support
      / //   { / { ト、 |  }ハ 、 ヽ|/          URLリンク(my.opera.com)
       |l{ { | ∧{ ヽ.{‐ヽト、ノ}ノハ   ! !
     lハハlヽ{_,.. `  、.__   リ.ハl  | |___________
      | ハ. (ヒ_]     ヒ_ン ) !  l  | |    /
    / ヽヘノ"" ,____,  ""  |  |  | l   /
  /   ハ {             }  }  j/ /
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

856:デフォルトの名無しさん
11/09/14 06:13:28.06
>reporting one error

現時点で最優秀の準拠率なんだろうけど
せっかくなんだからひとつしかないエラーをデバッグしてから
Full supportって言えよw

857:デフォルトの名無しさん
11/09/14 13:43:35.05
>>856
「S11.1.1_A2, is invalid.」
URLリンク(my.opera.com)

テスト自体が間違っているので、failedであってる

858:デフォルトの名無しさん
11/09/14 23:35:44.92
スタンドアロンなblockの中でlet使う意義がわからん。
letは暗黙なブロックを生成するんだからスタンドアロンなblockの中で定義したら見た目とスコープが一致しなくなってわかりにくいんじゃないの?
let文じゃダメなのか?

859:デフォルトの名無しさん
11/09/15 10:56:16.49
見た目とスコープは一致しているし、(むしろそのためのlet)
ECMAScriptには明示的なスコープブロックがないんだからあれば便利。


860:デフォルトの名無しさん
11/09/16 23:44:20.46
letの右辺は暗黙のブロックの中だからvar x=10; {let x=x;}でLexical EnvironmentのxからVariable Environmentのxが
参照できないからThisBindingしなきゃいけないのはecmascriptだけの特殊事情だから予測され得る見た目と一致してない。
let文ならvar x=10; let(x=x){};で済むからThisBindingを念頭におく必要はなくて特殊事情知らなくても予測可能だろ。
わざわざecmascriptの仕様に精通してなきゃわからない見た目と結果の乖離を起こすくらいならはじめからlet文でいいんじゃないか?
今流行でjavascript書いてる連中なんてコンテキストと環境の関係なんて理解してないのが多いだろ。

861:デフォルトの名無しさん
11/09/17 01:11:02.16
そういうのが欲しければlabels文とかletrec文って呼んで新しく提案しろよ
実装ひとつもないのに無茶言い過ぎ

862:デフォルトの名無しさん
11/09/17 04:07:33.84
明示的にvar/externしないとグローバル変数にならない、と
逆にするだけでもずいぶん助かる

既存のコードは全滅だが

863:デフォルトの名無しさん
11/09/17 09:46:53.34
>>861
実装がひとつもないってなんの話だ?

864:デフォルトの名無しさん
11/09/19 17:28:11.50
let文

865:デフォルトの名無しさん
11/09/20 01:46:59.46
>>862
strict modeなら何も書かない場合勝手にグローバル変数生成しないで
エラーになるでしょ

866:デフォルトの名無しさん
11/09/21 07:41:38.28
>>864
let文の実装ならあるじゃん。

867:デフォルトの名無しさん
11/09/21 08:26:59.72
River Trail ? Intel's Parallel JavaScript
URLリンク(games.slashdot.org)


868:デフォルトの名無しさん
11/09/22 15:50:36.46
JavaScriptに並列処理機能を追加する、IntelのJavaScript拡張機能が明らかに
URLリンク(www.infoq.com)

869:デフォルトの名無しさん
11/09/28 19:19:52.60
パーフェクトJavaScriptって本どうすか?

870:デフォルトの名無しさん
11/09/28 21:37:36.84
javascriptスレで聞け

871:デフォルトの名無しさん
11/10/02 01:08:40.83
ECMAScript5はIE8を搭載したWindows7のサポートが切れる2020年までは絵に描いた餅かな
悲しいけどこれが現実なのよね

872:デフォルトの名無しさん
11/10/02 09:00:08.70
クロスブラウザする必要ない場面ならそうでもなくね
ブラウザー拡張、node.jsとか
あとはUA判別後に部分的にES5の機能を利用するとか

873:デフォルトの名無しさん
11/10/02 12:16:11.33
node.js は windows じゃ npm とか 外部ライブラリが利用できないです
URLリンク(github.com)
>Last edited by dobesv, September 19, 2011

そこで cgwin ですよ cgwinと。

874:デフォルトの名無しさん
11/10/02 12:27:13.98
cygwin?

875:デフォルトの名無しさん
11/10/02 14:00:03.72
dmonkey script とか昔からあるよね
互換実装なら…

876:デフォルトの名無しさん
11/10/03 23:04:46.79
>>871
だから後方互換性なんか無視して理想言語を仕上げりゃ良かったんだ
足を引っ張るのはいつも現実を見てない自称「現実派」

877:デフォルトの名無しさん
11/10/04 01:11:54.16
そのうちVMだけ標準化してコンパイルしたILを走らせるようになると夢想

878:デフォルトの名無しさん
11/10/04 01:22:55.40
理想言語ならすでにSchemeがあるだろう?

879:デフォルトの名無しさん
11/10/04 20:45:36.00
>>876
ES4ゴリ押しした連中こそ現実見てなかっただろ

880:デフォルトの名無しさん
11/10/04 20:47:46.34
その頃には76バージョンのIEのサポートが必要になったりして
クロスブラウザは破綻してるよ
URLリンク(paulirish.com)

881:デフォルトの名無しさん
11/10/04 22:22:25.03
>>879
ES4は中途半端なJavaって印象があるから理想とは程遠かったんだよきっと

882:デフォルトの名無しさん
11/10/05 19:45:55.37
>>876-878
ボブ「そんなあなたに持って来いのRhinoを今回ご紹介。
JavaVMで走りjavaの資産も使えjavascript自身の手続き、OOP、関数型パラダイムに加えてなんと継続までサポート!」
パトリシア「でもV8みたいに言語仕様が古いんでしょ?」
ボブ「お~パット、そんな心配は無用さ。Rhinoを開発してるのはmozilla。本家本元js1.8まで対応さこれで安心だろ?」
パトシリア「まあ!それはすごいわボブっ!それならyeildすらなくてイライラすることもないわね!」
ボブ「そうさパット!これでフィボナッチ数列もたったの数行で書けるよ。ロジックに集中できて便利だろ。
それにね・・・このLiveConnect、LC3っていうんだけど、なんとJavaとシームレスに通信ができるからJavaの資産が使い放題なんだ!」
パトリシア「わ~お!それはびっくりね」
ボブ「ちょと待ってパット。今ならなんとRhinoにしかない継続までサポートされているんだ!」
パトリシア「どういうことボブ・・・え~とそれはつまり、プリエンプティブ・マルチタスクが自分で実装できるってことかしら?」
ボブ「プリエンプティブ・マルチタスク?そうさパット。マルチタスクだって例外処理だって自分で実装できちゃうすぐれものだよ!」
パトリシア「あぁ~ちょっと、どうしようかしら・・・。でもボブ、そんなに至れり尽くせりだったらお値段がちょっと高めなんじゃない?」
ボブ「そう来ると思ったよパット。なんとこのRhino、mozilla開発でモダンなコードも書けて継続まであってこの値段なんだ!」

 ち ょ っ と お 待 ち く だ さ い ! !

yeildが書けて継続まであるRhino。実はこれだけじゃないんです!

今ならなんとE4XとAOTコンパイルが出来るコンパイラ、GUIデバッガがついてお値段なんと!

ボブ「オープンソースにつきタダ!」
パトリシア「タダ?ほんとにタダなのボブ!?」
ボブ「そうさpricelessさ!」
パトリシア「まあ!今すぐダウンロードしに行かなくっちゃッ」
ボブ「お~と、ひとつだけいいかいパット?WWWへの接続料は自分で持ってね。なに、ほんのチップがわりみたいなもんさ。だってそうだろ?」
パトリシア「まあ、ボブったら」
ボブ「HAHAHAHAHAHA」

883:デフォルトの名無しさん
11/10/05 20:04:41.64
> ボブ「そうさpricelessさ!」
タダほど高いものはない
ってことですかボブ

884:デフォルトの名無しさん
11/10/05 20:56:31.37
LispやPython使ったらええがなって思います

885:デフォルトの名無しさん
11/10/05 21:09:43.30
>>883
マジレスしていいのか。
それと「アメリカの通販番組はpricelessly」とかけてる。
MCのCMがpricelessで〆てたからさHAHAHA

886:デフォルトの名無しさん
11/10/05 21:24:54.55
>884
CommonLisp/SchemeはとっつきにくいしPythonは標準規格がない
よし、ここはRubyをだな……

887:デフォルトの名無しさん
11/10/05 21:37:50.00
pythonに標準規格がないとかいう文句初めて見たわ

888:デフォルトの名無しさん
11/10/05 22:09:24.59
2004年のものだけど。

WHY Common Lisp?
URLリンク(cl-www.msi.co.jp)
> ANSI, ISO あるいは JIS で現実的な仕様の決まっている programming 言語と
> いうものはそう多くなく、わたしに思いつくものはCOBOL, FORTRAN, ADA,
> PL/1, C/C++, Common Lisp くらいしかありません。どれも一応 PC も含めた複
> 数の platform で動いていますが、この中で例えば web server を現実的なコ
> ストで書けるものは何か、と尋ねたら C/C++ か Common Lisp に落着く。
>
> したがって、どの programming 言語を使いますか?という問いは、
>
> gc のない C/C++ と、それを持つ Common Lisp の、どちらを使いますか?
>
> という問いと同値です。

889:デフォルトの名無しさん
11/10/05 23:35:15.47
rubyは組み込むにはでかすぎる。信者があまりにもキモすぎるで論外。

890:デフォルトの名無しさん
11/10/06 00:57:52.87
ECMAScriptの文法とどっこいどっこいじゃね>キモい
それに信者は言語と関係ないし

891:デフォルトの名無しさん
11/10/06 01:16:50.19
>>888
当時すでにESは標準化されてるのに見事にスルーしてるのがひどい……
ほかにも今のところIEEEのSchemeとか、ECMAのC#とか
ISOならSmalltalk、Prolog、Eiffel、Modula-2、Forthなんかがあるな
Rubyも一応今ならJISがあるし、ISOにファストトラックで送られてる最中
Haskellみたいなのも一応標準化されてると言えるのかな

892:デフォルトの名無しさん
11/10/06 01:50:29.44
仕様なんてなくたって次期gcc4.6に組み込まれることになった
golang さんのことも忘れないでくださいね…

893:デフォルトの名無しさん
11/10/06 04:56:47.88
>>891
要するに実装に縛られたくないんだろうけどlisp使いたいだけの後付だよね

894:デフォルトの名無しさん
11/10/06 06:31:00.43
プロパティに名前空間つかんのかの

895:デフォルトの名無しさん
11/10/06 10:50:06.18
c# みたいにならないかそれ delphi とか pascal みたいにいったほうが
正確か…昔の葉名前空間と言うよりモジュール名で管理というかんじだけど

896:デフォルトの名無しさん
11/10/07 02:27:49.65
オブジェクトが名前空間に属すなら
それを参照するプロパティも同じプレフィクスを持つとか

897:デフォルトの名無しさん
11/10/07 14:24:23.42
>>882
Rhinoよく使うけどyieldとかletが使えるようになってたこと知らなかった。
ありがとう。

でもgenerator式はまだなんだね。

898:デフォルトの名無しさん
11/10/08 00:19:18.22
>>897
js1.8自身ジェネレータまわりの変更がメインだからだと思う。
Rhinoで使えるバージョン=rhinoのバージョン数+サポートしたと言っている言語仕様バージョンの一部て感じだからspidermonkeyと同期してるわけじゃないよ。
Rhino1.7R3の変更ってes5準拠とCommonJSサポートのが目立つしね。
組み込み用途だとjs object実装がjava collectionsとして扱えるようになったから便利になったよ。

899:デフォルトの名無しさん
11/10/12 09:26:39.29
javascriptのアンチテーゼのはずのDartが見事なjavascript1.5なのは仕様面で見てどう思うよ?

900:デフォルトの名無しさん
11/10/12 12:31:15.46
Dartがjs1.5というのは分からないけどこのクソ言語だけは絶対に流行って欲しくない

901:デフォルトの名無しさん
11/10/12 13:18:10.06
DartもCoffeeも一緒に滅んでくれ
あと激重jQueryもな
jsごとき1から10まで手書きできなくてどうする

902:デフォルトの名無しさん
11/10/12 13:40:38.05
ついでにECMAScriptも滅べばいいのに

903:デフォルトの名無しさん
11/10/12 14:00:14.77
Dartがボロクソに叩かれまくって、じゃあブラウザにvm乗せてもう好きな言語で開発できるようにしようぜって流れになればいい

904:デフォルトの名無しさん
11/10/12 22:29:08.63
IEは好きなスクリプト言語を自由に追加できる設計だった
IE6は登場時点ではほんとに超先進的ブラウザだったんだよ

905:デフォルトの名無しさん
11/10/13 03:59:40.91
>>903
java plug-inの出番だな。CommonDOMだけじゃなくLiveConnectもjava plug-inの管轄になったから次はブラウザ用の言語か。

906:デフォルトの名無しさん
11/10/13 12:15:58.05
> ...このクソ言語だけは絶対に流行って欲しくない
> ついでにECMAScriptも滅べばいいのに

こういうアンチ野郎が多い言語は、不思議と普及してしまうというマーフィーの法則

907:デフォルトの名無しさん
11/10/13 14:03:13.55
出たばかりのLiveScriptもいじり倒して遊んでるギーク以外重いからやめろって結構言われてたよ。
そのときからcallerまわりは問題視されてたけどnetscapeには黙殺されて今までズルズルやってんよ。

908:デフォルトの名無しさん
11/10/13 21:14:27.79
ECMAScript.next: the “TXJS” update by Eich
URLリンク(www.2ality.com)

909:デフォルトの名無しさん
11/10/14 14:36:11.77
Dartのすごさがイマイチわからんけど
よく見る「ECMAScriptのセミコロン省略が良かった/悪かった」てのは
単純にHTMLのonclick="..."とかでセミコロン不要にするってだけのものだろ?

onclickにDartを書きたいときとか、どう区別すんの

910:デフォルトの名無しさん
11/10/14 16:12:09.46
>>909
URLリンク(www.dartlang.org)

911:デフォルトの名無しさん
11/10/14 16:54:56.59
>>910
なるほどね
こりゃ、だめだわ

912:デフォルトの名無しさん
11/10/14 17:14:23.36
ん、htmlタグの属性値中でセミコロン使うと何か問題あるんだっけ?

913:デフォルトの名無しさん
11/10/14 21:19:50.77
HTML5の仕様によるとonclickにはJavaScriptしか書けないので
そもそも考慮無用

914:デフォルトの名無しさん
11/10/15 00:44:43.61
>単純にHTMLのonclick="..."とかでセミコロン不要にするってだけのものだろ?
そもそもこれが間違ってる。
分かりきったものをだらだらと書かせるなよって事。型推論いいよねと似てる。
他の言語だとxml地獄、rubyでend地獄やpythonのインデント強制によるエントロピー増加が問題なわけ。

省略したらしたでjsみたいな問題も出てくるし、jsの場合はセミコロンの省略が言語仕様にあるからそれとは別問題。
たんにセミコロン省略できない言語メインが省略便利といってるだけ。

915:デフォルトの名無しさん
11/10/15 01:21:58.33
>>914
すまんが何言ってるかちょっとわからん
まーあれだ、イベントハンドラのrobustnessの重要性にjQueryもやっと気づきはじめたところに
document.query(...).on.click.addとか、また黒歴史を繰り返すのかよって感じ
ライブラリの問題だからスレ違いだけどな

916:デフォルトの名無しさん
11/10/15 04:26:27.99
dartスレのjQuery厨か?

917:デフォルトの名無しさん
11/10/16 18:54:33.85
Dartスレなんてあったのかよ
なんでここで議論してんだ

918:デフォルトの名無しさん
11/11/25 19:39:31.74
JDKのjavascript実装がJDK7でrhino1.7R3に変わっとる。
デフォルトの言語バージョンが1.8で特権コード書かないと変更できないようになってるがJDK8でnashornに変えるのに互換性大丈夫だろうか。
これはもしかしてnashornが1.8準拠なのか?
spidermonkeyもjs1.8.xでes5準拠だしやっと最新仕様で早い実装が来るかもしれんな。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch