728x90

자바스크립트 6

this 키워드

일반적으로 this는 객체의 프로퍼티인 함수에서 의미가 있다. this 값은 런타임에 결정된다. 즉 컨텍스트에 따라 달라진다. 기본적으로 this를 개발자 도구에서 실행하면 window 전역 객체를 참고하는 것을 볼 수 있다. this === window는 true이다. 함수에서 사용되는 this는 함수 호출한 방법에 따라 변경된다. const person = { name: 'june', say(){ return `name is ${this.name}` } } person.say(); //"name is june" this가 person의 프로퍼티여서가 아닌, person에서 say를 호출했기 때문에, this는 person를 나타낸다. call() call() 메소드는 주어진 this 값 및 각각 전달..

Programming 2021.05.30

함수와 매개변수

함수를 호출하면서 정보를 전달할 때는 함수 매개변수(argument, parameter)를 이용한다. 매개변수는 함수가 호출되기 전에는 존재하지 않는 다는 점만 제외하면, 일반젹인 변수나 마찬가지이다. function sum(a, b){ return a+b; } sum(1, 3); 함수가 호출 될 때 전달되는 a와 b의 실제 값은 argument 이고, 함수가 값을 받을 때 쓰는 변수를 parameter라 한다. function fx(x){ console.log(`함수 안 ${x}`); x = 3; console.log(`값 할당 ${x}`); } let x = 1; console.log(`호출 전 ${x} 값`); fx(x); console.log(`호출 후 ${x} 값`); 함수 안에서 x에 값을 할..

Programming 2021.05.24

객체

원시 타입은 단 하나의 값만 나타내고 불변이지만, 객체는 이와 다르게 여러 가지 값이나 복잡한 값을 나타낼 수 있으며, 변할 수도 있다. 객체에도 중괄호, 즉 { }를 사용하는 리터럴 문법이 있으며, 중괄호 안에 객체의 콘텐츠로 키(key), 값(value)로 구성된 프로퍼티(property)를 추가 할 수 있으며, 키에는 문자형, 값엔 모든 자료형이 추가 될 수 있다. // 객체 생성자 문법 let person1 = new Object(); // 리터럴 문법 let person2 = { name: 'june', age: 20 }; 객체 프로퍼티 추가 let person4 = {}; person4.name = "a"; person4["working"] = true; // person4 // {name: ..

Programming 2021.05.17

심볼 (Symbol)

ES6에서 도입한 새 데이터 타입으로, 변경 불가능한 원시 타입으로, 항상 유일하며 어떤 심볼과도 일치하지 않는다. 심볼은 Symbol() 생성자를 통해 만든다. let id = Symbol(); console.log(id); //Symbol() console.log(typeof id) //symbol 심볼을 만들 때, 심볼 이름이라는 설명을 붙일 수 있다. let id = Symbol("id"); console.log(id) //Symbol(id) 심볼은 항상 유일하기 때문에, 설명이 동일한 심볼을 여러 개 만들어도 서로 같지 않다. let id1 = Symbol("id"); let id2 = Symbol("id"); console.log(id1 == id2) // false

카테고리 없음 2021.05.16

식별자

변수와 상수, 함수의 이름을 식별자(identifier)라고 하며, 다음과 같은 규칙을 따른다. 반드시 글자나, 달러 기호($), 밑줄(_)로 시작한다. 글자와 숫자, 달러 기호, 밑줄만 쓸 수 있다. 𝜋 나 ⊇ 같은 유니코드 문자도 가능하다. 예약어는 식별자로 쓸 수 없다. (ex. function, break, case, catch 등.. 자세한건 mozilla 참고) 자바 스크립트에서 식별자 표기법은 여러가지이지만, 가장 널리 쓰는 두 가지는 아래와 같음. 카멜 케이스 (camel case) currentTime, userName, userAgent 등 중간중간의 대문자가 낙타의 혹처럼 보인다고 해서 지어진 표기법 스네이크 케이스 (snake case) current_time, user_name, ..

728x90