Czy każdy obiekt w JS ma metodę toString()?
Jeśli to prawda, to dlaczego dzieje się ten błąd? Obiekt req.body
nie jest null
lub undefined
, jak pokazuje zdjęcie.
Używam node-inspector
do debugowania aplikacji express.js
, to zdjęcie zostało zrobione w Chrome Developer Tools
.
konfiguracja ekspresowe:
app.use(express.bodyParser())
Dzięki komentarze, teraz znalazłem req.body
jest undefined
, ale nowe pytanie, jak ponownie wprowadzić toString
prace? Chcę req.body.toString()
powrócić ciąg jak poniżej:
Jak ponownie podpisać odpowiednią metodę toString
?
Próbowałem delete
niezdefiniowany toString
, nie dobrze. Zobacz:
Metoda mogła zostać usunięta. Sprawdź to: 'var foo = {}; foo.ToString(); bla.toString = undefined; foo.toString(); '. Uruchom to i zobacz, co się stanie. – Renan
Czy możesz rozwinąć właściwość '__proto__' i załadować kolejny zrzut ekranu? – Bergi
Twój addendum z 'delete' jest trochę czerwonym śledziem. W twoim przykładzie 'a' nigdy nie miało własnej metody' toString'; to zawsze było wynikiem jego prototypu. W związku z tym 'delete' nie ma żadnego skutku, ponieważ' a' nie ma metody 'toString' (tzn.' A.hasOwnProperty ("toString") ma wartość false). – apsillers