리스트(232)
-
모던 자바스크립트 Deep Dive - 8
✅ 아래 내용들에 대해서 알아보자 - let 키워드 - const 키워드 - 객체 생성 - 일급 객체 let 1. 변수 중복 선언 금지 let 키워드는 이름이 같은 변수를 중복 선언하면 문법 에러가 발생하여 변수 중복을 방지해 준다. //1. let은 동일한 이름의 변수를 중복 선언하면 문법 에러를 발생시켜 변수 중복을 방지해준다. let foo=123; let foo=456; //SyntaxError: Identifier 'foo' has already been declared 2. 블록 레벨 스코프 let 키워드로 선언된 변수는 블록 레벨 스코프를 따른다. /** * var 키워드로 선언한 변수는 오로지 함수 코드 블록만 지역 스코프로 인정하였다. * 하지만 let 키워드로 선언한 변수는 모든 코드..
2023.03.31 -
모던 자바스크립트 Deep Dive - 7
✅ 아래 내용들에 대해서 알아보자 - 스코프 - 스코프 종류 - 전역 변수 - 전역 변수의 생명주기와 문제점 스코프 스코프(유효 범위)는 변수, 함수와 깊은 관련이 있으므로 주의 깊게 봐야 할 것 중 하나이다. var 키워드로 선언한 변수와 let/const 키워드로 선언한 변수의 스코프도 다르게 동작한다. 변수는 자신이 선언된 위치에 따라 유효 범위, 즉 다른 코드가 변수 자신을 참조할 수 있는 범위가 결정된다. 변수뿐 아니라 모든 식별자는 자신이 선언된 위치에 의해 자신을 참조할 수 있는 유효 범위가 결정된다. 이를 스코프라 한다. var var1=1; if(true){ var var2=2; //코드 블록 내 선언 변수 if(true){ var var3=3; //중첩된 코드 블록 내에서 선언한 변수 ..
2023.03.30 -
모던 자바스크립트 Deep Dive - 6
✅ 아래 내용들에 대해서 알아보자 - 함수 - 함수의 여러 가지 종류 - 정리 함수 함수는 JS에서 가장 중요한 핵심 개념으로 잘 이해하고 넘어가자. 쉽게 이야기하면 입력 -> 연산 -> 출력하는 일련의 과정을 말한다. 함수 선언문 방식 함수 선언문은 함수 이름 생략 불가 함수 선언문은 표현식이 아닌 문이다. 따라서 크롬 개발자 도구에서 undefined로 출력된다. function add(x,y){ return x + y; } function empty(){ return; //반환문 생략 시 undefined 반환 } console.log(empty()); //undefined JS에서는 생성된 함수를 호출하기 위해 함수 이름과 동일한 식별자를 암묵적으로 생성하고, 거기에 함수 객체를 할당한다. 즉, ..
2023.03.29 -
모던 자바스크립트 Deep Dive - 5
✅ 아래 내용들에 대해서 알아보자 - 객체란? - 프로퍼티 - 원시 값과 객체의 비교 - 변경 가능한 값 - 얕은 복사/깊은 복사 - 값에 의한 전달/참조에 의한 전달 객체 JS는 객체 기반의 프로그래밍 언어이며, 모든 것이 "객체"이다. 원시 값을 제외한 나머지 값은 모두 객체다. 원시 값은 변경 불가능한 값(Immutable)이지만 객체 타입의 값은 변경 가능한 값(Mutable)이다. 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 key/value 구조로 구성된다. JS에서 사용할 수 있는 모든 값은 프로퍼티 값이 될 수 있다. JS 함수는 일급 객체 이므로 값으로 취급할 수 있다.(프로퍼티 값이 함수일 경우 일반 함수와 구분되게 메서드라고 부른다) 프로퍼티 : 객체의 상태를 나타내는 ..
2023.03.28 -
모던 자바스크립트 Deep Dive - 4
✅ 아래 내용들에 대해서 알아보자 - 블록문/조건문 - 반복문/break문 - 타입변환 블록문 블록문은 0개 이상의 문을 중괄호로 묶은 것으로, JS는 블록문을 하나의 실행 단위로 취급한다. 블록문은 단독으로 사용할 수도 있으나 일반적으로 제어문이나 함수 정의할 때 사용 블록의 끝에는 세미콜론을 붙이지 않는다. //블록문 { var foo=10; } //제어문 var x=1; if(x 암묵적 타입 변환 { const num=2; if(num >0){ console.log("양수") } else{ console.log("음수") } } Switch/case 문 아래 코드를 보면 switch/case 문에는 default를 제외혹 break;를 넣어야 한다. 그렇지 않으면 값을 할당 후 s/c문을 탈출하지 ..
2023.03.24 -
모던 자바스크립트 Deep Dive - 3
✅ 아래 내용들에 대해서 알아보자 - 값 - 표현식, 문 - 데이터 타입 값 값은 식(표현식)이 평가되어 생성된 결과를 말한다. 평가는 식을 해석해서 값을 생성하거나 참조하는 것을 의미함 값은 다양한 방식으로 생성될 수 있다. 가장 기본적인 방법은 리터럴을 사용하는 것이다. 리터럴은 정수 리터럴, 부동 소수점 리터럴 등 다양한 종류의 값을 생성할 수 있다. 리터럴 예시 비고 정수 리터럴 100 부동소수점 리터럴 10.5 2진수 리터럴 0b0100001 0b로 시작 8진수 리터럴 0o101 ES6에서 도입, 0o로 시작 16진수 리터럴 0x41 ES6에서 도입, 0x로 시작 문자열 리터럴 'Hello' 불리언 리터럴 true null 리터럴 null undefined 리터럴 undefined 객체 리터럴 ..
2023.03.23