ES6の地雷(と思ってるのは自分だけだと思いますが)を踏んで
10時間ほど無駄にしてしまったことについて教えてください
私が思っている「地雷」というのは
「分割代入をするとオブジェクトのプロパティーが、
オブジェクトの外のスコープに飛び出してくる」というものです
javaScript
1let data = { hoge: 'ほ げ', foo: { piyo : 'ぴよ' , goo: 'ぐぅ' }} 2data.foo.piyo // "ぴよ" 3piyo // undefined 4let { hoge, foo, foo: {piyo, goo} } = data 5foo.piyo // "ぴよ" 6piyo // "ぴよ"
これで困ったのはこの分割代入の後で、同名の変数を定義したらエラーになることです
javaScript
1let data = { hoge: 'ほ げ', foo: { piyo : 'ぴよ' , goo: 'ぐぅ' }} 2let { hoge, foo, foo: {piyo, goo} } = data 3let piyo = 'ぽにょ' 4 5/* 6多重宣言のエラー 7SyntaxError: redeclaration of let piyo note: Previously declared 8*/
気をつけてないと、ずーっと離れた場所で意味不明なエラーに
出くわしてしまいます
これ困りませんか?私だけ?
もしかしたらFAQなのかもしれませんがこういうものでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/13 03:23 編集
2018/11/13 03:30
2018/11/13 03:51
2018/12/06 05:23