CoffeeScript
1class Sample 2 constructor: (name) -> 3 @name = name 4 @methodA() 5 6 methodA: -> 7 console.log @name
のようにすると TypeError: undefined is not a function エラーになってしまいます。
このようなことはできないのでしょうか?
また、
CoffeeScript
1class Sample 2 constructor: (arr) -> 3 @arr1 = arr 4 @arr2 = @arr1.concat() 5 6 methodA: -> 7 @arr2 = @arr1.concat()
このようにコンストラクタに配列を渡し、コンストラクタ内でconcat()メソッドを呼び出すと TypeError: undefined is not a function となってしまいます。
ただし、コンストラクタ内の@arr2 = @arr1.concat()をコメントアウトし、
CoffeeScript
1class Sample 2 constructor: (arr) -> 3 @arr1 = arr 4 # @arr2 = @arr1.concat() 5 6 methodA: -> 7 @arr2 = @arr1.concat() 8 9obj = new Sample [1, 2, 3] 10obj.methodA()
のようにするとエラーは発生せずconcat()も正常に行えます。
コンストラクタ内で使えないのはなぜでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。