为什么javascript有null和undefined?它们似乎都意味着相同的事情,there's nothing here而且它们都应该是错误的。但这也意味着,例如,如果我要检查,如果事情存在,但它可能是{},[],0或其他一些falsey件事我必须检查
if(thing !== undefined && thing !== null)
Run Code Online (Sandbox Code Playgroud)
另外,我知道那typeof null是Object但是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?
我正在使用 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