JavaScript4 [모던 자바스크립트 Deep Dive][13] 스코프 스코프란?스코프: 식별자가 유효한 범위식별자 결정 : 엔진이 이름이 같은 두 개의 변수 중에서 어떤 변수를 참조할 것인지 결정하는 것var var1 = 1; // 코드의 가장 바깥 영역에서 선언한 변수if (true) { var var2 = 2; // 코드 블록 내에서 선언한 변수 if (true) { var var3 = 3; // 중첩된 코드 블록 내에서 선언한 변수 }}function foo() { var var4 = 4; // 함수 내에서 선언한 변수 function bar() { var var5 = 5; // 중첩된 함수 내에서 선언한 변수 }}console.log(var1); // 1console.log(var2); // 2console.log(var3); // 3conso.. 2024. 8. 6. [모던 자바스크립트 Deep Dive][11] 원시 값과 객체의 비교 원시 값변경 불가능한 값원시 값 : 변경 불가능한 값 (read only)따라서 원시 값을 할당한 변수에 새로운 원시 값을 재할당하면 새로운 메모리 공간을 확보하여 재할당한 원시 값을 저장한 후, 변수는 새롭게 재할당한 원시 값을 가리킨다.변수가 참조하던 메모리 공간의 주소가 바뀐다.이것을 불변성 이라고 한다. 문자열과 불변성 원시 값을 저장하려면 먼저 확보해야 하는 메모리 공간의 크기를 결정해야 한다. 이 때 자바스크립트의 문자열은 다른 원시 값과 비교할 때 독특한 특징이 있다.숫자 값은 1도, 1000000도 동일한 8바이트가 필요하지만문자열(String 객체)의 경우 몇 개의 문자로 이루어졌느냐에 따라 필요한 메모리 공간의 크기가 결정된다.var str = 'string';// 문자열은 유사 배열.. 2024. 5. 21. [모던 자바스크립트 Deep Dive][08] 제어문 제어문은 조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용한다. 블록문블록문은 0개 이상의 문을 중괄호로 묶은 것으로, 코드 블록 또는 블록이라고 부르기도 한다.자바스크립트는 블록문을 하나의 실행 단위로 취급한다.블록문의 끝에는 세미콜론을 붙이지 않는다. 조건문조건문은 주어진 조건식의 평과 결과에 따라 코드 블록의 실행을 결정한다.조건식은 불리언 값으로 평가될 수 있는 표현식이다.if else 문과 switch 문으로 두 가지 조건문을 제공한다. if else 문if else 문은 주어진 조건식의 평가 결과, 즉 논리적 참 또는 거짓에 따라 실행할 코드 블록을 결정한다.조건식의 평가 결과가 true 일 경우 if문의 코드 블록이 실행되고, false일 경우 else 문의 코드 .. 2024. 5. 3. [모던 자바스크립트 Deep Dive][06] 데이터 타입 데이터 타입데이터 타입은 값의 종류를 말한다.ES6에서는 7개의 데이터 타입을 제공한다. 예를들어, 숫자 타입의 1과 문자열 타입의 '1'은 전혀 다른 값이다. 숫자 타입자바스크립트는 하나의 숫자 타입만 존재한다.모든 수를 실수로 처리하며, 정수만 표현하기 위한 데이터 타입이 별도로 존재하지 않는다.// 모두 숫자 타입이다.var integer = 10; // 정수var double = 10.12; // 실수var negative = -20; // 음의 정수 자바스크립트는 2진수, 8진수, 16진수를 표현하기 위한 데이터 타입을 제공하지 않기 때문에 값을 참조하면 모두 10진수로 해석된다.var binary = 0b01000001; // 2진수var octal = 0o101; // .. 2024. 4. 29. 이전 1 다음