나는 그렇게처럼 내 자바 스크립트 프로토 타입에 this
를 사용하려고하면 :Javascript에서이 키워드를 프로토 타입과 함께 사용하고 있습니까?
Array.prototype.sample = function() {
return this[Math.floor (Math.random() * this.length)];
}
뿐만 아니라 구현 내 시험 (Jasmine) :
이describe('sample()', function() {
it('returns a random item of an array', function() {
orig_array = ['foo', 'bar', 'baz', 'qux'];
sampled_word = orig_array.sample();
expect(orig_array).toContain(sampled_word);
});
});
내 테스트가 실패합니다. 이 메소드는 원래 프로토 타입 내부에 this
키워드를 처리하기 위해 인수를 사용하는 함수 였지만, 작은 자바 스크립트 라이브러리에 있기 때문에 프로토 타입으로 구현하고 싶습니다. 이 문맥에서 this
키워드가 맞습니까? 그렇지 않습니다. 프로토 타입에 오류가 있습니까? 감사.
* ReferenceError가 : 배열 –
@CrescentFresh 고정 * 정의되지 않은,하지만 테스트가 계속 실패합니다. 그것은 말합니다 :'TypeError : Object foo, bar, baz, qux 메서드가 없습니다 'sample''. – beakr
질문을 수정하여 업데이트 된 코드를 표시하십시오. – kojiro