STUDY/JavaScript 16

JS : 논리 연산자 && , || (AND, OR)

JS : 논리 연산자 && , || (AND, OR) 논리 연산자 && (AND) 모든 값이 true이면 true이다. 하나라도 false가 있으면 false를 반환한다. (조건이 모두 true여야 true 반환) 예시 const name = "Tom"; const age = 12; if (name === "reshur" && age > 10) { console.log("안녕하세요 reshur 님"); } else { console.log("누구세요?"); } // 반환값 : 누구세요? age는 조건에 해당되나 (age가 12여서 10보다 크다) 이름이 Tom(false) 이아서 false를 반환하였다. 조금더 응용해본다면, 아래와 같이 user에게 받은 정보를 검증할수있게 된다. 논리연산자 || (OR..

STUDY/JavaScript 2022.09.07

JS : 논리 부정 연산자 ! (NOT)

JS : 논리 부정 연산자!(NOT) 논리 부정 연산자! 는 피연산자의 의미를 반전시킨다. true를 false로, false를 true로 바꾼다. reshur !reshur ture false false true 예시 const name = "reshur"; if (!name){console.log("이름을 적어주세요")} else{ console.log(`반갑습니다 ${name} 님`) } // '반갑습니다 reshur 님' 이름이 적혀있지 않다면 '이름을 적어주세요'를 실행하고, 그렇지 않으면'반갑습니다 ${name} 님'을 실행하세요. true를false로, false를 true로 바꾼다. name안에 reshur가 들어있으므로 true이기 때문에 뒤에가 실행되었다. const age = 10; ..

STUDY/JavaScript 2022.09.07

JS : 호이스팅 (Hoisting)

JS : 호이스팅 (Hoisting) 코드에 선언된 변수 및 함수를 유효한 범위의 코드 상단으로 끌어올리는 작업을 말한다. var 변수/함수의 선언만 위로 올려지고, 할당은 올려지지 않는다. let / const 변수 선언과 함께 표현식에서는 호이스팅이 발생되지 않는다. var를 사용할때 발생되며, 무분별한 호이스팅이 발생하여 변수에 대한 선언이 순서를 안 지켜지고 정상적으로 작동을 안 할 수가 있기 때문에 let / const를 사용하는 것을 지향한다. // 001 var 를 사용할때 호이스팅 console.log(name); // undefined var name = "aaa"; console.log(name); // 'aaa' // 002 var 를 사용할때 호이스팅 console.log(hello..

STUDY/JavaScript 2022.08.03

JS : 템플릿 리터럴 ( Template literals )

JS : 템플릿 리터럴 ( Template Literals ) ES6에서 추가된 새로운 문자열 선언방식을 템플릿 리터럴 ( Template Literals)이라고 한다. 백틱 `` (esc 아래에 위치)을 이용하여 코드를 더 쉽게 작성할 수 있다. 01. 문자열 & 표현식 삽입 ES6이전 템플릿 문자열 ( Template String) 작성방법은 아래와 같다. let name1 = "Alexander"; let name2 = 'Benjamin'; const friend = name1 + ` meets ` + name2; console.log(name1) // Alexander console.log(name2) // Benjamin console.log(friend) // 'Alexander meets B..

STUDY/JavaScript 2022.08.02

JS : Module (모듈)

