小编dav*_*der的帖子

为什么 javascript 有 null 和 undefined?

为什么javascript有nullundefined?它们似乎都意味着相同的事情,there's nothing here而且它们都应该是错误的。但这也意味着,例如,如果我要检查,如果事情存在,但它可能是{}[]0或其他一些falsey件事我必须检查

if(thing !== undefined && thing !== null)
Run Code Online (Sandbox Code Playgroud)

另外,我知道那typeof nullObject但是typeof {}也是Object同时typeof undefined也是"undefined"但是

const nullVariable = null;
console.log(nullVariable.x) // => error
const emptyVariable = {};
console.log(emptyVariable.x) // => undefined
const undefinedVariable;
console.log(undefinedVariable.x) // => error
Run Code Online (Sandbox Code Playgroud)

此外,undefined应该意味着尚未声明该变量,但您可以声明一个变量,如

const undefinedVariable = undefined;
Run Code Online (Sandbox Code Playgroud)

所以它已被定义但尚未被定义?

所以我要说的是虽然它们有不同的语义含义,一个表示一个尚未声明的变量,一个表示一个没有值的变量,它们似乎具有功能,但它们都是假的,试图获得一个属性形式他们会返回一个错误。

基本上我要问的是为什么我们需要两者,为什么不只使用像 pythonNone这样的语言或像 java 和 c++ 这样的低级语言Null

javascript

7
推荐指数
1
解决办法
327
查看次数

环境变量在React Firebase配置文件中不起作用

我正在使用 firebase 制作一个 React 应用程序,我想使用 firebase 配置的环境变量。这是我的 React apps src 文件夹中的 firebase 配置

import firebase from "firebase"
import "firebase/auth"

console.log(process.env)

const config = {
    //private stuff
};
// Initialize Firebase
firebase.initializeApp(config);
firebase.analytics();

export default firebase
Run Code Online (Sandbox Code Playgroud)

问题出在控制台日志上,我正在使用它进行调试,它正在记录

NODE_ENV: "production"
PUBLIC_URL: ""
WDS_SOCKET_HOST: undefined
WDS_SOCKET_PATH: undefined
WDS_SOCKET_PORT: undefined
Run Code Online (Sandbox Code Playgroud)

何时应该记录

NODE_ENV: "production"
PUBLIC_URL: ""
WDS_SOCKET_HOST: undefined
WDS_SOCKET_PATH: undefined
WDS_SOCKET_PORT: undefined
GOOGLE_API_KEY: "key"
Run Code Online (Sandbox Code Playgroud)

为什么我的自定义环境变量没有显示?我正在使用 AWS amplify 进行部署,因此这将提供环境变量。

environment-variables amazon-web-services firebase reactjs firebase-realtime-database

0
推荐指数
1
解决办法
7540
查看次数