Dla wszystkich różnych koncepcji, które obsługują modyfikatory dostępu, takie jak pola, właściwości, metody i klasy, które modyfikatory dostępu są implikowane, jeśli nie zostały określone?
138
Dla wszystkich różnych koncepcji, które obsługują modyfikatory dostępu, takie jak pola, właściwości, metody i klasy, które modyfikatory dostępu są implikowane, jeśli nie zostały określone?
Odpowiedzi:
Wszystko w a
class
jest,public
jeśli nie zostało określone. Wszystko w amodule
jest prywatne, chyba żeexport
użyte jest słowo kluczowe.źródło
default access modifier on member/method not allowed
zaznacz,tslint.json
aby zezwolić na domyślny lub niejawny modyfikator dostępu.private
?Nie zgadzam się z tym
Wszystko jest publiczne, nawet jeśli używane jest prywatne. Wystarczy spojrzeć na przetransponowany kod. Prywatne metody z adnotacjami będą dostępne publicznie. Tylko transpiling będzie powodować błędy. Zarówno publiczne, jak i prywatne zostaną przekonwertowane na
<Object>.prototype.funcName
źródło
which access modifiers are implied when not specified
raczej niżcan my code be accessed when an access modifier is not specified
. Modyfikatory dostępu są raczej koncepcją TypeScript niż JavaScript. Myślę więc, że odpowiedź @ basarat dotyczyła tego, co miałem na myśli w pytaniu i wydaje się być poprawna w kontekście pytania. Być może jest miejsce na ujednoznacznienie sformułowania pytania i odpowiedzi.