JS : Module (모듈) Module(모듈)이란 애플리케이션을 구성하는 개별적 요소로서 재사용 가능한 코드 조각을 말한다. 일반적으로 모듈은 기능을 기준으로 파일 단위로 분리한다. 이때 모듈이 성립하려면 모듈은 자신만의 파일 스코프 (모듈스코프)를 가질 수 있어야 한다. 모듈은 개별적 존재로서 애플리케이션과 분리되어 존재하며, 기본적으로 비공개 상태이지만 JS : Scope (스코프) JS : Scope (스코프) Scope (스코프) 란? 스코프(Scope : 유효범위)는 변수의 유효범위를 말한다. var x = "HELLO"; function y(){ var x = "Future" console.log(x); // 'Future' }; y(); console.log(x); //.. sol-res..

STUDY/JavaScript 2022.07.04

JS : 데이터 타입 (Data Type)

JS : 데이터 타입 (Data Type) 데이터 타입이란? 데이터 타입(줄여서 "타입")은 값의 종류를 말한다. 자바스크립트(ES6)는 8개의 데이터 타입이 있으며, 크게 원시 타입(Primitive Type)과 객체 타입 (Object/reference type)으로 나눌 수 있다. 구분 데이터 타입 (Data Type) 설명 원시 타입 (Primitive Type) 숫자형 타입 (Number Type) 숫자,정수와 실수 구분없이 숫자 타입만 존재 사칙연산이 가능 소수점 표현가능 문자열 타입 (String Type) 문자열 ""(큰따옴표),''(작은따옴표),``(백틱)으로 작성함 논리형 타입 (Boolean Type) 논리적인 값을 표현 참(true),거짓(false)만 존재 주로 조건문 등에서 동적..

STUDY/JavaScript 2022.06.30

JS : Scope (스코프)

JS : Scope (스코프) Scope (스코프) 란? 스코프(Scope : 유효 범위)는 변수의 유효 범위를 말한다. 함수의 매개변수는 함수 내부에서만 참조할 수 있고 함수 외부에서는 참조할 수 없다. 매개변수의 스코프가 함수 내부로 한정되어있기 때문이다. 예시 01 : 전역과 함수 내부에서 이름이 같은 변수 x 가 중복 선언이 되었을 때의 유효 범위 (Scope) var x = "HELLO"; function y() { var x = "Future"; console.log(x); // 'Future' } y(); console.log(x); // 'HELLO' 전역에서 x에 "HELLO"를 선언하고, 함수 내부에 같은 이름인 x에 "Future"를 할당을 했을때, x엔 어떤 값이 들어가 있는지 확인..

STUDY/JavaScript 2022.06.28

JS : 연산자 (Operators)

JS : 연산자 (Operators) 연산자 (Operators) +(덧셈), -(뺄셈), *(곱셈), /(나눗셈), %(나머지)를 말한다. 예시 : 나머지(%)는 어떤 상황에서 사용하는가 2로 나눈 나머지가 1 인지 0 인지에 따라 짝수인지 홀수인지 확인할 때 사용할 수 있다. 홀수 : x % 2 = 1 짝수 : y % 2 = 0 어떤 값이 들어와도 5를 넘기면 안 될 때 (5보다 작은 수를 원할 때) x % 5 = 0 ~ 4 사이의 값만 반환 0 ~ 4 값만 반환한다. 거듭제곱 거듭제곱을 하려면 *를 두 번 쓰면 된다. const num = 2 ** 3; console.log(num); //8 우선순위 *(곱셈),/(나눗셈)이 +(덧셈), -(뺄셈) 보다 우선순위가 높으므로 괄호를 적절하게 사용하여 ..

STUDY/JavaScript 2022.05.23

JS : 형 변환(Type Casting)

JS : 형 변환(Type Casting) 형 변환 (Type Casting) - 데이터의 타입을 변경하는 것을 말한다. ( 문자형 → 숫자형 숫자형 → 문자형 등 ) - 첫글자를 대문자로 바꿔서 적는다. String() → 문자형으로 변환 Number() → 숫자형으로 변환 Boolean() → 불린(논리)형으로 변환 예시 : 점수를 받아서 평균점수를 내는 상황 사용자에게 수학 점수와 영어 점수를 입력받아 평균점수를 내려고 한다. 아래와 같이 했을 때 평균값은 얼마로 나올까 만약 수학점수를 90 영어를 80이라고 가정했을 때 나누기( / ) 2를 했기 때문에 90+80/2 = 85가 나와야 한다. 예제 01-01 : prompt로 정보를 입력받아 평균점수를 낸다. //ex 01 const mathSco..

STUDY/JavaScript 2022.05.12