2016-07-05 5 views
1

な破壊を試すと同じコードがstackoverflowの上で動作することを発見していないCodepen(おもちゃは「未定義」を取得):http://codepen.io/tsalexey544/pen/VjWxmm?editors=0010#ES6での破壊。私は心配する必要がありますか?

それは何を意味するのでしょうか?私のプロジェクトで破壊を使用する際に心配すべきですか?

let obj = { 
 
    species: "Cat", 
 
    // toy: "ball", 
 
} 
 

 
function whatDoTheyDo ({species, toy = "ball"}) { 
 
    return `The ${species} playes with a ${toy}` 
 
} 
 

 
document.write(whatDoTheyDo(obj));

答えて

2

あなたはそれ以外の場合は、非構造がサポートされていない標準ES5を、使用する、CodePenにbabelにプリプロセッサを設定する必要があります。

ES6/ES7機能を使用する場合は、コードをBabelなどの特定のツールを使用してES5に戻す必要があります。一部のブラウザはすでにいくつかのES6機能をサポートしていますが、完全なサポートはまだまだ不安です。

編集 - あなたの質問に答えるには:YES、ES6はまだ完全にサポートされていないので、有効なES5コードの提供について心配する必要があります。最低限、あなたのコードをBabelにフィードして結果のコードを公開することを強くお勧めします。Webpackと完全なツールチェインを使うことを強くお勧めします。

+2

プリペアサーをnoneに設定した場合、CodePenのバグでなければなりません、確かにそれはコードをそのまま残す必要がありますか?しかし、 '関数whatDoTheyDo({species、toy}){' - デフォルト値がないので、その上でいくつかの前処理をしてしまいました。 –

+0

私のサーバーにもバベルを設定する必要がありますか?またはデフォルトでES6がオンになっていますか? –

+1

@AlexeyTseitlin - バベルはサーバー側ではありません。これは蒸散ライブラリです。 ES6コードをES5互換のブラウザで実行されるES5コードに変換します。 – evolutionxbox

関連する問題