То, как у вас это выше, вам нужно:
if('Either' !== typed_edge && 'Walkable' !== typed_edge) {
// this means - it is NOT both of them
}
То, как вы это делаете прямо сейчас, говорит:
ЕСЛИ это не так
или
Если это не проходимое
Что означает, что это «проходимое», то первое условие оценивается как «истинное»
Это означает, что предупреждение сработает.
И наоборот, если это «либо», то второе условие будет «истинным», и оно сработает.