JavaScript编写一个函数用于获取第N个素数

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

function getNSu(n){//1,2,3,5,7,9
for(i=0;true;i++){
if(找到第n个素数){
return 第n个素数
}
}

        }
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

1、素数的定义:一个大于1的正整数,如果除了1和它本身以外,不能被其他正整数整除,就叫素数
2、当前数k 除以 2至k-1之间的所有数, 如果存在能被整除,则k非素数,如果不存在,则k为素数,
3、k为素数,我们再判断是否是第n个素数,如果是,终止for循环,返回k, 如果不是第n个素数,继续步骤2-3
代码:

function getNSu(n) {
            let currentPos = 0 // 默认已经获取到第0个素数
            let target = null // 用于储存第n个素数的值
            let initVal = 1 // 默认从1开始找第n个素数

            if (n <= 0) return target

            // 素数的定义: 一个大于1的正整数,如果除了1和它本身以外,不能被其他正整数整除,就叫素数
            for(let k = initVal; true; k++) { // 从初始值initVal开始找素数

                let start = 2
                let end = k - 1

                let flag = true // true:素数 false: 非素数 
                while (start <= end) {
                  // 当前数k 除以 2至k-1之间的所有数, 能被整除,则k非素数
                  if (k % start === 0) {  // 非素数,直接结束
                      flag = false
                      break
                  }
                  start++
                }

                if (flag) {
                    currentPos++ // 获取到的素数个数+1
                    if (currentPos === n) { // 当前素数是第n个素数,终止for循环
                        target = k
                        break
                    }
                    
                }
            }
            return target
        }

        console.log('第4个素数时', getNSu(4))