2014-07-09 2 views
0

var str1 = "a string"을 수행하면 디버거에서 문자열을 볼 때 문자열 리터럴 (더 나은 용어를 원함)이 표시됩니다. 즉, 그것은 단지 내가 var str2 = new Ember.String("another string")을 할 경우 "문자열"그러나Emberjs 문자열이 자바 스크립트 문자열과 작동하지 않습니다.

다음이 배열 항목 오히려

이것은 단지 "다른 문자열"로 이상의 경우 때문에 문제로 나열된 문자와 String 객체로 나타납니다 표시 전 var myarray = ["str1", "str2","str3"]과 같은 배열을 가지고 myarray.contains(myvar)을 수행하면 myvar가 String 유형 인 경우 작동하지 않습니다.

이제 "this"를 전달한 액션 핸들러로 인해이 문제가 발생하여 유형이 String이되었습니다. 지구상에서 무슨 일이 벌어지고 있는지! 내 문자열을 원시 js 문자열로 다시 바꿔서 상수 배열에서 조회에 사용할 수 있습니까?

+0

결함이있는 용지함을 만들 수 있습니까? – blessenm

답변

0

받고있는 객체는 'Ember 문자열'이 아니며 new String('')을 통해 만든 자바 스크립트 문자열 객체입니다. 나는 왜 당신이 하나를 가로 질러 오는지 알지 못한다. 그렇다면 그것을 문자열 프리미티브로 변환하라. toString() 메서드를 사용하거나 빈 문자열 (예 : str2 + '')을 연결하여 (더 안전한 방법으로)이 작업을 수행 할 수 있습니다.

+0

아, 고마워, 먼저 자바 스크립트를 체크 했어야합니다. 필자는 Java와 같은 고유 한 문자열 프리미티브 및 객체를 인식하지 못했습니다. – user2022581

관련 문제