1 名前:デフォルトの名無しさん [2007/09/19(水) 09:08:01 ] 《ECMAScriptを語るスレ》 1. - 概要 - ECMA-262規格として知られる言語(通称 ECMAScript)についての利用法や言語仕様、 その他四方山話をするスレです。 - ECMA-262 3rd Edition 標準規格(英語)- www.ecma-international.org/publications/standards/Ecma-262.htm Under Translation of ECMA-262 3rd Edition (日本語訳) www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ 前スレ ECMAScript デス 2 pc11.2ch.net/test/read.cgi/tech/1088298991/ 過去スレ JavaScript デス pc5.2ch.net/test/read.cgi/tech/1052273054/
2 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 09:08:50 ] 2. - JavaScriptについて - JavaScriptは動的Webページ作成専用言語ではありません。 このスレでは、★言語★としてのECMAScript(JavaScript、JScript等)の話題を扱います。 ブラウザ環境でのJavaScriptはWeb製作板へ。ASP、CGIなどはWebProg板へ。 ●スレ違い●なレスの例 + JavaScriptによるWebページの挙動実現に関する疑問/質問、は、 ■スレ違い■です。→Web製作板へどうぞ + Webブラウザの動作挙動に関するの疑問/質問 は、 ■スレ違い■です。→Web製作板へどうぞ + そのほか、Webページ作成に限定した内容の疑問/質問 は、 ■スレ違い■です。→Web製作板へどうぞ ■参考■[Web製作板] + JavaScript の質問用スレッド vol.59 + pc11.2ch.net/test/read.cgi/hp/1187856865/l50 ※JavaScriptが板違いと言いたい人へ 運営サイドから次のような見解が出ています。 |459 飛べない削除屋 ★ sage :04/05/30 15:38 ID:??? |>>458 |ローカルルールにはひどく単純化されて書かれていますが、 |Javascript という言語そのものが板違いなのではありません。 |用途によって板違いかどうかを判断してください。
3 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 09:09:56 ] 3. - 主な実装 - Rhino (Mozilla.orgでメンテナンスされている組み込みを目的としたJava製の実装) www.mozilla.org/js/rhino/ SpiderMonkey (同上。ただしこちらはCによる実装) www.mozilla.org/js/spidermonkey/ NJS (旧NGSを引き継いで開発されている独立したインタプリタ実装 www.njs-javascript.org/ JScript (Microsoft社による実装。WSHを介したローカルマシン用のバッチスクリプトとして使用に加え、.NETの開発言語のひとつでもある。 また、WebクライアントサイドスクリプトやASPにも利用することができる。) www.microsoft.com/japan/msdn/library/ja/script56/html/js56jsoriJScript.asp JScript .NET www.microsoft.com/japan/msdn/vs/jstchjscripttechnicalarticles.aspx DMDScript (Digital Mars社による実装。Windows上で利用できるJScript置き換え的な位置づけ スタンドアロンのインタプリタに加え、COMコンポーネントとして組み込むこともできる。) www.digitalmars.com/dscript/index.html FESI (ECMAScript第一版に準拠したJava実装) www.lugrin.ch/fesi/index.html DMonkey (Delphi(ObjectPascal)への組み込みを目的とした実装) sourceforge.jp/projects/dmonkey/ Tamarin (Adobe から Mozilla.org に寄贈された JIT 付きの仮想マシン。 コンパイラは含まれないので、ECMAScript のソースを直接実行することはできない。) wiki.mozilla.org/Tamarin
4 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 09:10:35 ] 4. - 関連スレ - Web上におけるクライアントサイドスクリプティングに特化した実装(通称Javascript)については WebPrograming板などの専門スレをご利用ください。 [Web製作板] + JavaScript の質問用スレッド vol.59 + ((クライアントサイド方面)) pc11.2ch.net/test/read.cgi/hp/1187856865/l50 [WebProg板] Ajaxでも語りませんか Rigel4 pc11.2ch.net/test/read.cgi/php/1166751613/l50
5 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 09:54:32 ] >>1 スレ立てありがとうデス
6 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 09:59:13 ] Rhino 1.6 release 6 2007 09 01 js> print(">>1 乙") >>1 乙 js> Tamarinは自己完結コンパイラに食わせてTamarinで実行するんじゃなかったっけ? 確か今、自己完結コンパイラを開発中のはず。 まあ、いずれRhinoみたいにバイトコードコンパイラもネイティブになるんだろうけど。
7 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 15:02:11 ] スクラッチからの件は以後ここで 「スクラッチから」を撲滅する会 pc11.2ch.net/test/read.cgi/prog/1190181646/
8 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 18:49:17 ] まあ、英語の慣用句だから日本人には解せないよなw
9 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 19:25:29 ] 一応その他の関連規格も。 Standard ECMA-290 ECMAScript Components Specification www.ecma-international.org/publications/standards/Ecma-290.htm Standard ECMA-327 ECMAScript 3rd Edition Compact Profile www.ecma-international.org/publications/standards/Ecma-327.htm Standard ECMA-357 ECMAScript for XML (E4X) Specification 2nd edition www.ecma-international.org/publications/standards/Ecma-357.htm
10 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 22:08:58 ] >>6 >Tamarinは自己完結コンパイラに食わせてTamarinで実行するんじゃなかったっけ? >確か今、自己完結コンパイラを開発中のはず。 これだね。 wiki.mozilla.org/Tamarin:WeeklyUpdates/2007-09-11#Self-hosting_Compiler ソースはここ。 hg.mozilla.org/tamarin-central/?file/049a855c8d5a/esc/ ま、俺も Haskell スレで教えてもらったんだけど…
11 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 23:42:52 ] >>10 俺が見たときより進んでるっぽいな。まあ製品化は当分先だろうけど。 ecma-327はecma-262 ed.3のサブセットのやつか。 組み込み向けブラウザくらいでしか実装を見たことがないなぁ。
12 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 01:32:46 ] いまいちよくわからないんだけど、 1. ES4 RIでesc/src/*.esを入力としてesc/src/*.esを実行 2. esc/bin/*.abcが生成される 3. (esc/src/*.esをいじる) 4. Tamarinでesc/src/*.esを入力としてesc/bin/*.abcを実行 5. esc/bin/*.abcが生成される 6. Tamarinで任意のECMAScriptコードを入力としてesc/bin/*.abcを実行 7. 任意のECMAScriptコードが実行される 8. 3に戻る という流れでよろしい?
13 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 18:52:58 ] >>12 4と5はまだじゃないかな。 ES4 にあるけど AS3 にない構文(switch type とか)使ってるところがあるし。 インメモリにバイトコード生成して実行(Tamarin インタプリタ) は出来始めたようだけど。 リファレンス実装M0 だと native 関数足りない(write,read)んで 試せないのが泣ける。はよ M0.5 でいいから出してくで
14 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 18:38:03 ] var f = function() {}; f.key = "value"; こいつのJSON化ってできる?
15 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 04:12:51 ] 型の違いでしかないからデータとして持つ場合は無意味だぞ。 var f = {key : "value"} これと同義。 JSONにするんじゃなくて普通に文字列受け取ってエバルした方がマシ。
16 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 20:27:42 ] 俺発見! isNullOrUndefined を評価する演算 (value != value - 0) これ! var a = [null,undefined,,"",false,0,-0," ","0","00",0x0]; for (var i = 0; i < a.length; i++) a[i] = (a[i] != a[i] - 0); a; IE7とFF2以外の環境でも期待する結果でる?
17 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 22:44:44 ] 普通に val === null || val === void(0) と書く場合より高速だったりする?
18 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 23:10:23 ] 絶対遅いこと請け合いです。 ""と0をtrueにしたかっただけなんです 決して若くもありませんが若気の至りです。ごめんなさい
19 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 06:00:35 ] val == null で十分じゃ?
20 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 07:39:07 ] !valじゃ駄目なの?
21 名前:デフォルトの名無しさん mailto:sage [2007/10/06(土) 08:15:44 ] >>20 isNullOrUndefinedという名前をそのまま解釈するなら 0やNaNでもtrueを返す(0やNaNがnullまたはundefinedと判断される)からだめ。 でも「""と0をtrueにしたかった」なんて言ってるから そもそも>>16 の望んだ動作が何だったのかよくわからない。
22 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 17:52:07 ] cssで "" と 0 は有効な値?だからスルーしたくて だどもcss値にnullとundefinedは プロパティによってえげつない結果なるじゃない? (0 || 1) みたいにnullとundefinedだけ1の方いかないかなと思った次第です
23 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 18:42:51 ] isNullだったかNumber.isNullだったかecmaでなかったっけ?
24 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 19:51:39 ] ないよ。つか >>17 と >>19 で FA だろ。 ただ >>19 とかは後で読み間違えるから俺はオススメしない。
25 名前:デフォルトの名無しさん [2007/10/13(土) 06:30:59 ] Javascriptを勉強し始めたばかりのものですが ↓の様なブックマークレットを見つけたのですが javascript:void(function(){var%20q=(document.all)?document.selection.createRange().text:document.getSelection(); if(!q){void(q=prompt('Google検索',''));}if(q){location.href=('www.google.com/search?hl=en&oe=UTF-8&ie=UTF-8&q= '+q.replace(/_/g,'-'));}})() if(!q)の!って何ですか? あと javascript:var%20q=document.getSelection();if(!q){q=prompt('Google検索','')}if(q){location.href=('www.google.com/search?hl=en&oe=UTF-8&ie=UTF-8&q= '+q);} といろいろと削っても動いたのですがもしかして問題があったりしますか? まだJavascriptをいろいろと勉強し始めて二日と立ってないので 変な質問してるかもしれませんがよろしくお願いします
26 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 06:40:20 ] 板違い
27 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 07:11:44 ] >>26 あーWeb製作板に質問スレあるのに気づかなかった・・・ すみませんでした
28 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 18:18:11 ] ところで、prototype.js作った奴は仕様ちゃんと理解してるんだろうか? 突っ込みどころがありすぎて使えないんだが。 ecma-262からみてどうだろうか?
29 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 19:40:39 ] JavaScript を ruby 風に使うライブラリに ECMA3 からどうこう言っても意味なくね
30 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 20:51:30 ] null.toString() がないのに null+"" が可能なのは誰のおかげ?
31 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 21:45:33 ] >null+"" 普通そんなことしないw なんのためにnullがあるんだよ。 そういえば標準でnullのプロトタイプにアクセスする手段はないな。必要ないが。
32 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 15:07:37 ] >>30 www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/9_Type_Conversion.html 11.6.1 の 加法演算子 と 9.8 の ToString 演算子の定義により可能になってる.
33 名前:デフォルトの名無しさん [2007/10/24(水) 00:02:29 ] ECMAScript 第4版の最終ドラフトが公開 - JavaScriptデベロッパは注目を journal.mycom.co.jp/news/2007/10/23/032/index.html こんなに欲張った新機能で大丈夫かいな・・・
34 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 00:46:58 ] 大丈夫
35 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 03:12:51 ] むしろ今まで貧弱すぎたかと。 これからどんどんサーバーサイドのPHP, J2EE辺りの役割を果たしていくんだろうから。 メーラ、カレンダ、メモ帳、簡易ワープロ&表計算 この辺りが全部webアプリになってきたからね。 正直、Javaみたいなしっかりしたsecurity modeを持たない Javascriptがこれほど長生きするとは思ってなかったが。
36 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 03:32:15 ] >>35 うけたw
37 名前:デフォルトの名無しさん mailto:sage このスレも3年はもつよな? [2007/10/24(水) 04:11:37 ] 少なくともこのスレが終わるまでは ECMAScript 4はMozilla製品以外では 使われないと予言しておこう。
38 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 04:47:10 ] W3C次第じゃないかな。 一昔前ならMSが唯我独尊で無視だったろうけど、 最近はEUの思惑に結構押されているから。 C#や.NETではECMA標準の重要性を訴えているしねw しかし最近はAJAX系が増えてきて、 Javascript処理系が軽くないと、軽いブラウザとは言えなくなってきたな。
39 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 10:09:02 ] >>37 Operaも標準規格マンセーなブラウザだし、Mozillaと同じぐらいの速度で実装してくれそうだけど。
40 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 10:35:53 ] >>37 あと Adobe な。Tamarin。 IE に対しては wiki.mozilla.org/Tamarin:ScreamingMonkey んなことしてるしな。テスト程度は動かせるようになったみたい。
41 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 12:40:41 ] Tamarin - MozillaWiki wiki.mozilla.org/Tamarin ActionMonkey, the integration of Tamarin and SpiderMonkey for Mozilla 2. Tamarin:IronMonkey, the mapping of IronPython and IronRuby to Tamarin. Tamarin:ScreamingMonkey, integration of Tamarin as a <script> engine in other browsers, starting with IE. これやね。ActionMonkey, IronMonkey,ScreamingMonkeyプロジェクトか… SpiderMonkeyとの統合, IronPythonとIronRubyから操作, <script>を用いて ブラウザ内で Tamarin を利用できるようにする試み。ですな
42 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 02:00:59 ] 恐ろしく汎用言語化してるな。 こりゃRhinoの再実装に時間食いそうだ。 今までの実装も名前とバージョン引き継いで 別コードベースで書き直しとかした方が楽そうだと、一瞬思ったがed.3と互換性持ってるんだったな・・・。 あと、JavaScript2.0の策定に1年、実装に1年くらいかねぇ。
43 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 09:01:05 ] livescript登場した時には、ここまで普及するとは思わなかった。 インタープリター系では一番実行されてる言語だし、 Ajax関連で重要性もどんどん高まっているから、 言語としてより強力にならざるを得ないだろうね。 なんでもできることをみんな望んでいるというか。
44 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 10:44:31 ] Rhino だと Java の機能から援用できる部分もあるだろうけど それでも実装1年だろうねぇ。 es4-pre-release.M1.source.tar.gz にある spec/schedule.txt 見ると 2008 Apr. Spec deadlines - Clean enough for commercial implementaters to start using it なんで3ヶ月〜半年くらい遅れを見込んでも、来年半ばには実装に入れたらいいな。
45 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 16:40:07 ] ECMAScriptは仕様が仕様だからパーサ部分手書きだろうしね。
46 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 18:01:37 ] JavaScriptCore(KJS) は yacc だけどな。ES4 はしらんけど。 trac.webkit.org/projects/webkit/browser/trunk/JavaScriptCore/kjs/grammar.y websvn.kde.org/trunk/KDE/kdelibs/kjs/grammar.y
47 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:36:40 ] 現物にお目にかかれるのはやっぱり仕様策定と実装で2年はかかるっぽいね。 ttp://www.atmarkit.co.jp/news/200711/05/mozilla.html
48 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 09:17:50 ] それはweb browser上、特にtamarinに移行するfirefox、での話でしょ? 単体の処理系はもっと早いよ。
49 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 09:24:17 ] いずれにせよ、まともなクラスシステムを持つようになって大変めでたいです。
50 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:10:19 ] ごめん、クラスイラネ関数型+prototypeパラダイム最高!派なんだ。 モジュラー性の確保だけで十分だったと思う。 いくらなんでもこれはやりすぎ、再学習のリスクと仕様満たした実装を作るコストが高すぎる。 けっきょく、クラス付けたのも関数型+prototypeパラダイムが理解できない連中の救済策でしかなく、 もともとここまではやるような言語じゃないんだから無理に一般に合わせる必要もないと思う。 AJAXとかいい加減うざいと思ってる。
51 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:19:40 ] てかプロトタイプパラダイムがあればクラスなんて簡単に実装できるじゃん。 プリミティブなままにしときゃいいのに、と思ってしまったおれはscheme脳なのか
52 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:34:03 ] >>50 package と namespace だけつかえばえーやん。 >>51 保護されないけどね。そこがいいんだろうけど。 ところで R6RS はお嫌い? C もどき文法で 型付と動的型の融合は Dylan 以来の挑戦 と思うと面白かったり。Perl 6 もあるけどさ。
53 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 17:42:19 ] 言語として面白いと思うが実装が普及するかどうか微妙じゃね…?
54 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:14:04 ] ES4って面白みあるか?
55 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:15:13 ] OreScript
56 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:32:57 ] Java ライクな拡張文法の方に意識が行くのも分かるけど 一番重要なのは互換性があるってことだろう
57 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:33:43 ] そんなRubyみたいなこと言わないでw
58 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 18:34:14 ] >>55
59 名前:49 mailto:sage [2007/11/17(土) 23:58:57 ] >>52 自分は、ECMAScript 4も、R6RSも万歳です。 正直異なるクラスシステムの間でポートするのうんざりなんですよ。 prototype.js逝って良し
60 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 20:48:20 ] というかなんでprototype.jsがはやってんの化理解できない。 あんなライブラリ使うくらいなら自分で作るわ。 Object.prototypeの汚染は直ったのかね・・・?
61 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 21:00:14 ] 自分で作る方が理解できない。 あんなライブラリ作るぐらいなら、既にあるのを使うわ。
62 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 21:06:07 ] >>60 批判するのはかまわないけど もっとprototype.jsのことを知ってからにしたほうがいいよ それじゃ「JavaScript?スクロールバーに文字流すやつでしょ」 といってる連中とそう変わりない
63 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 04:08:19 ] 横槍で俺も一言 base2ライブラリの構造が理解できない、base2ライブラリって難しくない?
64 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 21:19:19 ] >>63 知らなかったんで調べたら code.google.com/p/base2/ dean.edwards.name/weblog/category/base2/ base2.googlecode.com/svn/trunk/lib/src/ 確かに歯ごたえあるなぁ、base2.js と base2-dom.js だけでも いろんなもん(W3C-DOM,IE bug & spec,js1.6〜,ES4,prototype.js etc...) 知らないと読み解くのつらいわ。 dean.edwards.name/weblog/2007/03/rules/ に納得&理解できるとなるほどと思う。
65 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 22:01:27 ] javascriptは他でやれ
66 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 00:57:03 ] var obj = { true:true ,false:false ,undefined:undefined ,null:null ,new:"new" ,if:"if" ,for:"for" ,switch:"switch" ,function:function(){} }; こゆーの定義できるんだけど、これは合法?
67 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 01:18:53 ] JavaScript 1.7以降ならOKだけどECMAScript 3だとだめだよ。 undefinedに関してはECMAScript 3でもOKだけど。
68 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 01:29:53 ] objectリテラルのキーは全部文字列と見なされるからOKなんじゃね?
69 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 02:08:30 ] interglacial.com/javascript_spec/a-11.html#a-11.1.5 www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#section-11.1.5 確かに Identifier は文字列に変換されるけど interglacial.com/javascript_spec/a-7.html#a-7.6 interglacial.com/javascript_spec/a-7.html#a-7.5 Identifier が予約語だとダメでしょ。
70 名前:デフォルトの名無しさん [2007/12/29(土) 21:56:27 ] メタプログラミングみたいなことをやりたいのですが、 リフレクション系の機能はないですか? メソッドを列挙したりしたいのですが・・・ rubyで言えば、Object.methods
71 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 22:10:09 ] 仕様書嫁。いくらでもやり方がある。
72 名前:デフォルトの名無しさん [2007/12/29(土) 23:09:01 ] ワカタ メソッドあったら、for-inで、列挙できるのな 最初、 for(var i in 1234) {print(i);} for(var i in "hoge") {print(i);} とか、やって、なんで、うまくいかないんだろとかおもてて、 thisつっこんだらメソッド列挙できますた サンクソ
73 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 23:20:42 ] それだとメソッドじゃなくてプロパティの羅列だけどな。
74 名前:デフォルトの名無しさん [2007/12/29(土) 23:41:30 ] あ、本当だ・・・orz しかも、WSH/JScriptでやったら、プロパティ列挙するできんぽいし
75 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 23:46:45 ] typeof が "function" のを抽出
76 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 23:49:21 ] そもそもメソッドって概念が存在しない。 メソッドっぽく見えるのは、プロパティに関数オブジェクトが代入されたもの。
77 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 00:03:12 ] じゃあ真のメソッドってどんなのよ
78 名前:デフォルトの名無しさん [2007/12/30(日) 00:29:46 ] JavaScript Shell 1.4 www.squarefree.com/shell/shell.html ここで、試してたんですが、props(this); とか Methodとか、Field全部出してくれました。 このpropsのソース参考にしてみます。 props(this); では、ずらずらでるけど(typeof(this) = object) props(Array.prototype); props(String.prototype); とかやっても、何も出ないのは、組み込みだからですか?
79 名前:デフォルトの名無しさん [2007/12/30(日) 00:51:25 ] すいません。 とりあえず、本来、動かしたい SleipnirのJavaScript互換(JScript?)の組み込みスクリプトの for-in で、プロパティ、メソッドが列挙できないようなので、 あきらめますた。 何がやりたかったかといいますと、SleipnirのUserActionで、 ドキュメントにない、sleipnir 変数や、API変数が使えるので、 thisのプロパティになってるのかどうか、調べたかっただけなのです・・・。 Echo("do tmpScript.js"); Echo(typeof(this)); Echo("sleipnir:" + typeof(sleipnir)); Echo("API: " + typeof(API)); for(var i in this) { Echo(typeof(i)) }; やっても、for-inで何も出ねえので、あきらめ・・・ 付き合って下さった皆さん、ありがとうございました。
80 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 00:52:29 ] mozilla系の全てのオブジェクトの全ての プロパティ書き出すコード書いたらメモリ食い過ぎて落ちた事あるな。
81 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 01:38:48 ] >>77 だからない。あるのはclosure
82 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:02:47 ] 現状のECMAScriptの仕様にはメソッドなどないと。 第4版には盛り込まれてるけどな。
83 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:53:49 ] 関数オブジェクトと関数リテラルならあるけど。 でも結局プロパティに突っ込む。 てか、仕様書嫁。
84 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 11:35:19 ] Javascript1.7が楽しい。Pytnonからyieldとリスト内包をパクってきた んで非常に面白い言語になってる。インデントを強制されるPythonは 個人的につかう気にはならんがjs1.7はその代替になるね。 しかし、rangeは標準で入れておいて欲しかったな・・・
85 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 11:44:45 ] うん、クラスもプリミティブ実装になって、 他のscript言語を駆逐する可能性あり。 Webブラウザが味方だし。 後はCPAN相当の構築。 namespaceとpackageがあるから容易と思われ。
86 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 16:46:53 ] そういや外部ライブラリを読み込む記法って標準化されるのかな。 教えて詳しい人
87 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 17:28:52 ] 標準ならば、unit つかうことになるんでねーの wiki.ecmascript.org/doku.php?id=proposals:program_units AS3か4がどーするかはわからんけど。
88 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 20:47:36 ] >>87 ありがとう。 外部ライブラリっていうか、外部のソースを読み込む方法について聞くつもりでした。 どちらにせよ、use使えばいけるのね。 早く使ってみたい。
89 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 21:41:20 ] >>85 >後はCPAN相当の構築。 取り敢えず Python の標準ライブラリを一つずつ ECMAScript にポーティングしていけば良いのかな
90 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 07:23:49 ] 1.7つかってみてぇ!っておもったけど FireFoxだけっすか
91 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 11:27:22 ] rhinoがあるよ
92 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 12:05:23 ] rhinoは1.6です。
93 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 12:06:48 ] ftp://ftp.mozilla.org/pub/mozilla.org/js/
94 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 12:21:15 ] Rhino 1.6.R6 とかで JavaScript 1.5 機能が入ったりしてるし Rhinoのバージョンと JavaScript のバージョンって完全一致してるわけじゃないよね? そこに置いてある rhino1_7R1pre.zip は JavaScript 1.7 相当なの?
95 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 12:40:16 ] DIY, RTFM Do It Yourself, Read The Fucking Manual
96 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 18:08:50 ] js1.7相当の実装は今のところspidermonkeyだけ。
97 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 21:24:28 ] さすがリファレンスインプリめんてーしょん
98 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 22:18:55 ] というかjs1.6はspidermonkeyのGCバグフィックスとArrayオブジェトにプロパティ増やしただけのメンテナンスリリースだからな。 rhinoの方はconstとか実装してなかったから1.6相当になったのもつい最近。
99 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 23:11:37 ] >>98 前スレでも同じような話が出てたが、JS1.6が"1.6"というバージョン名を 持つにいたった最大の理由であるE4Xを忘れてもらっては困るな。 まあJS1.5.1となっていた可能性もあるわけだから メジャーバージョンアップとも言い切れないのかもしれないが。 https://bugzilla.mozilla.org/show_bug.cgi?id=304828#c51 しかしGCバグフィックスがJS1.6の主機能の一つって言うのは どこから出てきた話だ?GCがらみの修正なんてそれこそ Mozilla 0.6からMozilla 1.7にわたる長いJS1.5の時代にも JS1.6になって以降も繰り返されてることだろうに。 その話の根拠となる文書またはバグを示してくれるとありがたいんだが。
100 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 23:16:49 ] E4Xはもともとrhinoで実装されてたしなぁ。