본문 바로가기
728x90

JAVA Script4

함수와 클로저 함수를 절차를 정리할 목적으로 사용하지만 단순히 그 뿐만 아니라 함수 자체를 연산의 대상으로 삼는 것과 클로저를 이해해야 함수형 프로그래밍을 이해할 수 있다. 함수 선언문과 함수 리터럴 식 함수 선언문과 함수 리터럴 식에서 함수를 선언할 수 있다. 함수 선언문에서 선언한 함수는 함수 언선부가 나오기 전에 호출할 수도 있다(함수 선언문의 역행). 함수 호출 정리 함수 호출의 차이를 토대로 함수의 분류를 다음과 같이 나눌 수 있다. 이는 함수 자체로 분류를 한것이 아니다. 따라서 특정 함수를 메서드 또는 생성자라 부르는 것은 엄밀히 말하면 잘못된 표현이다. 정확히 말하자면 그 함수를 메서드 또는 생성자로서 호출했는지 여부이기 때문이다. 즉, 함수, 메서드, 생성자는 호출 방법의 차이에 불과하다. 명칭 설명 .. 2021. 10. 1.
1.1 The Document Object Model Is a Hierarchy/Three of JavaScript Node Objects HTML 문서를 작성하게 되면 HTML 컨텐트가 다른 HTML 컨텐트를 감싸는 계층적인 구조가 되고 이는 트리로 표현된다. 이러한 계층적 구조는 HTML 문서에서 마크업을 들여쓰기 함으로써 시각적으로 확인이 가능하다. 브라우저는 HTML 문서를 로딩할때 이런 계층적 구조를 파싱해서 object node들로 이루어진 하나의 트리를 만들며 이 트리의 구조는 마크업이 가진 계층적 구조와 유사하다. 따라서 HTML문서는 브라우저에 의해 하나의 live document를 나타내는 object node로 구성된 트리구조로 변환 된다. DOM의 목적은 이렇게 변환된 live document를 JavaScript가 조작할 수 있도록 인터페이스를 제공하는 것이다. DOM의 시초는 XML 문서를 위한 API였고 현재는 H.. 2021. 8. 17.
JS에서 객체를 비교하는 방법 JS에서 primitive값에 대한 비교는 단순히 '==' 또는 '==='를 사용하면 된다. 하지만 객체의 경우, 객체는 여러 데이터로 구조화된 형태 이기 떄문에 객체의 비교는 방법이 다양하고 해당 방법들은 각기 다른 결과를 출력한다. Referential equality JS는 다음과 같은 3가지 방식으로 값을 비교할 수 있다. 1. === 2. == 3. Object.is() 위 3개의 연산자는 모두 비교의 대상이 되는 값이 같은 인스턴스를 참조할때 참을 반환한다. 그때문에 Referential equality는 객체 레퍼런스를 비교할때 유용하다. 하지만 통상적인 상황에서는 레퍼런스가 아닌 실제 값을 비교해야 하는 상황이 더 많다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 co.. 2021. 7. 24.
어떤 자바스크립트를 사용하고 있는지 알아야한다. js에는 여러 표준 에디션과 일부에서는 지원하지만 일부에서는 지원하지 않는 기능들도 많이 존재한다. 예를 들어 const의 경울 여러 js엔진들이 이를 지원하지만 ECMAScript에서는 const에 대한 어떤 문법이나 동작에 대해서 정의하고 있지 않다. 이때문에 어떤 경우에는 다음과같이 동작하고 const a = 3; a = 'b'; a;//3 어떤 경우에는 var와 같이 동작한다. const a = 3; a = 'b'; a;//'b' 웹 브라우저는 개발자가 작성한 코드를 실행하기 위해 어떤 버전의 js를 사용해야 하는지 제어할 방법을 제공하지 않고 사용자의 브라우저 버전 또한 다를 수 있어 웹 프로그램은 모든 브라우저에서 지속적으로 동작 할 수 있도록 작성되어야 한다. 만약 js를 서버측 프로그램, .. 2021. 2. 5.
728x90