[부트캠프] JavaScript 3일차

RedPanda·2022년 7월 21일
0

<지난 수업 추가 내용 & 외우면 좋을 것들>

  • 객체를 변경하는 코드(delete 연산자, Object.key = value ...)가 console.log()보다 우선적으로 실행되는 상황 : 객체 로딩 시에 객체의 내용 변경사항이 실시간으로 업데이트 되기 때문!
    -> 객체의 상태를 줄마다 확인하기 위해서는 JSON을 사용하여 parsing하는 방법을 사용해야 한다!! (JSON.stringify(Object); JSON.parse(Object); // JSON을 사용하면 객체를 문자열로 변환한 뒤에 다시 Object로 변환하도록 parsing 해줘야 함.)

  • 인스턴스 : 생성된 객체

  • document.querySelector()의 매개변수 종류 : class일 경우에는 ".class", id일 경우에는 "#id"

  • 바인딩 : 구체적인 값을 할당하는 각각의 과정.

  • 코딩 기본 규칙 : 변수 명명에 있어서 필수적인 규칙이 몇가지 있다. 꼭 지키는 걸로 하자.
    (출처 : 링크텍스트 )

  • html에 event 넣기 : element.addEventListener("event", callBackFunc);

  • toggle 사용법 : element.classList.toggle("className");

필기 내용

<this 키워드>

  • 객체는 자신이 속한 Property를 접근할때 객체 자신을 가리킬 것이 필요함. -> this는 해당 객체를 나타냄.

  • 임의로 생성자 함수를 선언할 때 this를 사용하게 되면 아무것도 가리키지 못하지만 new를 사용하여 생성자 함수를 변수에 넣어 구현할 때 this는 해당 인스턴스를 가리키게 된다.

  • 일반함수에서 호출하는 this : 전역 객체인 Window를 가리키게 된다.

  • Object 내부의 메소드는 functionName(){} 이런 식으로 function을 생략하여 만들 수 있다.

  • Object의 메소드를 또다른 변수에 할당하려 하면 this가 가리킬 Object가 사라지므로 Window를 가리키게 된다.

  • this가 전역 객체를 가리킬때, var로 선언한 값들은 모두 할당이 되어 들어간다. 이때, 미리 할당되어버린 변수가 의도하지 않게 할당될 경우가 있으므로 let을 사용하도록 하자.

<스코프>

  • 식별자 접근 규칙에 따른 유효 범위! -> 전역(gobal), 지역(local) 변수의 차이와 같음.

  • for나 if는 지역 스코프가 생성되지 않음. -> let을 사용해야 중복 선언을 피할 수 있음,

  • 렉시컬(정적) 스코프 : 함수를 어디서 정의했는지에 따라 상위 스코프를 결정 -> 대부분의 언어에서 사용하는 스코프

  • 렉시컬(lexical)이란? : '어휘적'이라는 사전적 의미를 가지고 있으며, 코드의 문맥을 보고 판단한다는 의미를 가지고 있다. (코드가 읽히는 순서를 보고 코드의 문맥을 보고 판단한다는 것 같다.)

여담

오늘은 오후에 일정이 있어 짧게 수업이 끝났다.

스코프라는 단어를 처음 들었을 때 겁먹었는데 알고보니 보통의 코딩 방식을 설명한 것이라 금방 이해가 갔다. 별거 아닌 것 같지만 JS의 특성상 var같은 불완전한 친구들 때문에 따로 정의하고 설명해준 것 같다. 맘에 디게 안드네

profile
끄적끄적 코딩일기

0개의 댓글