Я считаю, что у Python есть специальная обработка сообщений для последовательностей реляционных операторов, чтобы упростить их сравнение. Гораздо приятнее сказать 0 < x <= 5
, чем сказать (0 < x) and (x <= 5)
.
Они называются закодированными сравнениями . И это ссылка на документацию для них.
В других случаях, о которых вы говорите, скобка заставляет использовать один реляционный оператор перед другим, и поэтому они больше не являются скопированными сравнениями. А поскольку True
и False
имеют значения как целые числа, вы получаете ответы, которые вы делаете из версий в скобках.
Попробуйте это,
// Define Schemas
var schema = buildSchema(`
type Query {
getUser: User
getSocialMedia: SOCIALMEDIA
}
type User {
firstName: String
lastName: String
email: String
socialMedia: SOCIALMEDIA
}
type SOCIALMEDIA {
facebook: String
instagram: String
twitter: String
}
`);
// Define resolver functions
var root = {
getUser: {
firstName: () => 'John',
lastName: () => 'Doe',
email: () => 'John.Doe@gmail.com',
socialMedia: {
facebook: () => 'John Doe Facebook',
instagram: () => 'John Doe Instagram',
twitter: () => 'John Doe Twitter'
}
},
getSocialMedia: {
facebook: () => 'John Doe Facebook',
instagram: () => 'John Doe Instagram',
twitter: () => 'John Doe Twitter'
}
};