前提・実現したいこと
ここに質問の内容を詳しく書いてください。
・javascriptでオブジェクトのプロパティの値を変更したい
・具体的には以下コードのobject2のプロパティ名と同じobject1のプロパティ名の値を、同object2のプロパティ名の値に変更したいのですが、object1のプロパティ名の値がundefiendになる理由を確認したい。
発生している問題・エラーメッセージ
1.let object2property = Object.keys(object2)にてobject2のプロパティ名を取得する。 2.object1.object2propertyにてobject1のプロパティ値を取得しようとしたのですが、undefinedが返されます。
該当のソースコード
javascript
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width" /> 6</head> 7<body> 8 9 <script> 10 11 let object1 = {name:"太郎",age:"14",address:"東京"}; 12 let object2 = {name:"次郎"}; 13 14 let object2property = Object.keys(object2)[0]; 15 16 console.log("object2property",object2property); 17 18 //object1内にobject2propertyで取得したプロパティ名が存在しているかチェック 19 const check = object2property in object1; 20 if (check) { 21 console.log('true:プロパティnameは存在します'); 22 } else { 23 console.log('false:プロパティnameは存在しません'); 24 } 25 26 console.log("object1.object2property",object1.object2property); 27 //→undefiendが返されます。 28 29 30 </script> 31</body> 32</html>
試したこと
const check = object2property in object1 にてobject1内にobject2property にて取得したプロパティ名が存在しているかチェックしたところtrueが返されましたので同左プロパティ名は存在している様です
補足情報(FW/ツールのバージョンなど)
chrome バージョン: 87.0.4280.141
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。