JS(ES6) 讓常數const 宣告和賦予值 拆開的方法(C#_Jint實測)

JS(ES6) 讓常數const 宣告和賦予值 拆開的方法(C#_Jint實測)

JS(ES6) 讓常數const 宣告和賦予值 拆開的方法(C#_Jint實測)

資料來源: copilot+自己修改實測

GITHUB:https://github.com/jash-git/CS_test_jint-project

code

//----
var intadd01=10;
var intadd02=20;
var intresult=0;
//----
const Test = {
    _value: undefined,

    setValue(newValue) {
        if (this._value === undefined) {
            if (newValue === 1) {
                this._value = 100;
            } else if (newValue === 2) {
                this._value = 200;
            } else {
                throw new Error('Invalid value. Only 1 or 2 are allowed.');
            }
        } else {
            throw new Error('Value has already been set and cannot be changed.');
        }
    },

    get value() {
        return this._value;
    },

    toString() {
        return this._value;
    }
};

function createConstManager(valueMap) {
    let _value;

    return {
        setValue(newValue) {
            if (_value === undefined) {
                const index = valueMap.findIndex(entry => entry.newValue === newValue);
                if (index !== -1) {
                    _value = valueMap[index].assignedValue;
                } else {
                    throw new Error('Invalid value. The provided value is not in the value map.');
                }
            } else {
                throw new Error('Value has already been set and cannot be changed.');
            }
        },

        get value() {
            return _value;
        },

        toString() {
            return _value;
        }
    };
}
var valueMap01 = [
    { newValue: 1, assignedValue: '100' },
    { newValue: 2, assignedValue: '200' },
    { newValue: 3, assignedValue: '300' }
];
const firstConst = createConstManager(valueMap01);
const secondConst = createConstManager(valueMap01);

function Main() {
    var Result = {};//最終結果物件
    // 設置值
    Test.setValue(2);
    intresult = intadd01 + Test;

    // 設置常量
    firstConst.setValue(1);
    secondConst.setValue(2);
    intresult = intadd01 + firstConst + secondConst;

    Result.state_code = 0;
    Result.value = intresult;

    return JSON.stringify(Result);
}

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *