본문 바로가기

Language/Javascript12

JS '.?' 연산자란? Optional chaining연산자 .?는 .(체이닝 연산자)와 유사하게 작동하지만, 참조가 nullish일 때 에러를 발생시키는 대신 undefined를 리턴한다는 차이점이 있다. 함수 호출 시 .?연산자를 사용하면 주어진 함수가 존재하지 않을 때 undefined를 리턴한다. 예시: const adventurer = { name: 'Alice', cat: { name: 'Dinah' } }; const dogName = adventurer.dog?.name; console.log(dogName); // expected output: undefined console.log(adventurer.someNonExistentMethod?.()); // expected output: undefined 참조가.. 2021. 9. 11.
화살표 함수(arrow function)사용 시 주의사항 구문 (param1, param2, …, paramN) => { statements } (param1, param2, …, paramN) => expression // 다음과 동일함: => { return expression; } // 매개변수가 하나뿐인 경우 괄호는 선택사항: (singleParam) => { statements } singleParam => { statements } // 매개변수가 없는 함수는 괄호가 필요: () => { statements } 이 때 함수 body에 중괄호 유무에 따른 차이점은 1. { }를 사용할 때 (param1, param2, …, paramN) => { statements } 이 함수를 특정 값으로 return하고자 한다면 반드시 return키워드를 써줘야 .. 2021. 9. 11.
메서드 체인 메서드가 객체를 반환하게 되면 메서드의 반환 값인 객체를 통해 또 다른 함수를 호출할 수 있습니다. 이러한 프로그래밍 패턴을 메서드 체이닝(Method Chaining) 이라 부른다. 블로그 참고:https://recoveryman.tistory.com/368 2020. 7. 26.
callback함수의 정의 1. 함수의 인자로 사용되는 함수 2. 다른 함수 내에서 호출하는 함수 참고 https://webcoding.tistory.com/entry/JavaScript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%BD%9C%EB%B0%B1%ED%95%A8%EC%88%98%EB%9E%80 2020. 7. 22.
Element 객체 Element 객체는 엘리먼트를 추상화한 객체로써 사실상 element 객체 = element 노드라고 보면 되겠다. 참고 https://opentutorials.org/course/1375/6681 Element 객체 - 생활코딩 소개 Element 객체는 엘리먼트를 추상화한 객체다. HTMLElement 객체와의 관계를 이해하기 위해서는 DOM의 취지에 대한 이해가 선행되야 한다. DOM은 HTML만을 제어하기 위한 모델이 아니다. HTML이나 XML, opentutorials.org https://devbox.tistory.com/entry/JavaScrip-Element-%EA%B0%9D%EC%B2%B4 2020. 7. 7.
Javascript의 전역 객체 Javascript모든 객체는 전역객체의 프로퍼티이며 호스트환경에 따라 전역객체의 이름이 다르다. 웹브라우저의 전역 객체는 window, node.js에서의 전역 객체는 global이다. 2020. 7. 3.
Javascript의 전역 객체 Javascript모든 객체는 전역객체의 프로퍼티이며 호스트환경에 따라 전역객체의 이름이 다르다. 웹브라우저의 전역 객체는 window, node.js에서의 전역 객체는 global이다. 2020. 7. 3.
변수안에 함수 정의, 대입, 호출 차이 변수안에 함수를 정의한 예시 var pow = function(exponent){ return function(base){ return Math.pow(base, exponent); } } 변수에 함수를 대입한 예시 function pow(exponent){ return function(base){ return Math.pow(base, exponent); } } var calc = pow; //calc는 함수pow와 동일한 기능을 하는 함수가 된다. calc(2)(3) = pow(2)(3) 변수안에 함수를 호출한 예시(그 함수의 return값이 들어간다.) function pow(exponent){ return function(base){ return Math.pow(base, exponent); } .. 2020. 5. 13.
프로그램의 평가와 실행 과정 자바스크립트(이하 JS) 엔진은 실행 가능한 코드(Executable Code)를 만나면 그 코드를 평가(Evaluation)해서 실행 문맥(Executable Context)으로 만든다. 실행 문맥: 실행 가능한 코드가 실제로 관리되는 영역, 실행에 필요한 모든 정보를 컴포넌트 여러 개가 나누어 관리하도록 만들어져 있다. 컴포넌트는 렉시컬 환경(LexicalEnvironment) 컴포넌트, 변수 환경(VariableEnvironment) 컴포넌트, 디스 바인딩(ThisBinding) 컴포넌트이며, 렉시컬 환경 컴포넌트가 가장 중요하다. (렉시컬 환경 컴포넌트와 변수 환경 컴포넌트는 타입이 같고 with문을 사용할 때를 제외하면 내부 값이 같으므로 통일해서 설명한다.) 실행 문맥의 의사 코드 Execut.. 2020. 5. 10.