почему при вызове свойства length используется синтаксис как при обращении к свойству объекта
str = "привет"
alert(str.length)
obj = {"length": "пока"}
alert(obj.length)
// при этом не возможно изменить это свойство: str.length = 1
//но возможно:
obj.length = 1
не правильно ли называть это не свойством строки а ее методом
то есть str.length это вызов метода, возвращающего длину, но не способного принять значение извне