Javascript 为什么可以';检查环境变量是否未定义?

Javascript 为什么可以';检查环境变量是否未定义?,javascript,node.js,typescript,Javascript,Node.js,Typescript,这个测试正在打印很好。为什么不打印出未定义 describe('process test', () => { require('dotenv').config() it('will make a call from the athena library to get data', async () => { process.env["FOO"] = undefined const foo: string | undefined =

这个测试正在打印
很好。为什么不打印出
未定义

describe('process test', () => {
    require('dotenv').config()

    it('will make a call from the athena library to get data', async () => {
        process.env["FOO"] = undefined

        const foo: string | undefined = process.env["FOO"]

        if (foo === undefined) {
            console.log('UNDEFINED!!!!')
        } else {
            console.log('fine!!!!')
        }
    })
})
警察说

在process.env上指定属性将隐式地将值转换为字符串

这是意料之中的,因为实际上环境只能存储字符串。 赋值
undefined
不会删除环境变量,文档中再次指出

使用“删除”从process.env中删除属性

警察说

在process.env上指定属性将隐式地将值转换为字符串

这是意料之中的,因为实际上环境只能存储字符串。 赋值
undefined
不会删除环境变量,文档中再次指出

使用“删除”从process.env中删除属性


因为这一行:
process.env[“FOO”]=未定义
因为这一行:
process.env[“FOO”]=未定义
process.env.test = null;
console.log(process.env.test);
// => 'null'
process.env.test = undefined;
console.log(process.env.test);
// => 'undefined'
process.env.TEST = 1;
delete process.env.TEST;
console.log(process.env.TEST);
// => undefined