質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

988閲覧

新しいJavaScriptの書き方がされたコードを従来の書き方に直してみたのですが合っていますでしょうか?

退会済みユーザー

退会済みユーザー

総合スコア0

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/08/24 12:26

編集2017/08/27 01:48

以下のリンク先のコードなのですが、書き出しからこんな感じで何やってるか良くわかりづらかったので、従来のJavaScriptのコードに書き直してみたつもりなのですが、書き直したコードは元のコードの本来の動作通りに書き直せていますでしょうか? >_<

一時的に削除します。。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

ざっと見た感じそれで大丈夫。

isIterable === true ? wrappedComponentProp[VALUE].toJS() : wrappedComponentProp[VALUE];

三項演算子でこれはイケてない。
isXXXtrue or falseの論理値に決まってるんだから、そのまま三項演算子に投げ込んだ方がかっこいい。
isIterable ? wrappedComponentProp[VALUE].toJS() : wrappedComponentProp[VALUE]

以下は蛇足だけど、自分で書くならこうかな。
この辺は思想もあるから色んな人の正解があると思うけど、私の場合は横を縮める為に少々縦に伸ばすのが好み。
ついでにspace2個が好き。

JavaScript

1import React from 'react' 2import { Iterable } from 'immutable' 3 4export const toJS = WrappedComponent => wrappedComponentProps => { 5 const propsJS = Object 6 .entries(wrappedComponentProps) 7 .reduce((newProps, it) => { 8 let key = it[0]; 9 let prop = it[1]; 10 let isIterable = Iterable.isIterable(prop); 11 newProps[key] = isIterable ? prop.toJS() : prop; 12 return newProps; 13 }, {}); 14 15 return <WrappedComponent {...propsJS} /> 16}

因みにObject.entriesが何してるのか気になったので検証してみた。
obj-to-pairsしてたんだね、これは便利。

JavaScript

1var hoge = {a: 123, b: 234} 2console.log(Object.entries(hoge)); 3// [["a", 123], ["b", 234]]

投稿2017/08/24 14:52

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/08/25 00:52

>isXXXはtrue or falseの論理値に決まってるんだから、そのまま三項演算子に投げ込んだ方がかっこいい。 なるほど、確かにそうですね!
退会済みユーザー

退会済みユーザー

2017/08/25 00:52

>ざっと見た感じそれで大丈夫。 ありがとうございます!
guest

0

学習上でのES2015からES5へのコード変換ということで、Babel公式サイトのTry it outページでWeb上で左にES2015コードを入力すると右にES5コードが出力される機能があったので、人間が見る分には少し歪にはなりますが動くコードなので合っているかどうかの参考にはなるかと思います。
Babel Try it out

投稿2017/08/24 13:59

aro10

総合スコア4106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/08/25 00:51

検証するアイデアのご提案ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問