티스토리 뷰
728x90
반응형
예전에 아는 윤모 부장님이 신입사원에게 보내셨던 이메일 내용이 유익해서 올려 봅니다.~~
지난주에 몇개 명령어를 함수 파래매터로 주고 받을때 문자열을 아래처럼 주고 받고 그것을 비교해서 제가 좀 놀랐었는데... if( direction == "backward" ){ : : } else if ( direction == "forward" ){ : : 왜냐면 Java 프로그래밍 할때 일반적으로 이런경우는 숫자(상수)로 만들어서 넘기고 비교하거든요. 그것도 그럴것이 문자열의 비교가 상수의 비교보다 수십배 비싸기 때문에. (물론 String.equals를 사용한 경우) 그래서 JavaScript에서는 어떤지 간단히 테스트 해봤는데, 앞선 메일에서 간략하게 말씀드렸지만, " " 기호로 만든 진짜 문자열 (문자열 Object이 아닌)인경우, 같은 내용이면 실제 1개만 존재하기때문에 비교할때 문자열끼리의 비교는 내용을 일일이 다 비교할 필요 없어, 그냥 내부적인 주소값만 비교하는 것으로 보이고, 그렇다면 상수의 비교나 문자열의 비교나 뭐 속도는 비슷할 것으로 얼핏 예상되어 아래와 같은 테스트를 하였습니다. 문자열 100만번 비교 : 40ms 숫자 100만번 비교 : 37ms 결론적으로 100만번이나 비교해도 거의 차이가 없었으므로, 위와 같은 명령어 전달 및 비교시 굳이 숫자화 하지 않고 문자열을 그대로 쓰는것도 |
자바스크립트에서는 문자열 비교가 크게 무리가 없다는 내용이네요. 참고드하세요~~
반응형
'IT > JavaScript' 카테고리의 다른 글
LET/CONST는 호이스팅이 안된다? (0) | 2022.05.04 |
---|---|
구조 분할 할당 (Destructuring assignment) (0) | 2022.03.23 |
new 메소드( Function을 new하게 되면 안에서 행해지는 모습들) (0) | 2012.08.10 |
function(){} ();에서 ();의 의미 (0) | 2012.08.10 |
[Javascript] This 의 영역 정의 (1) | 2012.08.10 |
댓글
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- RHEL
- 토론토정착서비스
- 정착서비스
- cert
- ansible
- 토론토
- Canada
- 캐나다부동산
- 부동산분석
- 캐나다
- 벌링턴
- docker
- certification
- TORONTO
- 온타리오
- Red Hat
- RHCE
- basement
- 밀튼
- 부모님초청이민
- Jay
- 인터넷
- Certificate
- BTBS
- redhat
- 우드워킹
- BC주
- 미시사가
- git proGit
- 옥빌
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함