let과 const는 ES6 (2015)에서 추가됐다. let과 const의 차이는 크지 않다. const는 상수이며 선언 시 초기화가 반드시 필요하고 let은 변수이며 초기화를 반드시 할 필요는 없으며 이 외에는 같다고 보면 된다. const a; // SyntaxError const b = 1; // ok b = 3; // TypeError let c; // ok let d = 1; // ok d = 3 // ok 이제 var과의 차이를 보면 let, const는 재선언이 불가능하고 var는 가능하다. let a = 1; let a = 2; // SyntaxError var b = 1; var b = 2; // ok let, const는 선언된 블록에 영향을 받는다. var는 선언된 함수에 영향을 받..
자바스크립트에 있는 기본 타입은 아래와 같다. 1. Number 2. String 3. Null 4. Undefined 5. Boolean 0. 시작 자바스크립트는 느슨한 타입 체크 언어이다. Java처럼 변수의 타입마다 다른 예약어를 사용해야 하는 것이 아닌 var라는 하나의 예약어만으로 변수를 선언하고 어떤 타입의 데이터라도 담을 수 있다. 1. Number 숫자를 적어주면 된다. var int = 1; var float = 0.1; 모든 수는 실수로 처리됨으로 계산을 한다면 실수로 나타난다. 5 / 2 -> 2.5 만약 정수로 표현하고 싶다면 추가로 코딩이 필요하다. Math.floor(5/2) -> 2 2. String 문자를 홑따옴표나 큰따옴표로 감싸주면 된다. var single = 'S'; ..
자바스크립에서 함수를 생성하는 방법은 세 가지가 있다. 이 방법들은 같은 함수를 생성하지만 동작방법이 조금 다르다. 1. 함수 선언문 2. 함수 표현식 3. Function() 생성자 함수 1. 함수 선언문 함수 선언문은 반드시 함수명이 정의되어 있어야 한다. ex) function a(){} 2. 함수 표현식 함수 표현식은 리터럴 방식으로 함수명이 없는 익명 함수를 만들고 그 함수를 변수에 담아서 사용하는 것이다. ex) var a = function(){} 함수명이 있는 함수를 기명 함수 표현식이라고 하는데 만약 기명 함수 표현식을 함수 표현식으로 사용할 때는 함수명을 사용하면 안 된다. ex) var b = function bb(){} bb; // is not defined 에러가 발생한다. 3. ..
Javascript는 Java와 같은 클래스라는 개념이 존재하지 않는다. Javascript에서 객체를 만드는 방법은 크게 두 가지가 있다. 1. 생성자 함수를 사용하는 방법 2. 객체 리터럴을 이용하는 방법 1. 생성자 함수를 사용하는 방법 Javascript에서는 Object() 객체 생성자 함수를 제공한다. ex) var object= new Object(); // object객체를 생성 그리고 Object()가 아닌 다른 함수를 이용하여 객체를 만들 수도 있다. ex) function a(){}; var a = new a(); // a 객체 생성 만약 프로퍼티를 넣으려 한다면 객체를 담은 변수에 .을 붙인 후 프로퍼티를 추가하면 된다. ex) 객체.name = 'name'; 2. 객체 리터럴을 이..
호이스팅이란 변수의 선언이 생성될 때나 초기화할 때가 아닌 가장 최상단에서 선언된다는 것이다. ex) { console.log(num); // undefined var num = 10; console.log(num); // 10 }, { var num; console.log(num); // undefined num = 10; console.log(num); // 10 } 위 두 예제는 호이스팅이 적용되기 때문에 에러를 출력하는 것 대신 undefined와 10을 출력한다. 이것은 위에서 설명한 것과 같이 변수의 선언이 최상단에서 이루어지기 때문인데 함수 안에서도 변수의 선언이 함수 최상단에서 선언이 이루어진다. ex) function excemple { console.log(num); // undefin..
- 비교연산자 >=, >, '1' true 1 > "" true 'ab' > 'a' true 1 > null true 1 > NaN false 1 > undefined false true > false true == : 동등비교 연산자 (좌항과 우항의 값을 비교한다.) - null과 undefined는 같다. - 양쪽 모두 숫자일 때 - 양쪽 모두 문자일 때 - 한쪽이 숫자이고 다른 한쪽이 문자열이며 숫자로 형변환이 가능할 때 - 불린값 비교 가능 (true는 1, false는 0과 같다) - Date값 비교 가능 null == undefined true 1 == 1 true "a" == "a" true 1 == "1" true true == true true true == 1 true false == ..