TIL_14

-·2021년 3월 23일
0

TIL

목록 보기
15/15

Array.prototype.slice.call

이 코드가 존재하는 함수의 매개변수로 넘어온 값들을 array로 변환하겠다는 것이다.

예시

var args = Array.prototype.slice.call(arguments);
func.apply(this, args);

여러개 이벤트 바인딩 하기

$('AAA').on({  
    click: function () {    
        // 이벤트 내용  
    },  
    mouseenter: function () {    
        // 이벤트 내용  
    },  
    keydown: function () {    
        // 이벤트 내용  
    } 
});

(function($) { ~ })(jQuery);

함수로 $를 매개변수로 해서 넘기는 것. jquery 객체.

저 함수안에서 $의 의미는 jquery 객체로 사용이 되는 것

prototype.js 와 jquery로 프로그래밍을 함께 병행하실 때는..

(function($){
	...
   이 안에서만 jquery를 자유롭게 사용하게 됩니다.
})(jQuery);

출처: https://bit.ly/3151DlY

라인피드(LF), 캐리지리턴(CR)

- 라인 피드 (LF : Line Feed, 0x0a) : 캐럿을 다음 줄(현재 위치에서 바로 아래)로 이동 시킨다.

- 캐리지 리턴 (CR : Carriage Return) : 캐럿을 줄의 맨 앞으로 이동 시킨다.

즉 모두 '줄 바꿈'과 관련이 있는 문자다.

줄 바꿈에 대한 정의는 시스템(OS), 언어 마다 다르다.

- 유닉스/리눅스 : LF만으로 줄 바꿈을 정의 한다.

- 윈도우/DOS : CRLF 조합으로 줄 바꿈을 정의 한다.

윈도우의 파일을 그대로 리눅스로 옮기면 문자열 맨 끝에 '\r\n'이 붙게 되며

이를 리눅스 프로그램에서 그대로 사용시 문제가 발생할 소지가 있다.

출처: https://bit.ly/3tKZOXQ

equals, hashCode

equals

boolean equals(Object obj)로 정의된 equals 메소드는 2개의 객체가 동일한지 검사하기 위해 사용된다. eqauls가 구현된 방법은 2개의 객체가 참조하는 것이 동일한지를 확인하는 것이다.

즉, 2개의 객체가 가리키는 곳이 동일한 메모리 주소일 경우에만 동일한 객체가 된다.

public boolean equals(Object obj) {
    return (this == obj);
}

hashCode

int hashCode()로 정의된 hashCode 메소드는 실행 중에(Runtime) 객체의 유일한 integer값을 반환한다. Object 클래스에서는 heap에 저장된 객체의 메모리 주소를 반환하도록 되어있다. (항상 그런 것은 아니다.)

public native int hashCode();

동일한 객체는 동일한 메모리 주소를 갖는다는 것을 의미하므로, 동일한 객체는 동일한 해시코드를 가져야 한다.

만약 우리가 equals() 메소드를 오버라이드 한다면, hashCode() 메소드도 오버라이드 되어야 한다.

출처: https://bit.ly/3tJhByu

profile
거북이는 오늘도 걷는다

0개의 댓글