JavaScriptで変数を初期化するとき「TypeError: Cannot set property resCmd of # which has only a getter」と出る

前提

javaScriptでエラー時にグローバル変数「resCmd」を初期化するためにundefinedを代入すると「TypeError: Cannot set property resCmd of #<Object> which has only a getter」このようなエラーが出るので解決したい。

これが何のエラーなのか調べてもよく理解ができないため、出来ればどのようなエラーなのか解説もしてもらえると助かります。

発生している問題・エラーメッセージ

TypeError: Cannot set property resCmd of #<Object> which has only a getter

該当のソースコード

main.js

1// グローバル変数定義 2export var resCmd;

処理途中でエラーが出るとinitializeメソッドが呼ばれて初期化処理が始まる。
実際に格納されるデータはbluetoothデバイスからの16進のArrayBufferデータをbyte配列に直し、subStringで切り取ったものが入っています。

ble.js

1import { resCmd } from ./main.js 2 3// 以下bluetoothデバイスからEvent通知を受け取った際の処理 4function onTxCharacteristicValueChanged(event) { 5 6let receivedData = event.target.value; 7 console.log("addressresData",receivedData); 8 9 for(let i = 0; i < receivedData.byteLength; i++){ 10 addressResData += ('00' + receivedData.getUint8(i).toString(16)).slice(-2); 11 } 12 13 let addressNotifiyData = addressResData.toUpperCase(); 14 console.log('addressNotifiyData',addressNotifiyData); 15 16 if(notifiyFlug == 1){ 17 keyDeviceId = addressNotifiyData.substring(26,38); // 応答PDUからキーアドレス取得 18 console.log('keyDeviceId',keyDeviceId); 19 resCmd = addressNotifiyData.substring(22,26); // 応答PDUから応答確認取得 20 console.log('resCmd',resCmd); 21 validation(resCmd); 22 } 23 notifiyFlug += 1; 24}

ble.js

1// エラー処理でグローバル変数を初期化 2function initialize(){ 3 resCmd = undefined; 4567}

すみませんがお力をお貸しください。
よろしくお願い致します。

コメントを投稿

0 コメント