본문 바로가기

전체 글

(161)
제어 구문 제어구문 조건문 if...else구문 조건에 따라 특정 영역의 코드를 실행시키거나 실행시키지 않을 수 있습니다. else가 필요없는 경우 else를 생략할 수 있습니다. if...else 구문의 중첩이 가능합니다. function roll() { return Math.ceil(Math.random() * 6); } function game() { const result = roll(); alert(`결과: ${result}`); //if...else구문 if (result >= 4) { // 괄호 안의 조건을 만족하면, 즉 결과값이 true 이면 // 이 영역의 코드가 실행됩니다. alert('당신이 이겼습니다!'); } else { // 결과값이 false 이면 // 대신 이 영역의 코드가 실행됩니다...
배열 배열 배열은 객체의 일종이지만, 내부적으로 특별하게 취급되어 일반적이 객체들과는 다른 특징을 갖고 있습니다. 배열 안에 들어있는 값들은 요소(element) 혹은 항목(item)이라고 하며, 순서가 있습니다. 프로토타입으로 Array.prototype 객체가 지정되어 있습니다. typeof []; // 'object' 배열 리터럴 배열은 배열 리터럴(array literal)을 통해서 생성하는 것이 쉽습니다. const empty = []; // 빈 배열 const numbers = [1, 2, 3]; // 숫자가 들어있는 배열 const strings = ['one', 'two', 'three']; // 문자열이 들어있는 배열 const objects = [{prop: 1}, {prop: 2}, {pr..
함수 함수 재사용을 하기 위한 큰 코드 뭉치 단위이며, function 생성자로부터 생성되는 객체. 호출할 수 있음 함수는 정의하는 것만으로 내부 코드 실행이 되지 않기에 반드시 함수를 호출해야함 함수의 구성요소 function add(x, y) { const result = x + y; return result; } add (2, 3) // 5 // 상단 코드 설명 1. add라는 **이름** 을 갖는 함수 2. x, y **매개변수(parameter)** 3. return **반환값(return value)** 4. add(2, 3); **호출(function call)** // 상단 코드 실행 순서 // 1. 함수 정의 function add(x, y) { return x + y; // 3. 함수실행 }..
null과 undefined null과 undefined undefined가 '없음' 을 나타내는 값일지라도, 대입한 적 없는 변수 혹은 속성과, 명시적으로 '없음'을 나타내는 경우를 구분을 할 수 있어야합니다. 코드의 의미가 명확해지므로 항상 null을 사용하는 것이 좋음 undefind let a; a // undefined const obj= {}; obj.prop; // undefined null null은 '객체가 없음'을 나타냄 typeof null // 'object' typeof undefined // 'undefined' Null check null이나 undefined는 어떤 변수에도, 어떤 속성에도 들어있을 수 있기에 고려해서 코드를 짜야 함 function NotNull(input) { if (input !==..
boolean 타입 boolean 타입 진리값(true, false)으로 조건의 참과 거짓으로 나타냄 1 2; // false 3 === 3; // true 3 !== 3; // false Number.isFinite(Infinity); // false Number.inNaN(NaN); // true 'hello'.incluedes('11'); // true 논리 연산자 // 논리부정 (logical NOT) !true; // false !false; // true // 논리합 (logical OR) true || true; // true true || false; //true false || true; // true false || false; // false // 논리곱 (logical A..
string 타입 string 타입 string타입은 일반적인 텍스트 데이터를 다룰 수 있음 문자열 리터열 'hello' "hello 안녕" `hello string` 'hello' === "hello"; // true 템플릿 리터럴 ES2015에서 도입된 템플릿 리터럴은 문자열 리터럴의 일종으로, 템플릿 리터럴을 사용하면 문자열로 둘러싸면 됨 `hello string` // 템플릿 리터럴의 내삽기능을 이용하면, 문자열을 동적으로 생성하는 코드를 쉽게 작성할 수 있음 const name1 = 'Foo'; const name2 = 'Bar'; const sentence = `${name1} meets ${name2}!`; //일반적 문자열 리터럴은 하단 참고 name + 'meets' + name2 + '1'; 문자열과 연..
number 타입 number 타입 number 타임 리터럴 7; // 정수 리터럴 2.5; // 부동 소수점 리터럴 0b111; // 2진수 리터럴 0o777; 8진수 리터럴 0xf9; // 16진수 리터럴 Number.isInteger 정수인지 실수인지 판단하는 메소드 Number.isInteger(1) // true Number.isInteger(0.1) // false 사칙연산 // 산술 연산 1 + 2; // 더하기 3 - 4; // 빼기 6 * 7; // 곱하기 7 / 8; // 실수 나누기 14 % 3; // 나머지 2 ** 5; // 거듭제곱 // 비교 연산 1 5; // 크다 5 = 7; // 크거나 같다 9 === 9; // 같다 8 !== 10; // 같지 않다 // 증가/감..
변수(variable) 변수(variable) 값에 이름을 할당하여 다시 사용할 수 있는 기능이며, 블록 스코프를 갖고 있습니다. let : 이미 값이 대입되어 있는 변수에 다른 값을 대입할 수 있습니다. const : 재대입이 불가능한 변수를 선언시 사용합니다. var : 값을 다시 대입할 수 있는 변수이며, 함수스코프를 갖음으며 재선언을 허용합니다. // 블록 안에서 선언된 변수는 외부에서 접근 할 수 없음 if (false) { let a = 0; } console.log(a) // ReferenceError: a is not defined for (let i = 0; i < 10; i++) { console.log(i); } console.log(i); // ReferenceError: i is not defined l..