Słabe odniesienie to takie, które nie rości sobie prawa własności. Słabe odwołanie zachowuje odniesienie do danego obiektu, gdy znajduje się on w pamięci, ale nie uniemożliwia systemowi zarządzania pamięcią odzyskania skojarzonej pamięci, gdy obiekt, do którego się odwołuje, nie jest już potrzebny. Wiele języków obsługuje lub obsługuje różne poziomy słabych odwołań, takie jak Swift, Objective-C, Java, C #, Python, Perl i Lisp.