If...else, 삼항연산자, switch문
switch문은 논리적 참, 거짓보다는 다양한 상황(case)에 따라 실행할 코드 블록을 결정할 때 사용한다.
Switch (표현식) {
case 표현식1 :
switch 문의 표현식과 표현식 1이 일치하면 실행될 문;
break;
...
default;
switch 문의 표현식과 일치하는 case문이 없을 때 실행될 문;
}
break문이 없다면 switch문이 끝날 때까지 모든 case문과 default문을 실행했기 때문에 폴스루 가 발생한다.
for문, while문, break문, continue문
개발자가 의도적으로 값의 타입을 변환시키는 것을
개발자의 의도와는 상관없이 표현식을 평가하는 중에 자바스크립트 엔진에 의해 암묵적 자동 반환을
인스턴스
객체 리터럴은 중괄호내에 0개 이상의 프로퍼티를 정의한다
변수가 할당되는 시점에 자바스크립트 엔진은 객체 리터럴을 해석해 객체를 생성한다.
let person = {
name: 'lee',
say hello: function( ) {
console.log('hello! my name is ${this.name}.');
}
}
객체는 프로퍼티의 집합이며, 프로퍼티는 키와 값으로 구성
프로퍼티 키: 빈 문자열을 포함하는 모든 문자열 또는 심벌 값
프로퍼티 키는 식별자 네이밍 규칙을 따르지 않는다면 문자열에 따옴표""를 적용해야 한다.
{ firstName : 'unggo',
'first-name': 'lee' };
프로퍼티 키를 중복 선언하면 나중에 선언한 프로퍼티가 적용된다. 에러는 없다
프로퍼티 값: 자바스크립트에서 사용할 수 있는 모든 값
마침표 표기법: 마침표 프로퍼티 접근 연산자(.)를 사용
대괄호 표기법: 대괄호 프로퍼티 접근 연산자([])를 사용
대괄호 프로퍼티 접근 연산자 내부에 지정하는 프로퍼티 키는 반드시 따옴표로 감싼 문자열
Console.log(person.name);
console.log(person['name']);
프로퍼티 접근을 통해 프로퍼티에 값을 할당할 경우, 프로퍼티 값이 갱신된다
존재하지 않는 프로퍼티에 값을 할당하면 동적으로 생성되어 추가, 값이 할당된다.
function add(x, y) { return x+y;}
var add = function(x, y) { return x+y; }
var add = new function('x', 'y', 'return x+y');
var add (x,y) => x+y;