728x90

Java Script 14

JavaScript 14. 객체 리터럴

자바스크립트는 객체 기반의 프로그래밍 언어이고, 자바스크립트를 구성하는 거의 모든 것이 객체입니다. 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식)은 모두 객체입니다. 원시 타입은 단 하나의 값만 나타내지만 객체 타입은 다양한 타입의 값(원시 값 또는 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조입니다. 원시 타입의 값, 원시 값은 변경 불가능한 값이지만 객체 타입의 값, 객체는 변경 가능한 값입니다. 객체는 0개 이산의 프로퍼티로 구성된 집합이고, 프로퍼티는 키와 값으로 구성됩니다. 자바스크립트에서 사용할 수 있는 모든 값은 프로퍼티 값이 될 수 있습니다. 자바스크립트의 함수는 일급 객체 이므로 값을 취급할 수 있습니다. 함수도 프로퍼티 값으로 사용할 수 있고, 프로퍼티 값이 함수일 경..

Java Script 2023.05.14

JavaScript 13. 타입 변환(불리언 타입으로 변환)

if 문이나 for 문과 같은 제어문 또는 삼항 조건 연산자의 조건식은 불리언 값, 논리적 참/거짓으로 평가되어야 하는 표현식입니다. 자바스크립트 엔진은 조건식의 평가 결과를 불리언 타입으로 암묵적 타입 변환 합니다. 이때 자바스크립트는 불리언 타입이 아닌 값을 Truthy 값(참으로 평가되는 값) 또는 Falsy 값(거짓으로 평가되는 값)으로 구분합니다. 제어문의 조건식과 같이 불리언 값으로 평가되어야 할 문맥에서 Truthy 값은 true로, Falsy 값은 false로 암묵적으로 타입 변환 됩니다.

Java Script 2023.05.13

JavaScript 12. 타입 변환(숫자 타입으로 변환)

산술 연산자의 역할은 숫자 값을 만드는 것이다. 산술 연산자의 모든 피연산자는 코드 문맥상 모두 숫자 타입이어야 함. 자바스크립트는 산술 연산자 표현식을 평가하기 위해 산술 연산자의 피연산자 중에서 숫자 타입이 아닌 피연산자를 숫자 타입으로 암묵적 타입 변환함. 이때 피연산자를 숫자 타입으로 변환할 수 없는 경우는 산술 연산을 수행할 수 없으므로 표현식의 평가 결과는 NaN이 됨. 피연산자를 숫자 타입으로 변환해야 할 문맥은 산술 연산자뿐만이 아님. 비교 연산자의 역할은 불리언 값을 만드는 것이고, > 비교 연산자는 피연산자의 크기를 비교하므로 모든 피연산자는 코드 문맥상 모두 숫자 타입 이어야 함 자바스크립트는 비교현산자 표현식을 평가하기 위해 비교 연산자의 피연산자 중에서 숫자 타입이 아닌 피연산자를..

Java Script 2023.05.12

JavaScript 11. 타입 변환(문자열 타입으로 변환)

문자열 연결 연산자의 역할은 문자열 값을 만드는 것이다. 문자열 연결 연산자의 모든 피연산자는 코드의 문맥상 모두 문자열 타입이어야 한다. 자바스크립트 엔진은 문자열 연결 연산자 표현식을 평가하기 위해 문자열 연결 연산자의 피연산자 중에서 문자열 타입이 아닌 피연산자를 문자열 타입으로 암묵적 타입 변환한다. 연산자 표현식의 피연산자만이 암묵적 타입 변환의 대상이 되는 것은 아니다. 자바스크립트 엔진은 표현식을 평가할 때 코드 문맥에 부합하도록 암묵적 타입 변환을 실행한다.

Java Script 2023.05.11

JavaScript 10. 타입 변환(명시적 타입 변환 (타입 캐스팅), 암묵적 타입 변환)

자바스크립트에서 타입 변환이란, 자바스크립트의 모든 값은 타입이 있다. 값의 타입은 개발자의 의도에 따라 다른 타입으로 변환할 수 있음. 개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환 또는 타입 캐스팅이라고 함! 개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되기도 함. 이를 암묵적 타입 변환 또는 타입 강제 변환이라고 함! 암묵적 타입 변환은 기존 변수 값을 재할당하여 변경하는 것이 아니다. 자바스크립트 엔진은 표현식을 에러 없이 평가하기 위해 피연산자의 값을 암묵적 타입 변환해 새로운 타입의 값을 만들어 단 한 번 사용하고 버림. 명시적 타입 변환은 타입을 변경하겠다는 개발자의 의도가 명확하게 드러남. 하지만 암묵적 타입 강제..

Java Script 2023.05.10

JavaScript 09. break문, continue문

switch 문과 while 문에서 break 문은 코드 블록을 탈출합니다. break문을 조금 더 정확히 표현하자면 코드 블록을 탈출하는 것이 아니라 레이블 문, 반복문(for, for-in, for-of, while, do-while)또는 switch 문의 코드 블록을 탈출합니다. 레이블 문, 반복문, switch 문의 코드 블록 외에 break 문을 사용하면 문법 에러가 발생합니다. (레이블 문이란 식별자가 붙은 문을 말합니다) 레이블 문은 프로그램의 실행 순서를 제어하는 데 사용합니다. 중첩된 for 문의 내부 for 문에서 break 문을 실행하면 내부 for 문을 탈출하여 외부 for 문으로 진입합니다. 이때 내부 for 문이 아닌 외부 for 문을 탈출하려면 레이블 문을 사용합니다. 레이블 ..

Java Script 2023.05.09

JavaScript 08. 반복문(while문, do-while문)

while 문은 주어진 조건식의 평가 결과가 참이면 코드 블록을 계속해서 반복 실행합니다. for 문은 반복 횟수가 명확할 때 주로 사용하고 while 문은 반복 횟수가 불명확할 때 주로 사용합니다. while 문은 조건문의 평가 결과가 거짓이 되면 코드 블록을 실행하지 않고 종료합니다. 만약 조건식의 평가 결과가 boolean 값이 아니면 boolean 값으로 강제 변환하여 논리적으로 참과 거짓을 구별합니다. do-while문 do-while 문은 코드 블록을 먼저 실행하고 조건식을 평가합니다. 따라서 do-while 문은 코드 블록은 무조건 한 번 이상 실행됩니다.

Java Script 2023.05.08

JavaScript 07. 반복문 (for문, 중첩 for문, 이중 for문)

반복문은 조건식의 평가 결과가 참인 경우 코드 블록을 실행합니다. 그 후 조건식을 다시 평가해서 여전히 참인 경우 코드 블록을 다시 실행합니다. 이는 조건식이 거짓일 때까지 반복됩니다. 자바스크립트는 배열을 순회랑 때 사용하는 for-each 메서드와 객체의 프로퍼티를 열거할 때 사용하는 for-in문과 ES6에서 도입된 이 트러블을 순회할 수 있는 for-of 문과 같이 반복문을 대체할 수 있는 다양한 기능을 제공합니다. for 문 for 문은 조건식이 거짓으로 평가될 때까지 코드 블록을 반복 실행합니다. 1. for 문을 실행하면 맨 먼저 변수 선언문 let n = 1;이 실행됩니다. 변수 선언문은 단 한 번만 실행됩니다. 2. 변수 선언문의 실행이 종료되면 조건식이 실행됩니다. 현재 n 변수의 값은..

Java Script 2023.05.07

JavaScript 06. 제어문-조건(switch문)

switch 문은 주어진 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 흐름을 옮깁니다. case 문은 상황을 의미하는 표현식을 지정하고 콜론으로 마칩니다. 그리고 그 뒤에 실행할 문들을 위치시킵니다. switch 문의 표현식과 일치하는 case 문이 없다면 실행 순서는 default 문으로 이동합니다. default 문은 선택사항으로 사용할 수도 있고 사용하지 않을 수도 있습니다. if-else 문의 조건식은 불리언 값으로 평가되어야 하지만 switch 문의 표현식은 불리언 값보다는 문자열이나 숫자 값인 경우가 많다. if-else 문은 논리적 참, 거짓으로 실행할 코드 블록을 결정한다. switch 문은 논리적 참, 거짓보다는 다양한 case에 따라 실행할 코드 블록을 결정할..

Java Script 2023.05.06

JavaScript 05. 제어문 - 조건문 (if, else)

제어문은 조건에 따라 코드 블록을 실행하거나 반복 실행 할 때 사용합니다. 일반적으로 코드는 위에서 아래 방향으로 순차적으로 실행됩니다. 제어문을 사용하면 코드의 실행 흐름을 인위적으로 제어할 수 있습니다. 하지만 코드의 실행 순서가 변경된다는 것은 단순히 위에서 아래로 순차적으로 진행하는 직관적인 코드의 흐름을 혼란스럽게 만들고, 따라서 제어문은 코드의 흐름을 이해하기 어렵게 만들어 가독성을 해치는 단점이 있습니다. 가독성이 좋지 않은 코드는 오류를 발생시키는 원인 이 됩니다. 조건문은 주어진 조건식의 평가 결과에 따라 코드 블록의 실행을 결정하고, 조건식은 불리언 값으로 평가될 수 있는 표현식임! 자바스크립트에서 조건문의 if ... else 문과 switch 문으로 두 가지 조건문이 있음! if -..

Java Script 2023.05.05
728x90