프로토콜은 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계입니다. 기기 간 통신은 교환되는 데이터의 형식에 대해 상호 합의를 요구합니다. 이런 형식을 정의하는 규칙의 집합을 프로토콜이라고 합니다.
not 연산자는 주로 프로그래밍 언어에서 논리 연산을 수행할 때 사용되며, 특정 조건의 반대(boolean 반대)를 나타내는 데 사용됩니다. JavaScript에서는 ! 기호를 사용하여 not 연산자를 표현합니다.

브라우저는 어떻게 동작할까?
객체 구조분해(Object Destructuring)는 JavaScript에서 객체의 속성을 보다 쉽게 추출하여 변수에 할당할 수 있게 하는 문법입니다.
-min-width: 화면이 이 너비 이상일 때 적용되는 스타일. 화면이 커질 때 사용. -max-width: 화면이 이 너비 이하일 때 적용되는 스타일. 화면이 작아질 때 사용.
==는 "동등 연산자"라고 하며, ===는 "일치 연산자"라고 합니다.
자바스크립트에서 프로토타입은 객체가 다른 객체의 속성과 메서드를 상속받을 수 있게 해주는 메커니즘입니다.
alert()함수 괄호 안에 메시지만 바꿔서 함수를 실행하면 다른 메시지를 알림 창에 띄울 수 있습니다. 이렇게 입력을 바꿔 여러 번 사용할 수 있는 성질을 함수의 '재사용성'이라고 합니다. '재사용성'은 함수의 가장 큰 장점이라 할 수 있습니다.\-매개변수는 함수나
옵셔널 체이닝 연산자 '?'는 객체의 속성에 접근할 때 해당 속성이 존재하지 않아도 에러를 발생시키지 않고 undefined를 반환합니다. 이는 객체의 중첩된 속성에 접근할 때 매우 유용합니다
&& 연산자는 논리적 AND 연산자로, JavaScript에서 두 개의 피연산자를 비교할 때 사용됩니다.

기본적으로 자바스크립트 프로그램은 소스가 작성된 순서대로 소스를 처리하는데, 이것을 '동기 처리 방식'이라고 합니다.커피숍을 예를 들겠습니다. 동기 처리 방식은 A라는 사람이 커피를 주문하면 그 주문을 받아서 커피를 만들고 A에게 넘겨주어야 하나의 동작이 끝납니다. 반