본문 바로가기

전체 글

(39)
6.7 new Function 문법 📢 함수를 만들 수 있는 방법 중 하나 문법 ◾️ new Function 문법을 사용하면 함수를 만들 수 있다. let func = new Function ([arg1, arg2, ...argN], functionBody); ◾️ 두개의 인수를 가진 함수 let sum = new Function('a', 'b', 'return a + b'); console.log( sum(1, 2) ); // 3 ◾️ 인수가 없고 함수 본문만 있는 함수 let sayHi = new Function('console.log("Hello")'); sayHi(); // Hello ◾️ new Function을 사용해 함수를 만드는 방법의 가장 큰 차이는 런타임에 받은 문자열을 사용해 함수를 만들 수 있다. ◾️ 함수 표현식과 ..
6.6 객체로서의 함수와 기명 함수 표현식 📢 자바스크립트에서 함수는 값으로 취급된다. ◾️ 함수의 자료형은 객체이다. ◾️ 함수는 호출이 가능한(callable) 행동 객체이다. ◾️ 함수를 호출할 수도 있고, 객체처럼 함수에 프로퍼티를 추가, 제거하거나 참조를 통해 전달할 수도 있다. name 프로퍼티 ◾️ name 프로퍼티를 사용하면 함수 이름을 가져올 수 있다. function sayHi() { console.log("Hi"); } console.log(sayHi.name); //sayHi ◾️ 함수 객체에 이름을 할당해주는 로직은 익명 함수라도 자동으로 이름이 할당된다. let sayHi = function () { console.log("Hi"); } console.log(sayHi.name); // sayHi ◾️ 기본값을 사용해 이..
6.5 전역 객체 📢 전역 객체를 사용하면 어디서나 사용 가능한 변수나 함수를 만들 수 있다. ◾️ 전역 객체는 언어 자체나 호스트 환경에 기본 내장되어 있는 경우가 많다. ◾️ 브라우저 환경 → window ◾️ Node.js 환경 → global ◾️ 전역 객체 이름의 표준화 → globalThis ◾️ 전역 객체의 모든 프로퍼티는 직접 접근할 수 있다. console.log('Hello'); // Hello window.console.log('Hello'); // Hello ◾️ 브라우저에서 let이나 const가 아닌 var로 선언한 전역 함수나 전역 변수는 전역 객체의 프로퍼티가 된다. ◾️ 권장하는 방법은 아님 var gVar = 5; console.log(window.gVar); // 5 ◾️ let을 사용하..