元スレ+ JavaScript の質問用スレッド vol.109 +
JavaScript覧 / PC版 /みんなの評価 :
201 = 200 :
>>197
でもさ、これからはletを使って、ブロックレベルのスコープやるでしょ?
その時どうやって元に戻すの?
202 = :
ES7で入りそうなもの
↑
・ES6の補強(ES6に間に合わなかったもの)
・数値型系の大拡張(8xbit、巨大数、十進数、分数、複素数、その他SIMD系など)
・演算子の拡張(モジュロなどの追加)
・DOMからの逆輸入(PromiseやWorker)
・型情報付加(guard)
・部分マルチスレッド処理(Parallels)
・メタプロ大拡張(演算子オーバーロード、ValueProxy)
・遅延評価、遅延コール
↓
それ以降か、無しになりそう
その他注目的な動向
・DOMがJS標準になる?
・typeof再設計の試み再び(typeofを設定可能に?、typeof null = "null")
203 = :
元に戻すとは?
204 = :
>>200
心が醜いね
宣伝じゃないよ
205 = :
おれ馬鹿だからわからないけどこれ>>193でprototype汚染が解決されるの?
207 = :
一言で言えば「解消される」だが、いろいろ言いたいことがあるな。
まず汚染というのがfor-in等での列挙の事であれば、それを使わなければいいし、そういう風潮になってきたこと。
それから>>193はそういう機能があることの説明ではなく、もっと踏み込んだものであること。
208 = :
綺麗に汚染できる
209 = :
え、paerseIntはとうぜんbad partsとして載ってるんだよね?
210 = :
forinとかwithみたいな嫌われた構文を使わなければ汚染なんて関係ないこと
211 = :
>>203
要するにvarじゃなくてletを使えって言ってるんだよ。
そうすれば上に持ってこなくて済むじゃん。
212 = :
paerseIntはCSSの~pxみたいなときのパースでしか使うことはない
今はinput要素には.valueの他に.valueAsNumberがあるのでそちらを使うべき
勿論n = +strもとてもいい
213 = :
>>211
その話は色んな奴がこの前したがダメなんだとよ
214 = :
Object.prototypeがライブラリ同士でバッティングしててもこれからは忍者のように隠れてわからなくなるってこと?
216 = :
letって今普通に使えるんですか?
MDN見たらまた不確定機能みたいに書かれてますが。
しかも
let で宣言された変数はそれを取り囲んでいるブロックの先頭へ引き上げられます。
ってletも巻き上げられるんじゃ?
217 = :
>>214
列挙されないってだけだよ
上書きを防止することもできるけど
>>216
それは旧仕様
具体的にはFirefoxが昔から導入してた
ES6の元になったJS1.なんちゃらではそう
実際のES6やChromeの実装では巻き上がらない
218 = :
だからMDNの情報は古いことがあるから鵜呑みにするなって前言ったろ。
とは言ってもES6に関してはESwikiは勿論、
ドラフトもところどころ、なんと1年も反映が遅れてる部分もあるから注意。
219 = :
ES6にletがあっても今現在のコーディングが変わるわけでもないし
だから何としか言いようがないですね
220 = :
ES6に関してはこういう微妙なところも追っておかないと将来絶対アレ!?ってなるな
http://esdiscuss.org/topic/removal-of-noin-grammar-productions-and-for-loop-parsing
221 = :
>>209
はい。ひどいパーツで載ってました。
>>212
自分は、<div id="a1">199</div>
の199を$("#a1").html()で取得すると文字列になっているので、
文字列199を整数の199にするためにparseIntを使ってました。
.valueAsNumberってどのブラウザでも動くのでしょうか?
ieはどのバージョンから対応してますか?
222 = :
多分10
http://msdn.microsoft.com/en-us/library/ie/hh772947(v=vs.85).aspx
223 = :
HTML5ベーシックの一部だから
HTML5対応をちょっとでも謳うんなら実装してないとおかしい
224 = :
>>222
ありがとうございます。
10ですか、私のwebサイトではie8まではサポートしてるので
とりあえず、paerseIntを使っときます。
parseFloatってgood partsに載ってないのは、紙面に限りがある
とかですかね?
225 = :
クロックフォードスタイルがletによって変わるかは疑問がありますね
宣言しなければ自動的にローカル変数になる言語になったならともかく
宣言が必要ならば、ブロックの最初でするのがベストなのでは?
最初に宣言しておけば、それ以降は宣言したかどうかを気にする必要がないので。
varでもそうですが、多重宣言にならないように気を付けるのは面倒なものです
226 = :
letの多重宣言はコンパイルタイムエラーだから発見が容易だし
varの多重宣言はと言うのはズレてる、スタイルに関連する問題ではない
227 = :
ズレてるのは自分では・・
言葉の意味は分かりますが文章全体としては何を言いいたいのか全く分かりませんよ
228 = :
>>225
それは歴史が証明している。
他の言語でブロックの最初で定義する人は
もうほとんどいない。
229 = :
何が言いたいのか分からんのはそっちだよ
でも最大限推測してあげて色んなケースを考えてみたけど
varの重複を気をつける必要があるシチュが思いつかない
230 = :
変数名の重複を気にしなければならないほど巨大な関数をつくろうとしているのが問題なのでは。
普通に書いてればそんなこと起こらないでしょ。
そもそも似たような名前の変数を同じ関数内で宣言しなければならないという状況自体、
同じような処理を何度もやろうとしてるとかしか思いつかないんだけど。
231 = :
変数名の重複ではなく宣言の重複の話です。
232 = :
宣言を重複させる例
function foo() {
for(var i = 0; i < 10; i++) {
・・・
}
for(var i = 0; i < 10; i++) {
・・・
}
}
これよりも、こう書くがいいでしょう?
function foo() {
var i;
for(i = 0; i < 10; i++) {
・・・
}
for(i = 0; i < 10; i++) {
・・・
}
}
理由はvarを上にまとめたほうがいいという言ってる人が説明してね。
234 = :
どっちがいいかという話でletは関係ないお
238 = :
あ、googleで提示されたURLが長いだけだったw
ここから試せる。
http://traceur-compiler.googlecode.com/git/demo/repl.html
239 = :
>>193
よく見たらコンステレーションって人、escodegenの作者なんですね
240 = :
>>232
これは非常に気持ち悪く感じる…感性の問題かもしれんけど
241 = :
他の言語では大抵重複宣言はエラーになるから、
意識する様に習慣付いてるという理由で JavaScript でも
それに従う、という程度かな。
242 = :
他の言語のやり方に従うというであれば、
使う所で宣言する習慣にしたがえよw
243 = :
sには10進数の文字列が入っていてほしいんですが、sにはいろんな型が入っているかもしれません
parseInt(s, 10)でint型に変換してint型で利用したいんですが
いい方法教えてください
parseInt("0x0a", 10)と parseInt(0x0a, 10) は 0 と 10 になるのでNG。元が16進数なので省きたい
parseInt("true", 10) やparseInt(true, 10) は NaN になるから省けるのでOK
245 = :
16進数を10進数に直したいのではないんです
とにかく第一引数が10進数の整数・文字列じゃないときは全部NGにしたいんですよ
246 = :
if(typeof s == "symbol" || !(""+s).match(/^\d+$/)) throw "10進数値だけよ";
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.104 + (1001) - [97%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.105 + (1001) - [97%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.129 + (926) - [97%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.129 + (981) - [97%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.141 + (881) - [95%] - 2021/4/19 9:00
トップメニューへ / →のくす牧場書庫について