[F-Lab 모각코 챌린지 - 18일차] - JS 용어, 개념 정리(2탄)

Big One·2023년 5월 28일
0

F-Lab

목록 보기
41/69

프로퍼티란?

객체는 프로퍼티의 집합이며, 프로퍼티는 키와 값으로 구성된다.
프로퍼티 접근법

마침표 표기법(.)
var person = {
	name: 'Jeon',
};
person.name = 'Jeon2';

대괄호 표기법([...])
person['name'] = 'Jeon3';
// 대괄호 표기법은 내부에 지정하는 프로퍼티 키는 반드시 따옴표로 감싼 문자열 이어야한다. 
// 그렇지 않은경우, 프로퍼티가 아닌 식별자로 인식한다.

// 객체에 존재하지 않는 프로퍼티에 접근하면 undefined를 반환한다. ReferenceError 발생하지 않음!
console.log(person['age']);


// 프로퍼티 삭제
delete person.name;

// 존재하지 않는 프로퍼티를 삭제하면 아무런 에러 없이 무시된다!
delete person.age;

레이블문

var count = 0;
outer : for(;;) {
	for(;;) {
    	count ++;
        if( count ===3) break outer;
    }
}

자바스크립트 특징

동적 타입 언어이다.
자바스크립트의 변순은 선언이 아닌 할당에 의해 타입이 결정(타입 추론)된다. 그리고 재할당에 의해 변수의 타입은 언제든지 동적으로 변할 수 있다. 이러한 특징을 동적 타이핑이라 한다.
언어의 유연성은 높지만 신회성은 떨어진다.

window.name(this.name)

브라우저 환경에는 name이란 전역변수(전역객체 window의 프로퍼티)가 암묵적으로 존재한다.
전역 변수 name은 창(window)의 이름을 가리키며, 기본값은 빈 문자열이다('');
'use strict'; // 스트릭트 모드일 경우, 존재하지 않음.
Node.js 환경에도 존재하지않음.

ES6 추가된 객체 리터럴의 확장기능

프로퍼티 축약 표현

var x=1, y=2;

// ES5
var obj = {
	x: x;
    y: y;
}

//ES6
const obj = {x, y};

메서드 축약 표현

ES6 문법에서는 메서드를 정의할 때 function 키워드를 생략할 수 있다.
단! 두 메서드가 완전 동일하게 동작하진 않는다!

ES5 문법
var obj = {
	name: 'Jeon',
    sayHi: function() {
    	console.log('Hi!' + this.name);
    }
}
obj.sayHi(); // Hi! Jeon

ES6 문법
const obj = {
	name: 'Jeon',
    sayHi() {
    	console.log('Hi!' + this.name);
    }
}

ES6 화살표 함수와 기존 function 함수 차이점

  • 가리키고 있는 this 가 다름
  • 함수를 파라미터로 전달할 때 유용하다

추상화

대상을 일반화 하는 것
추상화 할 수록 객체의 디테일은 사라지고 공통된 특징만 남는다.

트리거

(장치를) 작동시키다.

나만의 메모

반복문
forEach - 배열을 순회할 때 사용
for...in - 객체의 프로퍼티를 열거할 때 사용
for...of - 이터러블을 순회할 때 사용

profile
이번생은 개발자

0개의 댓글