Weakly typed languages assign types (like 'number') to variables (data containers) at runtime - i.e. you (the developer) can't set the types you want to use in certain places in advance. Only indirectly by making sure you're always working with the correct values.