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

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

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

    101 = :

    >>97>>96の疑問に答えてるだけだと思う

    102 = :

    >>101
    なるほど

    103 = :

    >>95
    マジレスすると、Mapリテラルは非常に設計が面倒くさいと思うぞ
    keyに何でも入れられるので、Syntaxが複雑化極まる
    {{1:1,true:2,"s":3,{}:4,[]:5,()=>1:6,function f(){}:7,Symbol():8,new Object:9}}

    104 = :

    そんなこと聞いてない

    105 = :

    飛影はそんなこと言わない

    106 = :

    Mapいいんだけどさぁ、重厚長大過ぎるよ。
    使いどころはあるけど普段使いしないよ。
    単なる組み込みクラスでリテラルも無くsetget系APIも目にうるさい。
    顧客が本当に求めていたもの: 列挙時順序保証のオーダードオブジェクトリテラル
    const list = #{variable1, variable2, variable3};
    >>81の順序が保証されるみたいな。
    これをfor inしたときはプロトタイプ辿らないみたいな挙動なら完璧。

    107 = :

    たしかにget/setはダサい
    []でアクセスできてこそmap
    TypedArrayが[]アクセスできるのは何でだっけ

    108 = :

    >>106
    後方互換性を考慮してあの設計なのだろう

    110 = :

    テンプレートリテラル`~`に対するタグ付きテンプレートリテラルhoge`~`みたいに配列リテラル[~]、オブジェクトリテラル{~}に対してもfuga[~]、piyo{~}みたいにユーザー定義の道を開いてくれると嬉しい。
    配列リテラルについては無理か…
    fugaに対するキーワードアクセスと区別つかないもんな。

    111 = :

    >>110
    タグ付きテンプレートリテラルとは?

    112 = :

    >>111
    http://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/template_strings#タグ付けされたTemplate_literal

    113 = :

    >>112
    滅茶苦茶読みにくいな
    template(`${0} ${'foo'}!`)がtemplate`${0} ${'foo'}!`と書けるだけだが、何が便利なんだ?

    114 = :

    >>113
    styledComponentのAPIがこれ使ってた気がするな…
    まあリフレクションAPIとかと同じでフレームワークやライブラリを作る人が使う機能で一般ユーザーは提供されるAPIにしたがってhoge`~`するだけだよ。

    115 = :

    >>114
    なるほど、タグ付きテンプレートリテラルに最適化されたAPIを作れるのが利点か

    118 = :

    tag(``)がtag``って書けるのがナウいんだよ!うるせーな!!

    119 = :

    >>118
    違います。
    tag(`a${1}b`)だと関数tagは1つの文字列a1bしか受け取れません。
    tag`a${1}b`だと関数tagは配列(厳密にはrawも含むが)['a', 'b']と1がそのまま受け取れます。

    120 = :

    ようするに出力をエスケープするためのもの

    121 = :

    バカは黙ってろ

    122 = :

    >>110
    tc39眺めてたらそういう話なくもないんだな。
    suffix方式にすれば配列リテラルも行けるらしい。
    http://github.com/tc39/proposal-extended-numeric-literals/blob/master/README.md#extended-maparray-literals

    123 = :

    眺めてたらってそういう話もなくはないんだなって。。。
    もういい加減にしてくれ
    この手の話は何度もES6から出てただろうが
    そして何度も挙がるものって2種類あって
    毎回進歩するものとそうでないもの
    これは後者だろうが
    そのへんなんにも追っかけてなくてニュアンス理解してないくせに
    一瞬調べて無責任に引っ張ってくるってどうよお前
    お前どうよ?それ

    124 = :

    無責任って何を当たり前なことを…
    なんで俺が責任とるんだよバーカw

    125 = :

    んほぉ

    126 = :

    すみません誤爆です…

    127 = :

    あんまり誤爆に見えない

    128 = :

    中身がない文章は汎用的になるので
    どこでも使える

    129 = :

    >>77
    let variable1 = "";
    let variable2 = [];
    let variable3 = 12;

    let list = [];

    list.push({variable1});
    list.push({variable2});
    list.push({variable3});

    for (let obj of list) {
    alert(Object.keys(obj)[0]);
    }

    133 = :

    そのまんま
    with(new Proxy(......)){}
    のことでしょ
    こうしたら変数アクセスをほぼほぼプロキシできる
    例えば__scope__でスコープオブジェクトにアクセスできるようにしたり
    $GetVariableName(a) // 'a'
    みたいな事とかいろいろできる

    134 = :

    他にも分数だったりbignum同士の四則演算もできたはず
    $BEGIN_BIGNUM
    a = '12345678901234567890'
    b = '23456789012345678901'
    c = a + b
    $END_BIGNUM
    c // '35802467913580246791'
    って感じでできるようにプロダクトで使ったことある

    135 = :

    へぇ~
    参考ページない?英語でも可
    いろいろサンプル見たい

    136 = :

    邪道だから無いだろ

    137 = :

    無いです

    138 = :

    無いな

    139 = :

    原理的に変数アクセスがプロキシできたらできることなら何でもできるよ

    140 = :

    変数名を後から変更すると不具合誘発するとか、怖くて使えない

    141 = :

    変数名を変えても影響でないでしょ
    メタ処理で決め打たなければいいだけなんだから

    142 = :

    論よりコード。
    with proxyでゴチャゴチャ言ってる人たちは上の奴らと違ってコードを出さずにイキってばかり。

    143 = :

    すまんが俺はコードより論派なんでね
    糞面倒な糞コードをわざわざ書こうとは思わん
    特に楽しくアイディアを語り合ってるのをイキってるとか言うやつの言うことは聞きたくないね
    素直なかわい子ちゃんのお願いだったら聞いてやる

    144 = :

    てかwithproxyとやらでも順序は保証できないじゃんw
    順序保証しなくていいなら>>81でいいじゃんww
    ダラダラproxy書く意味まるでナシwww
    proxyproxy言ってる人は何か勘違いしているのでは?wwww
    論は論でも机上の空論wwwww

    145 = :

    こいつ何いってんだ?
    listに入れたものだとvalue-proxy使わないと難しいねって最初から話されてるだろ
    勿論すべての箇所で値が欲しいときはSLOVE(x)、名前が欲しいときはNAME(x)を使う
    つまり
    for(let i = 0; i < SLOVE(list).length; i++)
    {
    alert(NAME(SLOVE(list)[i]));           //variable1 variable2 variable3と順番に表示
    }
    みたいに書いてもいいっていうなら原理的に可能だが

    146 = :

    あと、ただ変数を列挙したいだけなら上で挙がったように
    __scope__みたいなの1つだけ特別扱いして
    __scope__.keys()みたいなのを定義すればいいだけだと思うよ

    そのままだとすべて列挙することになるけど
    まあどうして列挙したいのかわからんが、例えばデバッグのためなら
    変数名のパターンで絞り込むとか、そのくらいのことで実際はOKかもしれんよ

    148 = :

    せやで。

    149 = :

    >>77
    趣向を変えてタグ付きテンプレートでやってみたよ!

    let list_keys = strs => [eval(strs[0]), strs[0].replace(/\[(.*)\]/, '$1').split(/ *, */)];

    let variable1 = '';
    let variable2 = [];
    let variable3 = 12;

    let [list, keys] = list_keys`[variable1, variable2, variable3]`;

    for (let i = 0; i < list.length; i++) {
    alert(keys[i]);
    }


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

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


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