質問: 初歩的な質問でスミマセン。 JavaScriptの勉強をし始めたばかりの初心者で、プロパティで躓いてしまったので質問させてください。 ``` console.log( 'hoge'.length ); ``` 上記の結果で4が得られる`.length`の挙動については理解しています。 しかしオブジェクトではない文字列`'hoge'`に定義した覚えのない`.length`プロパティが何故使えるのか疑問です。 回答よろしくお願いします。
回答: リテラルの文字列がStringオブジェクトに型キャストされています。 > > JavaScript では、必要に応じてプリミティブ値の文字列が自動的に String オブジェクトに変換されます。そのため、プリミティブ値の文字列に対してメソッド呼び出しを行うことで、String オブジェクトのメソッドを使用することができます。 > > String - JavaScript | MDN > > > > > このプロパティは、文字列内のコード単位の数を返します。 > > String.length - JavaScript | MDN > > >