for instance:
/obj/item/sword::damage
Would tell you what the initial compile-time value for damage for the type /obj/item/sword is.
var/type/t = pick(/obj/item/sword,/obj/item/axe,/obj/item/shield)
var/obj/item/o = new t()
o::damage
Would tell you what the initial compile-time value for damage for the type of the object reference.
If the notation is too confusing (I know it's the namespace path operator in C++), just adding an argument for initial() that would allow you to pass an object or type would be good.