1 名前:デフォルトの名無しさん mailto:sage [2016/05/22(日) 19:51:33.37 ID:WwOYSBmy.net] JavaScript を自ら学ぶ人のための質問スレッドです。 >>2-4 のテンプレを読んだ上で質問してください。次スレは>>950 が>>2 のテンプレ案(本スレで改善案があれば考慮)を元に立ててください ■質問を書く上で (1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。 (2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。 (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など) (3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。 (4) 常に自発的に調べる心構えを持ってください。 具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。 わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。 (5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。 (6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。 ※必ず「問題の事象が再現されること」を確認してください。 必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。 (7) サンプルコードに HTML が含まれる場合は validator.w3.org/ で [Check] してみてください。 (8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2 の質問テンプレートを活用してみてください。 (9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
848 名前:デフォルトの名無しさん [2016/06/29(水) 22:29:13.21 ID:ViUTH2Wh.net] つまり hoge=function(){ //処理 } hoge.a=function(){ //処理 } hoge.b=function(){ //処理 } って事ですか?
849 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 22:45:16.05 ID:11RiuwSN.net] >>825 jQueryは関係ありません。 あなたはJavaScript自体がわかっていません。 そしてオブジェクト指向もわかっていません。 「オブジェクト指向言語であるJavaScriptは、関数もオブジェクトです。」 この一言で理解できますかね?w function foo(a, b, c) {} という関数を作ったら関数もオブジェクトなんだから console.log(foo.name) とか ※nameは非標準だけれどだいたい使える console.log(foo.length) とか ※関数の引数の数 foo.toString() とか ※ソースコードを返す。 標準でできるんですよ。
850 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 22:48:52.04 ID:11RiuwSN.net] 真のオブジェクト指向言語は何でもオブジェクトであるって 考え方ができるかどうかですねw JavaScriptではオブジェクトではないものもあるけれど、 どちらかと言えばオブジェクトであるものが多い方 真のオブジェクト指向に近づくほど なんでもオブジェクトになる。
851 名前:デフォルトの名無しさん [2016/06/29(水) 22:52:05.42 ID:0EN53mtK.net] >>828 そんな事出来るのかよ 凄い
852 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 00:37:24.48 ID:s9p3Net1.net] だからnullもオブジェクトにしたまま放置なんですね(白目)
853 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 01:51:26.57 ID:RtLNL8Qe.net] Functionオブジェクトも、大本のObjectオブジェクトから派生している。 Objectは、処理(メソッド)・状態(プロパティ)を持つ 関数型言語ではオブジェクトは、1級市民オブジェクト(First Class Object)と言って、 持ち運べたり、関数の引数に渡したり、関数から戻り値として返したりできる つまり、Functionはオブジェクトだから、持ち運んで、後で呼べる(遅延・コールバック) クラス・無名クラス・クロージャ・ラムダも同じで、オブジェクト。 primitive 以外は、すべてオブジェクト
854 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 11:12:43.81 ID:bL1n9aIG.net] 一級市民オブジェクトw
855 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 12:54:42.82 ID:EibH/T4h.net] JapScript
856 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 12:55:18.07 ID:s9p3Net1.net] 一級市民オブジェクトとか和訳した人センスあるわw 嫌いじゃない で
857 名前:燔a訳で覚えるとググるとき大変じゃね [] [ここ壊れてます]
858 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 13:18:07.02 ID:bL1n9aIG.net] >>835 ググった結果、驚愕の真実が・・・ ファーストクラスオブジェクト: 約 1,520 件 第一級オブジェクト: 約 1,400 件 一級市民オブジェクト: 約 49 件 少なすぎじゃね? Googleぶっこわれてんのか?
859 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 13:41:53.09 ID:9tXhK5Ll.net] First Classで市民が出てくる当たり英語というか教養がないな
860 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 14:17:10.15 ID:bL1n9aIG.net] >>837 逆かもよ https://ja.wikipedia.org/wiki/%E7%AC%AC%E4%B8%80%E7%B4%9A%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88 > 第一級オブジェクト > > 第一級オブジェクト(ファーストクラスオブジェクト、first-class object)は、(略) > (略) > この言葉は1960年代にChristopher Stracheyによって「functions as first-class citizens」という文脈で初めて使われた。
861 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 14:32:43.41 ID:WQ4EC21M.net] 上級市民オブジェクトにしろ
862 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 19:06:07.78 ID:nv8TDX79.net] > 関数型言語ではオブジェクトは、1級市民オブジェクト(First Class Object)と言って、 この訳がおかしい、といわれてるだけ 一級市民を名乗るなら "citizens" を入れればいい - 一級市民のような関数(functions as first-class citizens) - 第一級オブジェクト(First Class Object)
863 名前:デフォルトの名無しさん mailto:sage [2016/06/30(木) 22:26:27.40 ID:s/7LoWQJ.net] そもそも、「functions as first-class citizens」の訳は「第一級市民関数」ではないよな 「第一級市民関数」と呼ぶなら "functions of first-class citizens" と書いてもらわんと ただし、as から of になると「一級市民に属する関数」の意味になって本質と全く異なる表現になる 何をもって「一級市民」が出てきたのかをよく考えるといい
864 名前:デフォルトの名無しさん mailto:sage [2016/07/01(金) 10:57:22.28 ID:2ngPRN1W.net] ofはないわー
865 名前:デフォルトの名無しさん mailto:sage [2016/07/01(金) 13:26:49.33 ID:swuu46hd.net] >>842 どう書くのが正しい?
866 名前:デフォルトの名無しさん mailto:sage [2016/07/01(金) 14:26:32.24 ID:GE+MZRxs.net] 普通に、asは、としての、でしょ。
867 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 18:28:16.22 ID:m2NwGvL3.net] は?「としての」? 「としての」なんて日常生活で殆ど使わないし 意味もぱっとしないだろ 「としての」「としての」「としての」 用意にゲシュタルト崩壊するだろ?
868 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 18:47:47.96 ID:hHp4sSVy.net] 「一級市民としての関数」?
869 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 20:14:00.55 ID:AmR+G6iW.net] 普通に使うだろ。 プロジェクトの担当としての回答はこうですが、理想論としては確かに認めます、とか。 低い次元の日常生活してるな。 そもそも、イギリスでのfirst-class citizenとsecond-class citizenの違い知ってりゃ理解出来るだろうけど、そういう教養も無いんだろうし。 言っとくと、British citizen otherwise than by descentと、British citizen by descentだからな。 「誰かから受け継いだものではない『英国市民』」と「誰かから受け継いだ(にすぎない)『英国市民』」の違い。 だから、何かから作られたものではない関数含めるオブジェクトを一級市民になぞらえ、そうではないものを二級市民になぞらえてる。 どっかのスレで論破されて発狂してた奴そっくりだな。
870 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 20:18:56.43 ID:AmR+G6iW.net] あ、これ書いたらわかりやすいかな。 ・イギリスで産まれれば一級市民 ・親がイギリス人(一級市民)でも、イギリス
871 名前:相Oで産まれれば二級市民、 ・親がイギリス人でも、二級市民であれば、イギリス国外で産んだ場合国籍を与えることは出来ない [] [ここ壊れてます]
872 名前:デフォルトの名無しさん mailto:sage [2016/07/02(土) 20:31:38.20 ID:/wal4gbU.net] 一級市民とはニートじゃなくて ちゃんと税金を払ってる人のことですよ
873 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 04:16:19.31 ID:+KSQOYrq.net] >>847 それは普通では無いな。 意地を張らずに自分の非を認めろよ。 低い次元の日常生活してる奴には無理かもな。
874 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 10:44:20.95 ID:xMv6BMC9.net] マスタースレーブとかひどい言い方だよな。 お前らは所詮使い捨ての奴隷よ。
875 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 12:12:49.74 ID:btJwgGWt.net] >>850 普通でしょw とりあえず言いかえせば良いと思ってるんだろうけど。
876 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 13:30:07.63 ID:oNgHKg4C.net] 今まで、スラッシュ/ってコントロール文字だから、 var moji="\/"; って具合にエスケープするって認識でいたのですが、 good parts P11に 「/とコントロール文字を除くすべてのユニコード文字」 って書いてあるのですが、 スラッシュ/ってコントロール文字ではないのですか?
877 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 14:14:39.57 ID:A4NkGxi2.net] コントロール文字がなんなのかも知らないのかw
878 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 14:16:55.67 ID:A4NkGxi2.net] 表示したら音がなる文字があるっていったら へぇーって言うんだろうなw
879 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 14:43:21.41 ID:JMRewaFc.net] さすがに若い奴がBEL(0x7) 知らんかったとしても仕方なかろうと思うがなぁ
880 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 16:11:02.52 ID:YeoQWaDz.net] ゆとりはどうしてググらないのか
881 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 16:11:29.21 ID:qk7lGSjH.net] >>857 ジジイの方がググらねーけどな
882 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 16:18:36.85 ID:YeoQWaDz.net] はえーよゆとり、びびるわ もしかしてBotでも仕掛けてある?
883 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 16:41:53.92 ID:5c1HtZx3.net] 反応が気になって常にリロードしてんのかな SNSのやりすぎ
884 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 16:53:17.69 ID:YeoQWaDz.net] しかしググれば分かることを質問されてもな。 もしそれで俺の時まで回答を待っていたのなら、完全に病気だな。
885 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 19:28:43.02 ID:+KSQOYrq.net] >>852 普通じゃないでしょw とりあえず言いはれば良いと思ってるんだろうけど。
886 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 21:31:43.21 ID:EZH9raf4.net] 立場を明示せず発言するのは危険だぞ?
887 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 21:51:09.80 ID:A4NkGxi2.net] >>863 じゃあお前から立場を明示してくれ
888 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:03:40.88 ID:EZH9raf4.net] >>864 俺個人としては痛い子がこれ以上恥を上塗りするのがかわいそうだと思ったから発言した 一人の社会人としては、個人の発言を会社の見解と取られるリスクは避けたいので個人的な発言には必ず私個人としてはと前置きするのが普通だと思う これでいいか?
889 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:10:11.68 ID:A4NkGxi2.net] >>865 お前なんか可哀想だな。 休日の書き込みなのに、 会社の顔色をうかがってるんだね。 会社第一の人生って感じがするよ。 会社が悪く思われるからこんなことはできん!ってな。
890 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:21:47.90 ID:EZH9raf4.net] >>866 そうか、まあどちらが可哀想かは見解の相違だな ところで何故そんなにイラついてるんだ? 腹でも減ってるのか?ちゃんと食わんと体に悪いぞ?
891 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:23:43.44 ID:A4NkGxi2.net] >>867 いらついてるのお前じゃね?w なんで俺がいらついていることにしたいか知らんけどw
892 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:26:30.67 ID:EZH9raf4.net] >>868 そうか、まあイラついてないならいいんだ 話題をすり替えてまで攻撃的な言葉を向けて来たから 何かイラついてるのかと思ったんだ、まあ気にするな
893 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:28:43.96 ID:A4NkGxi2.net] 話題をすり替えてっているなら、お前が話題をすり替えてるじゃんw
894 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:30:05.90 ID:A4NkGxi2.net] あと気づいてないようだが、俺は上のだれとも違うよw お前は一体誰と戦ってるんだ?w 俺は遊べそうと思ったから遊んでるだけだw
895 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:37:55.93 ID:EZH9raf4.net] コントロール文字知らない子を馬鹿にしてた痛い奴だろ? まあ俺は相手は誰でもいいんよ、反応のいい馬鹿をからかうのが楽しいだけだから では寝る、スレ汚し失礼した
896 名前:デフォルトの名無しさん mailto:sage [2016/07/03(日) 22:51:46.92 ID:YeoQWaDz.net] コントロール文字を知らないゆとりも、ググれないゆとりも、馬鹿にされて然るべき。 おかしな擁護をするからゆとりはゆとりのまま。それはゆとりのためにもよくない。
897 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 04:44:18.07 ID:gPjkHcng.net] コントロール文字を知らない若人は雇うかもしれないが 人を馬鹿にする奴は雇わない
898 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 07:56:58.66 ID:Nc/f1szG.net] >>874 確かに!
899 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 21:07:56.31 ID:xBEl8jJ1.net] と思う意識高い系ゆとりであった いよいよここもゆとり汚染が酷いな そうやって自分の周りを自分より馬鹿で固めて安心しているうちはゆとりのままだね じきに会社が潰れるからそれでいいと思うけど 資本主義はゆとりを特別扱いしてはくれない 君らがコントロール文字すら知らない中年になるのは数年後さ 若いという言い訳が通用しなくなった時にどうなるか見物だね
900 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 22:32:04.97 ID:vRFMByUM.net] >>876 コントロール文字を知らない中年と 他人を馬鹿にする事しかしない中年 確実に後者の方が害悪だな
901 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 22:52:08.82 ID:xBEl8jJ1.net] それが正しいかどうかは社会が決めてくれる。 君らが正しければ再就職先はあるだろうし、間違っていれば無いだけの話だ。 ここで言い争う意味はない。楽しみに待てばいい。
902 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 22:55:17.69 ID:0oVcG5wM.net] 今まで、スラッシュ/ってコントロール文字だから、 var moji="\/"; って具合にエスケープするって認識でいたのですが?
903 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 23:07:56.13 ID:xBEl8jJ1.net] ID:EZH9raf4 >>874 >>875 >>877 俺らの対応に文句を言っているお前らが答えろよ。 当然知っているからその態度なんだろ? それで放置するのなら俺らに文句を言う筋はないよ。 もっともゆとりにはこの「筋」ってのが通じなくて困るんだが。
904 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 23:15:25.46 ID:2qwL8Tkv.net] コントロール文字がわからなくてぐぐってみたんだが、制御文字(control character)の事か! なぜ、controlだけカタカナにするんだろう? コントロールキャラクタの方がまだ分かる
905 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 23:27:23.31 ID:vyHh0WrX.net] ルー大柴に尋ねてくれ
906 名前:デフォルトの名無しさん mailto:sage [2016/07/04(月) 23:50:51.04 ID:SuUmocnF.net] www.kogures.com/hitoshi/javascript/file-api/directory.html これ使ってフォルダ読み込んでいるんだけど 指定する場所が毎回同じだから最初からそこを指定するにはどうすればいいんだろう? わかる人いたら教えて下さい。
907 名前:デフォルトの名無しさん [2016/07/05(火) 00:16:53.06 ID:50xvo8fd.net] >>853 元々ハードを制御する為に使われていたASCIIコードの先頭32文字を指していた言葉、改行や前述されたBELなど通常の文字として画面表示されないもの Unicodeではこの32文字に加えて第14面の追加特殊用途面などに更に多くの制御文字がマッピングされている なおスラッシュは/という文字なのでコントロール文字ではないし、エスケープが必要かと制御文字どうかには直接的な関連性はない >>881 本当はコントロールキャラクターと表記したいが多くの日本人はキャラクターという言葉から文字を連想しないから文字と置き換えたのではないかね?
908 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 00:24:24.40 ID:aq1IVl4D.net] まあ確かに、コントがロール(役割)なキャラクターって思っちゃうわな。
909 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 01:58:08.99 ID:94G9IfNv.net] >>883 <p>〜</p> はいらないので、コメントにするか、削除する コメントにする場合、<!-- と --> で囲む。 ただし、コメントの中に、コメントは含められないため、<!-- 行C --> を削除する <!-- <p> 〜 </p> --> <script> fileListDilectory("フォルダ名") function fileListDilectory(files) { <script>タグと、function〜の間に、fileListDilectory("フォルダ名")を追加する。 フォルダ名は、半角ダブルクォーテーションで囲む
910 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 02:14:24.57 ID:iQZ7PuWs.net] >>884 どちらかといえば、「制御文字」が広く知られていると思うのだが
911 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 03:12:34.89 ID:gnmCE5Y/.net] 結構勘違いされてるけどHTMLのコメントアウトって<!--で開始で-->で終了じゃなくて <!と>の中にある--で開始で--で終了だから <!ここはコメントじゃない--ここはコメント--ここはコメントじゃない>
912 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 03:15:48.89 ID:gnmCE5Y/.net] <!------> ↑これコメント閉じてない
913 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 03:31:12.38 ID:94G9IfNv.net] Effective JavaScript という本の項目45で、 オブジェクトを辞書として使う際、キーに、hasOwnProperty, __proto__ などを使うと、 既存のプロパティが上書きされて、バグるというのは本当なの? var dict = { hasOwnProperty : null, __proto__ : null } >>889 <!-- と --> の間では、-- は使えない
914 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 04:05:49.05 ID:gnmCE5Y/.net] >>890 だから>>888 なんだってば
915 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 04:07:46.52 ID:Dhx8/uPE.net] 最近仕様が変更されてコメント内の二重ハイフンも OK になった https://github.com/whatwg/html/commit/518d16fdc672d1023dcfd2847d86f559d13a842f
916 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 14:28:39.06 ID:eormrIAE.net] >>888 そんなことはない https://html.spec.whatwg.org/multipage/syntax.html#comments その理屈が認められるならDOCTYPE宣言にもコメントを埋め込み可能になる <!DOCTYPE html--コメント-->
917 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 14:49:36.44 ID:eormrIAE.net] >>890 あなたが Object.prototype 上のプロパティを使いたいなら(自分自身で生み出した)バグといえるし、そうでなければバグではない そもそも、__proto__ に null を代入しているのだからプロトタイプチェーンを辿れないのは当然の事だ 自分が何をしているのかを理解していればそれがバグとなる由もない var dict = { hasOwnProperty : null, __proto__ : null }; Object.prototype.hasOwnProperty.call(dict, 'hasOwnProperty'); // true dict.hasOwnProperty('hasOwnProperty'); // TypeError: dict.hasOwnProperty is not a function dict.valueOf(); // TypeError: dict.valueOf is not a function
918 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 16:01:54.40 ID:50xvo8fd.net] >>891 w3cのhtml5勧告によると、<!--の4文字シーケンスで始まり-->の3文字シーケンスで終わるときっぱり書いてある 以下出典と該当する部分の引用 www.w3.org/TR/2014/REC-html5-20141028/syntax.html#comments 8.1.6 Comments Comments must start with the four character sequence U+003C LESS-THAN SIGN, U+0021 EXCLAMATION MARK, U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS (<!--). (ここに中身について云々あるが中略) Finally, the comment must be ended by the three character sequence U+002D HYPHEN-MINUS, U+002D HYPHEN-MINUS, U+003E GREATER-THAN SIGN (-->).
919 名前:890 [2016/07/05(火) 23:08:07.75 ID:94G9IfNv.net] >>894 入力されたデータを、オブジェクトのハッシュとして扱った際、バグらないのかな? または、これを利用して、システムを壊したりするとか
920 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 23:17:50.58 ID:eormrIAE.net] >>896 それはそういう設計にしているプログラマが悪い プロパティに何でも代入可能なハッシュ値ならプロトタイプ上のプロパティが上書きされる事も考慮すべきだ Object.keys, Object.prototype.hasOwnProperty.call で回避できるからな あるいは new Map でも使えばいい
921 名前:853 mailto:sage [2016/07/05(火) 23:21:29.77 ID:fKNXFIY8.net] オレ、27歳だけど、コントロール文字にスラッシュ入るって 言ってたら、まずいですか?
922 名前:デフォルトの名無しさん mailto:sage [2016/07/05(火) 23:49:25.07 ID:Coapt2bz.net] 『JavaScript: The Good Parts』(P11)の文字列リテラルの説明は意味が分からん " (</ とコントロール文字を除くすべてのユニコード文字> | <エスケープ文字>)* " なぜ "/" (スラッシュ) を除く? ES6 を読んだが、"/" が許可されないようには読めん www.ecma-international.org/ecma-262/6.0/#sec-literals-string-literals 『JavaScript: The Good Parts』の説明では """ が許可されるように読めるが、実際そんなことはなく、SyntaxError になる <" とコントロール文字を除くすべてのユニコード文字> であるべきだと思うのだが
923 名前:853 [2016/07/06(水) 00:00:08.69 ID:zGLlF+Oq.net] 実は、アマゾンで売ってるkindleの電子版のgood partsでは String ""で囲まれた文字列は、 any unicode character except " and \ and control character ''で囲まれた文字列は、 any unicode character except " and \ and control character となっており、日本語版のgood partsとは書いてあることが違う 英語版にはexcept / とは書いてない。 オライリーの公式には、ここの訂正がない。 ってなってるんだけど、もちろん、このスレの住民は 英語版のgood partsくらい普通に読んでるんで、 気づいているはず
924 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 00:02:33.66 ID:Np1SAbRe.net] >>899 運が良かったな。誤字って予想ぐらいすぐにおもいつけよ bdcampbell.net/javascript/book/javascript_the_good_parts.pdf
925 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 00:14:41.00 ID:1PwyVn8f.net] 正規表現の文字列表記から見ると、”/”は制御文字扱いになるのかな?
926 名前:899 mailto:sage [2016/07/06(水) 00:14:59.53 ID:YMmDVDK6.net] >>900 気が付いていたなら初めから>>853 で正しい情報を書け、といいたい 間違いと分かっている和訳版の情報を寄せるのはミスリードを誘っているようにしか見えん >>901 公式サイトに添削がないからおかしいとは思った 仕様書にない時点で間違いだと99%確信はしてたが、誰も指摘しなかったんだな ただ、はっきりいって誤字のレベルを超えていると思う "'と/ではキーの位置が大きく違うが、どうやったら誤字になるんだ?
927 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 00:18:21.76 ID:Np1SAbRe.net] マヌケかw /と\ の間違いだろw
928 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 00:18:26.98 ID:YMmDVDK6.net] >>898 /が制御文字と主張するなら「何を制御しているのか」をよく考えろ 通常、制御文字とは NUL, BS, LF, CR のように入力された機器に特別な制御命令を与える文字を指す /は入力された機器に何も制御命令を出さないので普通は制御文字とは呼ばない プログラミング言語や正規表現で現れる特殊文字は「メタキャラクタ(meta character)」と呼ぶ 扱う言語によってメタキャラクタは変化するので「JavaScriptの正規表現では/はメタキャラクタ」というように言語指定してやれば正しく伝わるだろう
929 名前:853 mailto:sage [2016/07/06(水) 01:02:18.07 ID:zGLlF+Oq.net] ""と''の中の文字列はany Unicode character になっており /を除くと書いてない。 (コントロール文字に/を含めにないとき) The escape sequencesに\/があるってことは /がコントロール文字でないと辻褄が合わないではないか!? っと考えました。 /はコントロール文字ではないが、正規表現で使う特殊文字だから、 コントロール文字の中に含めているって解釈でいい(?) >>905 メタキャラって/もですが、+ / *とかもメタキャラですよね しかし+ / *はThe escape sequencesでない。
930 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 01:11:51.83 ID:Np1SAbRe.net] まだやってんのか? コントロール文字って定義があるんだから それ以外はコントロール文字じゃねーだろ。 それだけの話んだが。
931 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 01:31:13.03 ID:YMmDVDK6.net] >>906 escape sequencesは制御文字の反意語ではない そもそも、文字列リテラル上で制御文字は特別な文字ではなく、エスケープを必要としない 文字列リテラルでエスケープが必要なのは "'\ と LineTerminator だけだ www.ecma-international.org/ecma-262/6.0/#sec-literals-string-literals
932 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 01:35:42.48 ID:YMmDVDK6.net] ああ、あと英語が読めるなら『ECMAScript 2015』を読んでおくといい 『JavaScript: The Good Parts』よりも参考になる
933 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 01:51:00.52 ID:YMmDVDK6.net] 改めて読み直したが、 > /はコントロール文字ではないが、正規表現で使う特殊文字だから、 > コントロール文字の中に含めているって解釈でいい(?) 1行目と2行目の「コントロール文字」の定義が違うのはなぜだ? 「文字列リテラルのメタキャラクタ」と「正規表現のメタキャラクタ」は区別しろ 制御文字とメタキャラクタは別個の定義だ よくわからんなら制御文字は気にしなくていいが、/や\はメタキャラクタであっても制御文字ではない(文字列リテラルでは/はメタキャラクタではない) しっかりと理解してないなら全て「特殊文字」に統一しておいた方がマシ www.ecma-international.org/ecma-262/6.0/#sec-unicode-format-control-characters
934 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 02:04:58.41 ID:3UYEMUlZ.net] 何でこのゆとりはこんなに必死なの? 間違いを認めればいいだけだろ。 もしそれをこれまで吹聴していたのなら、お前は既に馬鹿老害扱いされている。 それでも今後とも間違いを吹聴し続けるよりはマシ。
935 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 07:18:52.57 ID:sTXK0Kzp.net] 別に間違いを認めさせる必要もない。 それは優しすぎる傲慢。 その権利は俺達にないし、彼の問題に一々付き合ってやる義理もない。
936 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 07:43:14.67 ID:zGLlF+Oq.net] >>910 はい。 /はコントロール文字でない。 「文字列リテラルのメタキャラクタ」と「正規表現のメタキャラクタ」が分からないので /と\はコントロール文字でないが、escape sequencesに/と\があるのは 特殊文字だからって覚えておきます。
937 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 08:07:50.32 ID:Uvvu3JgG.net] / って正規表現で使うっけ?
938 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 08:27:04.26 ID:sTXK0Kzp.net] 言葉の定義なんて前提と捉え方で用意に変わり得る。 例えば制御文字を表すためのエスケープ表現を『制御文字』と慣用的に読んだって間違いじゃないし、 『\』をそのエスケープ表現の開始記号として『制御文字』と言ったって必ずしも伝わらなかったり悪いわけじゃない。 慣用的に使われる言葉と、仕様のキーワードは別。
939 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 09:51:11.02 ID:aYInvTWe.net] >>914 /もちろん/
940 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 10:42:32.00 ID:cNn6jv5y.net] >>916 それリテラルのデリミタ。正規表現の一部じゃ無い
941 名前:デフォルトの名無しさん [2016/07/06(水) 11:35:43.96 ID:YMmDVDK6.net] >>917 補足感謝 「/がメタキャラクタ」は適切な表現ではなかったな
942 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 11:48:57.84 ID:sTXK0Kzp.net] 仕様上の正規表現内のメタキャラクタではないね。 実際書く上では実質「正規表現」の「メタ」なキャラクタと考えられなくはないけど。
943 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 21:22:48.04 ID:3UYEMUlZ.net] >>915 ゆとり「通じればいいんだ。間違いではない」 他人(なんだこのゆとり…間違いは間違いだろ) 間違いだし、伝わりにくいし、悪いよ。いちいち言わないだけで。
944 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 21:26:31.47 ID:zGLlF+Oq.net] オレ、仕事は製造業で電子部品作ってる工場で働いているからさ 趣
945 名前:味でJavascriptの勉強してるだけだし別にいいだろ って開き直ってやる [] [ここ壊れてます]
946 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 21:32:48.07 ID:3UYEMUlZ.net] だとすれば話は簡単で、明日から正しい言葉を使うことを心がければいいだけ 過ちては改むるに憚ることなかれ リアルで誤用しまくりなら信用の回復は無理ぽだけど、そういうことではなさそうだし
947 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 22:48:29.74 ID:Np1SAbRe.net] 本当にゆとりだな。 ASCIIコードを勉強するときに 必ずコントロール文字は出てくるだろ。 JavaScript以前の問題だ。
948 名前:デフォルトの名無しさん mailto:sage [2016/07/06(水) 23:09:55.62 ID:3UYEMUlZ.net] ユニコードしか知らないんだろ 10代ならあり得るが、20代しかも後半なのはちょっと不自然だけど 逆に俺はJavaScriptのソースコードがユニコードなのが衝撃的だったが