javascript -/x|y|z/的含义

标签 javascript

在经历this时,我遇到了以下代码:

// src/routes.js

import React from 'react';
import { Route, Router } from 'react-router-dom';
import App from './App';
import Home from './Home/Home';
import Callback from './Callback/Callback';
import Auth from './Auth/Auth';
import history from './history';

const auth = new Auth();

const handleAuthentication = (nextState, replace) => {
  if (/access_token|id_token|error/.test(nextState.location.hash)) {
    auth.handleAuthentication();
  }
}

export const makeMainRoutes = () => {
  return (
    <Router history={history} component={App}>
      <div>
        <Route path="/" render={(props) => <App auth={auth} {...props} />} />
        <Route path="/home" render={(props) => <Home auth={auth} {...props} />} />
        <Route path="/callback" render={(props) => {
          handleAuthentication(props);
          return <Callback {...props} /> 
        }}/>
      </div>
    </Router>
  );
}

在handleAuthentication中,我不明白/access_token|id_token|error/这个符号是什么。请解释。代码的 GitHub 链接是 this

最佳答案

这是一个Regular Expression .

|(或)表示它与 access_tokenid_tokenerror 匹配:

let re = /access_token|id_token|error/;

console.log(re.test("access_token")) // true
console.log(re.test("something")) // false
console.log(re.test("id_token")) // true

使用 .test 来测试传递给它的字符串并评估它是否适合表达式。

关于javascript -/x|y|z/的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52296789/

相关文章:

javascript - 我如何破坏自动图像蒙太奇 jQuery 插件的自动调整大小功能?

javascript - 将 JSDOM 解析的 XML 保存为文件

javascript - 在nodejs中以组形式检索数据

javascript - 在保存到 CKEditor 插件之前立即更新编辑器内容

javascript - Vue.js : Cannot bind md-autocomplete model to array of objects

javascript - Promise 的奇怪无限递归行为

javascript - PHP 页面在部署到 Web 服务时不显示样式表或 Javascript

JavaScript 函数级作用域

javascript - 我可以将 javascript 与 bottle(框架)一起使用吗?

javascript - jQuery console.log() 在 Firefox 中不起作用