Member 14283622 Ответов: 1

Получение типа символа из объекта


Нужно вам близко?

console.log(object);
object {
  [Symbol(connect-options)]: {
    rejectUnauthorized: true,
    ciphers: 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA',
    checkServerIdentity: [Function: checkServerIdentity],
    minDHSize: 1024,
    protocol: 'https:',
    hostname: 'login.xecurify.com',
    hash: '',
    search: '?response_type=code&client_id=AGQjepKEWMeSPwM&redirect_uri=https://bing.com&scope=openid&state=aSdfgHjk',
    pathname: '/moas/broker/login/oauth/219048',
    path: null,
    href: 'https://login.xecurify.com/moas/broker/login/oauth/219048?response_type=code&client_id=AGQjepKEWMeSPwM&redirect_uri=https://bing.com&scope=openid&state=aSdfgHjk',
    method: 'GET',
    _defaultAgent: Agent {
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      defaultPort: 443,
      protocol: 'https:',
      options: [Object],
      requests: {},
      sockets: [Object],
      freeSockets: {},
      keepAliveMsecs: 1000,
      keepAlive: false,
      maxSockets: Infinity,
      maxFreeSockets: 256,
      maxCachedSessions: 100,
      _sessionCache: [Object],
      [Symbol(kCapture)]: false
    },
    port: 443,
    host: 'login.xecurify.com',
    servername: 'login.xecurify.com',
    _agentKey: 'login.xecurify.com:443::::::::::::::::::',
    encoding: null,
    singleUse: true
  }
}


Что я уже пробовал:

console.log(object['connect-options'])
console.log(object.Symbol('connect-options'))
console.log(object.connect-options)
console.log(object[Symbol('connect-options')])
console.log(object[Symbol(connect-options)])

Ни один не сработал.

Richard MacCutchan

- Ничего не сработало."
Мы не можем догадаться, что это должно означать. Пожалуйста, используйте Улучшить вопрос ссылка выше и добавьте правильное объяснение вашей проблемы.

1 Ответов

Рейтинг:
2

Jin Vincent Necesario

Привет,

Вы можете проверить мою написанную статью о Основы символов JavaScript[^]

Я думаю, что вам нужно иметь ссылку на символ, чтобы получить значение.

Вот эти шаги:
1. Вам ссылку. Примечание: просто убедитесь в индексе.
напр.

let symbol = Object.getOwnPropertySymbols(object)[0]; //let's assume this is Symbol(connect-options) 

2. Как только у вас есть ссылка, вы можете использовать эту ссылку в качестве свойства токена.
напр.
object[symbol]; // you'll get the entire value of the symbol
console.log(object[symbol]);

Если вы все еще в замешательстве, вы можете сослаться на приведенный ниже пример.
const fruits = { [Symbol("myFruits")] : { favorite: true, color: "yellow", name: "mango"}  };

let symbolReference = Object.getOwnPropertySymbols(fruits)[0]; //zero because we only have one Symbol within the array.

console.log(fruits[symbolReference]);


Надеюсь, это вам поможет.

Овации,
Джин