zl程序教程

您现在的位置是:首页 >  前端

当前栏目

[Javascript] Object.freeze: using Object.freeze in function params to enforce immutabtility

JavaScript to in object Using Function params
2023-09-14 09:00:45 时间
function lotteryNum() {
  return (Math.round(Math.random() * 100) % 58) + 1;
}

function recordNumber(luckLotteryNumbers: readonly number[], num: number): number[] {
  let numbers: number[] = luckLotteryNumbers.slice();
  if (!luckLotteryNumbers.includes(num)) {
    numbers = [
      ...numbers,
      num
    ].sort((x, y) => x - y)
  }
  return numbers;
}

let luckLotteryNumbers: number[] = [];

while(luckLotteryNumbers.length < 6) {
  luckLotteryNumbers = recordNumber(Object.freeze(luckLotteryNumbers), lotteryNum())
}

console.log(luckLotteryNumbers)

For following code, it enforce the luckLotteryNumbershould not be changed, and telling the co-workers, it is immutable, enforce immtuable code

luckLotteryNumbers = recordNumber(Object.freeze(luckLotteryNumbers), lotteryNum())