のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,063,120人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレ+ JavaScript の質問用スレッド vol.109 +

    JavaScript覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    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進数値だけよ";


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について