언젠가부터 '나'라는 사람에게서 여유라는걸 찾기가 힘들어졌다.
언제부터일려나.
언제까지일려나.
Tag 여유
ajaxian.com - WTFJS, firejune.com - WTFJS(젠장할 자바스크립트), ajaxian.kr - WTFJS: “string” instanceof String 에 언급된
WTFJS(왓 더 삐-_- JS)의 아래 예문을 보고 이것저것 테스트를 해보니 또 재미있는게 있어서 대충 정리를 해봤습니다.
"string" instanceof String; // false.
String('string') instanceof String // false
typeof String('string') // string
-> new를 안붙였기 때문에 역시나 false가 나옴. 일반적인 함수 실행하고 string을 리턴받는 형식으로 보임.
Object('string') instanceof String // true
이렇게 new를 안붙이고 Object()를 쓸때는 또 true 가 나옵니다-_- new를 붙여도 마찬가지로 true.
new String('string') instanceof String // true
typeof new String('string') // object
-> 요게 당연히? 맞는 케이스이고, String은 Object에서 파생된 클래스라서 typeof에 object가 나오는 것까지는 좋은데,
var a = new Object('blah')
a instanceof String // true
-> 이렇게 거꾸로 됐음에도 true가 나옵니다. 클래스 상속 개념과는 전혀 안맞음-_-
$arr = array('a' => 1, 'b' => 2);
$arrObj = new ArrayObject($arr);
$arrObj->setFlags(ArrayObject::ARRAY_AS_PROPS);
echo $arrObj->a; // 1
위에서 세번째줄이 배열의 key를 객체의 property로 사용가능하게 해주는 역할을 한다.
파이어준 2010/02/12 17:04 # M/D Reply
호호~ 요런게 있군요.
$arr = array('a' => 1, 'b' => 2);
$arr = json_decode(json_encode($arr));
$arr->a ;// 1
저는 요따위로 작성해서 썼더라능(;)
AprilBriz 2010/02/14 00:43 # M/D
오호 그 방법도 좋은데요~ 트릭스럽 ㅋ