( ^ω^) 初学者・迷子・ロリ幼女はこちらで
_、_
( ,_ノ` ) プロフェッショナルはECMAScript デス 4へ
【前スレ】
JavaScript 3
http://peace.2ch.net/test/read.cgi/tech/1380177260/
【関連スレ】
ECMAScript デス 4
http://peace.2ch.net/test/read.cgi/tech/1325448978/
+ JavaScript の質問用スレッド vol.117 +
http://peace.2ch.net/test/read.cgi/tech/1404146244/
CoffeeScript
http://peace.2ch.net/test/read.cgi/tech/1320949260/
TypeScript part1
http://peace.2ch.net/test/read.cgi/tech/1349187527/
構造化ウェブプログラミング言語Dart2
http://peace.2ch.net/test/read.cgi/tech/1319388343/
Microsoft SkyDrive API
http://peace.2ch.net/test/read.cgi/tech/1385604796/
【MACRO】Google Apps Script 質問スレ【DRIVE】
http://peace.2ch.net/test/read.cgi/tech/1404007623/
【node.js】サーバサイドjavascript 2【Rhino】
http://peace.2ch.net/test/read.cgi/tech/1358937029/
探検
JavaScript 4©2ch.net
2014/12/05(金) 12:19:07.19ID:fmzBASgG
2014/12/05(金) 12:20:14.04ID:fmzBASgG
【前スレ-2】
JavaScript ライブラリ総合質問所 vol.4
http://peace.2ch.net/test/read.cgi/hp/1400834117/
Node.js + Express
http://kanae.2ch.net/test/read.cgi/php/1357402658/
【MVW】AngularJS {{2}}【Google】 [転載禁止]©2ch.net
http://kanae.2ch.net/test/read.cgi/php/1415599223/
enchant.js
http://peace.2ch.net/test/read.cgi/gamedev/1352393326/
むしろjavascriptでゲーム作ろうぜ
http://peace.2ch.net/test/read.cgi/gamedev/1048171505/
JavaScript ライブラリ総合質問所 vol.4
http://peace.2ch.net/test/read.cgi/hp/1400834117/
Node.js + Express
http://kanae.2ch.net/test/read.cgi/php/1357402658/
【MVW】AngularJS {{2}}【Google】 [転載禁止]©2ch.net
http://kanae.2ch.net/test/read.cgi/php/1415599223/
enchant.js
http://peace.2ch.net/test/read.cgi/gamedev/1352393326/
むしろjavascriptでゲーム作ろうぜ
http://peace.2ch.net/test/read.cgi/gamedev/1048171505/
2014/12/05(金) 12:22:14.63ID:fmzBASgG
2014/12/05(金) 12:28:49.65ID:S74tDLHo
板毎の整理までして戴いて超GJでござる
5デフォルトの名無しさん
2014/12/05(金) 14:51:01.34ID:v8ZX4BwT ノ ゚.ノヽ , /} ...
,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは>>1乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. :::
,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは>>1乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. :::
2014/12/05(金) 20:23:41.06ID:JcHTtYO/
2014/12/05(金) 20:48:53.50ID:+TXyzC2W
ここはJavaScript4のスレです
http://ja.wikipedia.org/wiki/ECMAScript#ECMAScript_4
ECMAScript 4
「JavaScript#JavaScript 2.0」も参照
ECMAScript 4 は過去2回仕様作成が挑戦されたが、仕様がまとまらず、失敗に終わっている。
1回目[編集]
2000年〜2003年ごろ行われた。主に、旧Netscape社とMicrosoft社によって行われたが、意見がまとまらずに、打ち切りとなった。この時の案は ActionScript へと引き継がれた。
http://www.mozilla.org/js/language/old-es4/ - 昔のNetscape草案
2回目[編集]
2007年〜2008年ごろ、2回目の仕様作成が行われた。大きく機能を追加される予定であったが、意見がまとまらず、2008年8月13日に、小規模の改善にとどまる、ECMAScript 3.1 を進めることとなった[3]。仕様は、http://www.ecmascript.org/docs.php にて公開されている。
以下のような予定があった。
大規模・大人数開発のための機能の追加[要出典]
型に関する機能の追加[要出典]
ジェネリックプログラミングの機能の追加
ECMAScript 3 が下位互換だが、互換でない仕様が一部に入る[要出典]
ActionScript 3 の上位互換だが、互換でない仕様が一部に入る[要出典]
http://ja.wikipedia.org/wiki/ECMAScript#ECMAScript_4
ECMAScript 4
「JavaScript#JavaScript 2.0」も参照
ECMAScript 4 は過去2回仕様作成が挑戦されたが、仕様がまとまらず、失敗に終わっている。
1回目[編集]
2000年〜2003年ごろ行われた。主に、旧Netscape社とMicrosoft社によって行われたが、意見がまとまらずに、打ち切りとなった。この時の案は ActionScript へと引き継がれた。
http://www.mozilla.org/js/language/old-es4/ - 昔のNetscape草案
2回目[編集]
2007年〜2008年ごろ、2回目の仕様作成が行われた。大きく機能を追加される予定であったが、意見がまとまらず、2008年8月13日に、小規模の改善にとどまる、ECMAScript 3.1 を進めることとなった[3]。仕様は、http://www.ecmascript.org/docs.php にて公開されている。
以下のような予定があった。
大規模・大人数開発のための機能の追加[要出典]
型に関する機能の追加[要出典]
ジェネリックプログラミングの機能の追加
ECMAScript 3 が下位互換だが、互換でない仕様が一部に入る[要出典]
ActionScript 3 の上位互換だが、互換でない仕様が一部に入る[要出典]
2014/12/06(土) 00:47:10.87ID:katyEhxk
いやいやいやいやいやいやいやいやいやいや、
ただのPart 4ですからー残念!
ただのPart 4ですからー残念!
2014/12/06(土) 00:52:42.22ID:katyEhxk
>>2
そういやWeb制作板の方にも質問スレがあったんだった。
+ JavaScript の質問用スレッド vol.121 +©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1415213701/
そして>>6は一体どこの誤爆?
そういやWeb制作板の方にも質問スレがあったんだった。
+ JavaScript の質問用スレッド vol.121 +©2ch.net
http://peace.2ch.net/test/read.cgi/hp/1415213701/
そして>>6は一体どこの誤爆?
2014/12/06(土) 13:37:22.95ID:ERRenF6X
ろ・ろ・ろりようじょちゃうわっ!
2015/01/22(木) 21:05:26.72ID:lh8u5jbd
lodash 3.0 リリース間近!
https://github.com/lodash/lodash
3.0-preから-preが外れました!
スレが多すぎてどこに書けばいいかわからないので
関連スレすべてにマルチポストしています。m(__)m
https://github.com/lodash/lodash
3.0-preから-preが外れました!
スレが多すぎてどこに書けばいいかわからないので
関連スレすべてにマルチポストしています。m(__)m
2015/01/23(金) 04:56:10.36ID:Hr76SqrY
せっかく貼ってもらって恐縮だが
ここは関連してない
ここは関連してない
13デフォルトの名無しさん
2015/01/28(水) 16:27:09.57ID:8HD8W7Zv フェラチオ
14デフォルトの名無しさん
2015/02/11(水) 21:37:34.73ID:z1YCt8TB http://www.mpi-sws.org/~rossberg/papers/JSExperimentalDirections.pdf
GoogleはJSに「新モードを追加する」という方向性に舵をきり始めた。
GoogleはSaneScript、SaneModeをV8上に今年上半期に実装する。
これはJSの機能を一部制限し、動作を変えることで強力な最適化を可能にする。
語弊を恐れずに言うと、asm.jsの発展版であり、
asm.jsがJSの10%の機能、ユースケースをターゲットにしたものなら、Saneは90%程度だ。
そして今年下半期にはSaneとシンクロする型システムを導入し、SoundScriptとなってharmonyの次の音色をJSにもたらす。
JSは静的&動的型付け、クラス&プロトタイプベース言語となってあらゆる人々の要求に答える言語へと成長する。
それは遠い未来の話ではない。1年の間にその変化が起こるのだ。
GoogleはJSに「新モードを追加する」という方向性に舵をきり始めた。
GoogleはSaneScript、SaneModeをV8上に今年上半期に実装する。
これはJSの機能を一部制限し、動作を変えることで強力な最適化を可能にする。
語弊を恐れずに言うと、asm.jsの発展版であり、
asm.jsがJSの10%の機能、ユースケースをターゲットにしたものなら、Saneは90%程度だ。
そして今年下半期にはSaneとシンクロする型システムを導入し、SoundScriptとなってharmonyの次の音色をJSにもたらす。
JSは静的&動的型付け、クラス&プロトタイプベース言語となってあらゆる人々の要求に答える言語へと成長する。
それは遠い未来の話ではない。1年の間にその変化が起こるのだ。
2015/02/11(水) 21:46:25.26ID:fVfIbgvg
つまり標準化をやめてオレオレ拡張するってことか
2015/02/11(水) 21:51:27.65ID:nRKk5Oa4
よくわかんないけどウェブプログラマがIEを恨む時代からChromeを恨む時代になる?
17デフォルトの名無しさん
2015/02/11(水) 21:54:42.46ID:z1YCt8TB 違う。これを発表したのはまさにTC39Meetingでだ。
だからGoogleはこれがES7あたりで標準になることを望んでいる。
O.oのときと同じく先行実験をするということ。
しかしJSが徐々に「Living Standerd」化していってるのは否定しない。
これは良い悪いではなく抗えない時代の流れなのだと思う。
そういえばこれと同じようにMozilla陣営が実験を進めていたParallelsは、
共感が少ないということで白紙に戻ったそうだ。
この取り組みが成功し、標準になるかどうかは結局は我々開発者の評判次第ということだ。
だからGoogleはこれがES7あたりで標準になることを望んでいる。
O.oのときと同じく先行実験をするということ。
しかしJSが徐々に「Living Standerd」化していってるのは否定しない。
これは良い悪いではなく抗えない時代の流れなのだと思う。
そういえばこれと同じようにMozilla陣営が実験を進めていたParallelsは、
共感が少ないということで白紙に戻ったそうだ。
この取り組みが成功し、標準になるかどうかは結局は我々開発者の評判次第ということだ。
18デフォルトの名無しさん
2015/02/11(水) 22:07:33.80ID:z1YCt8TB 皆はasm.jsを手書きで書こうとして詰まったり、思ったよりパフォーマンスが上がらなかったことはないだろうか。
Saneなら違う。SaneはほぼJSの感覚で手で楽にかけるし、パフォーマンスだけでなくリーディングの面でも素晴らしい効果をもたらす。
問題はこのJSにモードを増やすという考え方が、開発者たちにとって歓迎されるかどうかだ。
このasm.jsについてのissueを見てほしい。
https://code.google.com/p/v8/issues/detail?id=2599
10でも多いレス数は80。100で大人気のスター数は630。
当初Googleはasm.js向けの最適化はしないと言っていたのが徐々に主張が変わり、
今では新最適化エンジンで"use asm"を認識し、最適化モードを切り替えられるようにしたほどである。
今回の"use sane"アイディアはこういったことから開発者の受けがいいと判断してのことだろう。
Saneなら違う。SaneはほぼJSの感覚で手で楽にかけるし、パフォーマンスだけでなくリーディングの面でも素晴らしい効果をもたらす。
問題はこのJSにモードを増やすという考え方が、開発者たちにとって歓迎されるかどうかだ。
このasm.jsについてのissueを見てほしい。
https://code.google.com/p/v8/issues/detail?id=2599
10でも多いレス数は80。100で大人気のスター数は630。
当初Googleはasm.js向けの最適化はしないと言っていたのが徐々に主張が変わり、
今では新最適化エンジンで"use asm"を認識し、最適化モードを切り替えられるようにしたほどである。
今回の"use sane"アイディアはこういったことから開発者の受けがいいと判断してのことだろう。
2015/02/11(水) 22:19:43.31ID:TfFe/slw
asm.jsで目的は達成してるし他にはいらん
しかもasm.jsはソースがグチャグチャになるからアセンブラ並の難読化の役割も果たしてる
分かりやすくして欲しくない
しかもasm.jsはソースがグチャグチャになるからアセンブラ並の難読化の役割も果たしてる
分かりやすくして欲しくない
20デフォルトの名無しさん
2015/02/11(水) 23:07:43.53ID:z1YCt8TB asm.jsはネイティブのコードをJS化するときに活用できるものであって、
"use strict"の強化版的なSaneModeとはユースケースが違う。
特にvarの使用位置にこだわる人やLint勢、クラスベース言語経験者からは喜ばれると思う。
"use strict"の強化版的なSaneModeとはユースケースが違う。
特にvarの使用位置にこだわる人やLint勢、クラスベース言語経験者からは喜ばれると思う。
21デフォルトの名無しさん
2015/02/11(水) 23:21:05.94ID:z1YCt8TB Sane/Soundで一番JSらしくなくなるのはオブジェクトが拡張できなくなる点だが、
sealedされて型のついたオブジェクトというのは、ES7で前々から提案されていたTypedObjectと同じだ。
コンストラクタがデフォルトでTypedObjectを返すようになるモードと考えれば、違和感も薄れるかもしれない。
sealedされて型のついたオブジェクトというのは、ES7で前々から提案されていたTypedObjectと同じだ。
コンストラクタがデフォルトでTypedObjectを返すようになるモードと考えれば、違和感も薄れるかもしれない。
2015/02/11(水) 23:31:26.15ID:TfFe/slw
pdf読んだが、ただのstrict modeの拡張レベルの話しだな
SoundScriptの方にいたってはTypeScriptのパクリだし
TypeScriptパクる奴は後を絶たないな
SoundScriptの方にいたってはTypeScriptのパクリだし
TypeScriptパクる奴は後を絶たないな
2015/02/11(水) 23:38:26.87ID:sJPqGjE7
パクってもらうのが目的な気がしてならない
24デフォルトの名無しさん
2015/02/12(木) 04:27:00.28ID:vBHOZlzG パクリも何もTypedScriptは元々ES6に向けたharmonyの機能を先行して実装し、
それに加えてES4の頃からアイディアがあってES7辺りでの実現が見込まれていた型注釈を組み込んだものだよ。
そしてTypeScriptの目標は自身(型注釈)がES7で取り入れられて最終的に用無しになることだからね。
CoffeeScriptなんかとよく並べられるが、どちらかと言うとtraceurや6to5みたいなトランスレーターの仲間と考えた方がいい。
とは言えTSの型注釈はコンパイル時の整合性チェックのためのもので、実行時に活用するSSとは少し有り様が違う。
それに加えてES4の頃からアイディアがあってES7辺りでの実現が見込まれていた型注釈を組み込んだものだよ。
そしてTypeScriptの目標は自身(型注釈)がES7で取り入れられて最終的に用無しになることだからね。
CoffeeScriptなんかとよく並べられるが、どちらかと言うとtraceurや6to5みたいなトランスレーターの仲間と考えた方がいい。
とは言えTSの型注釈はコンパイル時の整合性チェックのためのもので、実行時に活用するSSとは少し有り様が違う。
2015/02/12(木) 13:51:21.11ID:sZL3z8VT
>>24
JavaScriptに型注釈が取り入れられるわけないし必要ない
それにブラウザ内蔵オブジェクトに正しく型を付けられるようにしたのはTypedScriptが最初だ
アイディアレベルのものと実際に実用的に動くものにしたのでは天と地ほどの差がある
実行時に活用するのは同じGoogleのAtScriptがあるだろ
JavaScriptに型注釈が取り入れられるわけないし必要ない
それにブラウザ内蔵オブジェクトに正しく型を付けられるようにしたのはTypedScriptが最初だ
アイディアレベルのものと実際に実用的に動くものにしたのでは天と地ほどの差がある
実行時に活用するのは同じGoogleのAtScriptがあるだろ
26デフォルトの名無しさん
2015/02/12(木) 15:31:26.12ID:vBHOZlzG >>25
>>型注釈が取り入れられるわけない
そんなことはない
ただし、ESでの型注釈は現状無難なguardの方向になる可能性が一番高い
SSはもっと踏み込んでる
>>ブラウザ内蔵オブジェクトに正しく型を付けられるようにしたの〜
DefinitelyTypedについて言っているのならそれは完全にTSの功績
だがそれはTSの型注釈がコンパイル時の検証のためのものだから必要なのであって
ランタイムのチェックには必要ないもの
>>アイディアレベルのものと実際に実用的に動くものにしたのでは天と地ほどの差がある
別にTSの実装が最初かどうかは論じてない
パクリかどうかについて言ったまでのこと
そういう論展開ならなおさら実装をパクったわけではないからぱっと見似ている機能を入れてもパクリでないということになる
>>AtScript〜
もしguardのことを言っているのであればそれもまたES7アイディアの一つで別軸、別機能、別の話
>>型注釈が取り入れられるわけない
そんなことはない
ただし、ESでの型注釈は現状無難なguardの方向になる可能性が一番高い
SSはもっと踏み込んでる
>>ブラウザ内蔵オブジェクトに正しく型を付けられるようにしたの〜
DefinitelyTypedについて言っているのならそれは完全にTSの功績
だがそれはTSの型注釈がコンパイル時の検証のためのものだから必要なのであって
ランタイムのチェックには必要ないもの
>>アイディアレベルのものと実際に実用的に動くものにしたのでは天と地ほどの差がある
別にTSの実装が最初かどうかは論じてない
パクリかどうかについて言ったまでのこと
そういう論展開ならなおさら実装をパクったわけではないからぱっと見似ている機能を入れてもパクリでないということになる
>>AtScript〜
もしguardのことを言っているのであればそれもまたES7アイディアの一つで別軸、別機能、別の話
2015/02/12(木) 16:52:25.34ID:sZL3z8VT
>>26
> ただし、ESでの型注釈は現状無難なguardの方向になる可能性が一番高い
guardはブレンダン・アイクにいらねー言われてたよ
> DefinitelyTypedについて言っているのならそれは完全にTSの功績
ブラウザ内蔵オブジェクトは単純なclassの定義だけじゃ型付け出来ないものがある
TypeScriptは若干独特な仕様のinterfaceを導入して正しく型付けしている
> ただし、ESでの型注釈は現状無難なguardの方向になる可能性が一番高い
guardはブレンダン・アイクにいらねー言われてたよ
> DefinitelyTypedについて言っているのならそれは完全にTSの功績
ブラウザ内蔵オブジェクトは単純なclassの定義だけじゃ型付け出来ないものがある
TypeScriptは若干独特な仕様のinterfaceを導入して正しく型付けしている
28デフォルトの名無しさん
2015/02/12(木) 18:47:26.14ID:vBHOZlzG >>27
guardそのものではないが、実行時の型チェック→エラー機能に留まる≒guardということ。
それと別に型が正しく型付けできない云々はあくまでTSの問題。TSが型をどのように定義し利用してるかの問題であって、一般的な話ではない。
そもそもTSにおける型とは架空のものだから。架空のものなのはJSが曖昧だから。
その点SSはそもそもクラスベースの世界だからインスタンスに紐付けられているクラス情報で判断できる。
で、ビルドインコンストラクタについてはどうやって外部の(プロトタイプベースの)世界と折り合いをつけるのかが示されていないから、
ランタイムチェックについては問題ないがAOT最適化をどうやるのかはなんとも言えない。
guardそのものではないが、実行時の型チェック→エラー機能に留まる≒guardということ。
それと別に型が正しく型付けできない云々はあくまでTSの問題。TSが型をどのように定義し利用してるかの問題であって、一般的な話ではない。
そもそもTSにおける型とは架空のものだから。架空のものなのはJSが曖昧だから。
その点SSはそもそもクラスベースの世界だからインスタンスに紐付けられているクラス情報で判断できる。
で、ビルドインコンストラクタについてはどうやって外部の(プロトタイプベースの)世界と折り合いをつけるのかが示されていないから、
ランタイムチェックについては問題ないがAOT最適化をどうやるのかはなんとも言えない。
29デフォルトの名無しさん
2015/02/13(金) 21:09:48.47ID:WDmbay81 jsonの日
30デフォルトの名無しさん
2015/02/14(土) 03:59:43.76ID:TJAnvvXO リア充の日
2015/02/16(月) 00:41:45.50ID:/X+NPUTO
Effective JavaScript読むとJSのきもさに眩暈がするな
元々ガチ向けじゃなかったものをガチ向けにした気持ち悪さ
まるで遊戯王
元々ガチ向けじゃなかったものをガチ向けにした気持ち悪さ
まるで遊戯王
2015/02/16(月) 02:39:37.43ID:4iM7fmBu
どんな言語でもプログラムした事無い素人の典型的なレスだな(笑)
2015/02/16(月) 08:14:21.62ID:1Y+K6fCR
キモイだろ。普通に。
ここまで捏ね繰り回されたコードが普通に使われる言語は珍しい。
他の言語だとそういうキモイコードは、面白いけどさあ、で大体終わる。
ここまで捏ね繰り回されたコードが普通に使われる言語は珍しい。
他の言語だとそういうキモイコードは、面白いけどさあ、で大体終わる。
2015/02/16(月) 09:39:29.51ID:o9E9nO+7
まあ皆キモイと思ってるから各種altJSが出てくるんだろうし
2015/02/16(月) 09:40:08.76ID:JcJgKv2l
>>34
そんなこと思ってる奴は全体でも1割もいない
そんなこと思ってる奴は全体でも1割もいない
2015/02/16(月) 11:42:38.28ID:8Z58kFg+
2015/02/16(月) 12:09:44.82ID:G25umMgZ
やべえ、そのくらいじゃ全然キモいって思えねえ
まだobjectiveCのがキモい
まだobjectiveCのがキモい
2015/02/16(月) 12:57:21.51ID:AmwLqaSG
2015/02/16(月) 13:36:48.91ID:8Z58kFg+
>>38
巻き上げの説明でよく出てくる例
var myname = "global";
function func() {
console.log(myname); //出力内容は?
var myname = "local";
console.log(myname); //出力内容は?
}
グローバルと同じ名前のローカル変数を定義してる時点で問題があるが、別の言語だと
"global"
"local"
と出力されるだろうが、そもそもローカル変数にアクセスしようとしてたら
どっちみち意味不明なバグになる
JavaScriptは親切に
undefine
"local"
としてくれるから逆に分かりやすい
セミコロンの問題はわざわざヘンテコな書き方をしない限り誰も問題とは思ってない
しいて上げれば末尾カンマの方が問題だ
ただ全部jshintをすれば事前に分かるから普通に書けば問題にはぶつからない
>>36のイディオムだけは使いまくるからどうにもならんけどな
巻き上げの説明でよく出てくる例
var myname = "global";
function func() {
console.log(myname); //出力内容は?
var myname = "local";
console.log(myname); //出力内容は?
}
グローバルと同じ名前のローカル変数を定義してる時点で問題があるが、別の言語だと
"global"
"local"
と出力されるだろうが、そもそもローカル変数にアクセスしようとしてたら
どっちみち意味不明なバグになる
JavaScriptは親切に
undefine
"local"
としてくれるから逆に分かりやすい
セミコロンの問題はわざわざヘンテコな書き方をしない限り誰も問題とは思ってない
しいて上げれば末尾カンマの方が問題だ
ただ全部jshintをすれば事前に分かるから普通に書けば問題にはぶつからない
>>36のイディオムだけは使いまくるからどうにもならんけどな
2015/02/16(月) 15:23:28.07ID:AmwLqaSG
>>39
C#とかPythonだと上位スコープと同じ名前が後でローカル変数として宣言されるときは、宣言前に使うと構文エラーになって100倍わかりやすいんだが
あと
b = 10
(function(){})()
とかくと10が関数でないってエラーが出るし、関数返したりするとエラーすら出なくなるんだけど、セミコロン省略派の人はjshintで問題を見つけられるの?
C#とかPythonだと上位スコープと同じ名前が後でローカル変数として宣言されるときは、宣言前に使うと構文エラーになって100倍わかりやすいんだが
あと
b = 10
(function(){})()
とかくと10が関数でないってエラーが出るし、関数返したりするとエラーすら出なくなるんだけど、セミコロン省略派の人はjshintで問題を見つけられるの?
2015/02/16(月) 15:59:58.43ID:8Z58kFg+
2015/02/16(月) 16:30:21.26ID:8Z58kFg+
>>40
https://github.com/then/promise
ちなみに↑このライブラリの人はセミコロンを一切書いてない(lib内のソースとか)
それだけで使う気は失せたが一応ちゃんと綺麗に書けてる
https://github.com/then/promise
ちなみに↑このライブラリの人はセミコロンを一切書いてない(lib内のソースとか)
それだけで使う気は失せたが一応ちゃんと綺麗に書けてる
2015/02/16(月) 17:23:39.47ID:AmwLqaSG
同名ローカル変数は許すよ。javascriptで巻き上げてundefinedになる状況がエラーになる。
http://ideone.com/7fi2bK
セミコロンで挙動が変わるのは極端だけどこういうの
function test()
{
・・console.log("A")
・・return function(){
・・・・console.log("B")
・・・・return function(){ console.log("C") }
・・}
}
test() //無=>ABC 有=>AD
(function(){console.log("D")})()
もっと単純でこういうのもあった
var a = [["A","B"],["C","D"]]
[0].map(function(i){ console.log(i);})
あと、即時関数も書いた人の宗教によって
(function(){ console.log("test1"); })();
(function(){ console.log("test2"); }());
+function(){ console.log("test3"); }();
みたいにいろんな呼び方があってキモいじゃん?
想定外の書き方が来ると?になるから、統一してほしい
>>42
boostrapなんかもセミコロン省略教だったりする
上みたいな状況がどうしても出てくるなら、行の先頭にセミコロンつけろだとさ
http://ideone.com/7fi2bK
セミコロンで挙動が変わるのは極端だけどこういうの
function test()
{
・・console.log("A")
・・return function(){
・・・・console.log("B")
・・・・return function(){ console.log("C") }
・・}
}
test() //無=>ABC 有=>AD
(function(){console.log("D")})()
もっと単純でこういうのもあった
var a = [["A","B"],["C","D"]]
[0].map(function(i){ console.log(i);})
あと、即時関数も書いた人の宗教によって
(function(){ console.log("test1"); })();
(function(){ console.log("test2"); }());
+function(){ console.log("test3"); }();
みたいにいろんな呼び方があってキモいじゃん?
想定外の書き方が来ると?になるから、統一してほしい
>>42
boostrapなんかもセミコロン省略教だったりする
上みたいな状況がどうしても出てくるなら、行の先頭にセミコロンつけろだとさ
2015/02/16(月) 17:32:57.59ID:8Z58kFg+
2015/02/16(月) 17:38:33.32ID:8Z58kFg+
>>44
違ったあってた
そもそも
(function(){console.log("D")})()
↑この書き方がイレギュラーな書き方なんだよ、それは最初に言っている
どんな言語だってコーディングスタイルの違いで変な書き方なんてあって当たり前だ
JavaScriptだけが特別じゃない
違ったあってた
そもそも
(function(){console.log("D")})()
↑この書き方がイレギュラーな書き方なんだよ、それは最初に言っている
どんな言語だってコーディングスタイルの違いで変な書き方なんてあって当たり前だ
JavaScriptだけが特別じゃない
レスを投稿する
ニュース
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★4 [樽悶★]
- 歩道で93歳男性が女子大学生の自転車にはねられ意識不明 坂を下った先「気付いたときには目の前に」 [七波羅探題★]
- 「“なり得る”って言っただけだから…」高市早苗“存立危機”答弁後に漏らした本音 ★3 [Hitzeschleier★]
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で ★4 [お断り★]
- 中国が水産物の輸入停止、首相答弁撤回を要求…中国共産党機関紙「輸入停止は一つのシグナルにすぎない」 [ぐれ★]
- 【テレビ】佐野岳 TBS『最強スポーツ男子頂上決戦』収録で重傷… 右膝半月板損傷と靭帯断裂 全治8カ月~9カ月間 [冬月記者★]
- 【高市尖閣】 国民民主・山田吉彦「尖閣諸島に上陸しろ! 上陸して現地調査が必要だ!」 日本政府「衛星画像で見ています」 [485983549]
- この国の動物園、終わる… ゴリラ、キリン、ゾウ、人気動物が続々と消える… どこかに大きくてかっこいい大型獣いませんか? [452836546]
- 🍣にゃっはろ🌸~スシろ~🏡
- 【速報】高市に強力な味方登場 [695089791]
- 海外大手メディア、高市が中国に宣戦布告したと次々報道し始める。どんどん外堀が埋められる [931948549]
- 中国人観光客のキャンセル率、ついに7割越えwwwwwwwwwwwwwwww [329329848]
