본문 바로가기

Javascript6

eval 함수 문자열로 된 수식이 주어지고 이걸 계산하는 함수를 구현하려면 어떻게 해야할까? 예를 들어 문자열 "1 + 6"을 계산하려면 공백을 기준으로 분리하거나 구분자를 기준으로 분리하고 숫자는 타입을 변환해야 계산이 가능할 것이다. 그런데 Javascript에서는 eval 이라는 함수를 사용하면 문자열로 된 코드를 바로 인식하여 계산까지 도와준다고 한다. eval eval (Evaluate)은 "평가" 또는 "실행"의 의미를 가지며, 주로 프로그래밍 언어나 스크립트 언어에서 문자열로 표현된 코드나 수식을 실행하는 데 사용된다. eval 함수는 문자열로 주어진 코드를 실행하고 그 결과를 반환하는데 동적으로 코드를 생성하거나 실행해야 할 때 유용하다. 주로 스크립트 언어, 특히 JavaScript, Python, R.. 2023. 10. 17.
[자바스크립트] 함수 함수 - 자주 쓰는 실행코드를 블록단위로 묶어놓은것 - 기능단위로 재사용하기 위해서... - 선언하기는 function키워드 사용하거나 arrow function - 호출 : 정의되어있는 함수는 호출해야 비로소 기능이 실행됨 함수의 종류 1.선언적 함수 : 이름을 붙여서 정의한 함수 - 자바스크립트를 읽을 때 우선적으로 읽어줌 - 호출 위치가 자유롭다 hap(); function hap() { console.log("선언적 함수"); } 2.익명 함수 : 이름없이 정의한 함수 - 콜백함수 - 중요 - Event - 자체로 호출 불가 - 변수에 익명함수를 대입하거나 특정 이벤트 객체에 대입해서 호출 3.대입형 함수 : 변수에 익명함수가 대입된 형태 - *일급함수랑 *고차함수 더보기 일급 함수 함수를 다른 .. 2023. 2. 2.
[자바스크립트] 즉시실행함수 즉시실행함수 즉시실행함수 (IIFE, Immediately Invoked Function Expression)는 정의되자마자 즉시 실행되는 함수를 말한다. 괄호가 2개 들어감 첫번째 - 함수의 선언부 두번째 - 함수 호출하는 괄호 (function () { console.log("IIFE"); })(); // 화살표 함수로도 사용 가능하다 (() => { console.log("IIFE"); })(); 실행시 선언과 동시에 IIFE를 출력한다! 즉시실행함수는 선언과 동시에 호출되어 반환되어 재사용 할 수 없기 때문에 이름을 지어주는 것이 의미가 없다. 즉시실행함수를 왜 사용할까? 1. 필요없는 전역 변수의 생성을 줄일 수 있다. 함수를 생성하면 그 함수는 전역 변수로써 남아있게 되고, 많은 변수의 생성은.. 2023. 2. 1.
[자바스크립트] 호이스팅 호이스팅(Hoisting) : 블록안에서 선언된 지역변수가 코드블록 밖으로 끌어올려지면서 강제로 전역변수화 되는 현상 선언을 나중에 했는데 끌어올려져셔 오류가 나지 않는다 -> 사용하면 안된다! console.log(x); var x = 2; var을 사용시 호이스팅 이슈로 인해 실행시 오류가 나지 않는다. -> undefined 찍힘. console.log(x) let x = 2; //const x = 2; let과 const는 런타임 에러 발생한다. 2023. 2. 1.
[자바스크립트] 프로토타입 JavaScript는 흔히 **프로토타입 기반 언어(prototype-based language)**라 불립니다. 모든 객체들이 메소드와 속성들을 상속 받기 위한 템플릿으로써 **프로토타입 객체(prototype object)**를 가진다는 의미입니다. 프로토타입 객체도 또 다시 상위 프로토타입 객체로부터 메소드와 속성을 상속 받을 수도 있고 그 상위 프로토타입 객체도 마찬가지입니다. 이를 **프로토타입 체인(prototype chain)**이라 부르며 다른 객체에 정의된 메소드와 속성을 한 객체에서 사용할 수 있도록 하는 근간입니다. function Person() { //this.eyes = 0; //this.nose = 0; } Person.prototype.eyes = 2; Person.proto.. 2023. 2. 1.
[자바스크립트] 변수 변수 :특정 데이터값을 임시로 저장하는 공간 ▷사용하는 이유는? :반복 사용(일괄처리), 자주사용 :반복적인 구문에서 여러 코드에 걸쳐서 사용될 때 변수 선언 방식 ES5 - [호이스팅 이슈] - 기술면접 주요질문 let, const(ES6 - ECMAScript2016) let : 변경될 수 있는 값을 저장할 때 const : 변경되지 않는 값을 저장 ▷변수 작성시 주의사항 1. 숫자로 시작 불가 2. 특수문자 삽입 불가(언더스코어,$) 3. 예약어 사용불가 4. 대소문자 구분 변수의 유효범위 1.전역변수 - window 코드 블록 밖에서 선언된 변수 해당 코드 전역에서 접근 가능 여러개의 서로 다른 함수들이 같은 값을 공유해야 될 때 (중요) 전역변수 많아지면 전역변수 오염 발생 2.지역변수 - 코드.. 2023. 2. 1.