티스토리 뷰
#모던 자바스크립트
4.1.1 객체
1. 객체 리터럴
객체 : 데이터와 함수의 집합 (객체 안에 있을 때는 보통 프로퍼티와 메소드라고 부릅니다.)
리터럴 : 데이터 그 자체를 뜻 한다. (변수에 넣는 변하지 않는 데이터를 의미하는 것이다.)
See the Pen 객체 by jeongahlee (@jeongahlee) on CodePen.
2. 프로퍼티 추가와 삭제 , in 연산자 ,객체 참조타입
See the Pen 프로퍼티 추가와 삭제 by jeongahlee (@jeongahlee) on CodePen.
4.2 함수의 기초
함수
- 함수의 이름
- 괄호 안에서 쉼표로 분리된 함수의 매개변수 목록
- 중괄호 { } 안에서 함수를 정의하는 자바스크립트 표현
See the Pen 함수의 기초 by jeongahlee (@jeongahlee) on CodePen.
함수의 흐름
함수 선언문의 끌어올림 : 함수를 정의 하기 전에 함수를 실행하는 코드를 작성해도 문제없이 작동됩니다.
console.log(a(5)); // 25
function a(x){return x*x}
값으로서의 함수 : 변수값을 다른 변수에 할당하면 그 변수이름의 함수를 실행할 수 있습니다
var sq = a; //a 함수 값 할당
console.log(sq(5)); //25
3. 참조값에 의한 호출과 값에 의 한 호출
원시값을 인수로 넘겼을때,
function add(x){ return x = x+1;}
var a =3;
var b = add1(a); //add1은 전달받은 이수에 1을 더하여 반환하는 함수
console.log( "a = " + a + ", b =" +b); /// a=3,b=4
객체를 인수로 넘겼을때, (예시참조)
function add(p) {p.x = px+1; p.y=p.y+1; return p;}
var a = {x:3, y:4};
var b=add(a);
console.log(a,b); Object {x=4,y=5} Object {x=4,y=5}
4. 변수의 유효범위
//변수의 충돌
var a = "global";
function f(){
var a ="local";
console.log(a);
return a;
}
f(); //local
console.log(a); //global
//블록 범위 let , const
//let 블록 유효 범위를 갖는 지역 변수 // 변수에 재할당이 가능
//const 선언한 상수는 let 문으로 선언한 변수처럼 동작. //변수 재선언, 변수 재할당 모두 불가능하다.
let names = 'bathingape';
console.log(names) // bathingape
let names = 'javascript';
console.log(names)
// Uncaught SyntaxError: Identifier 'name' has already been declared
names = 'react';
console.log(names); //react
const name = 'bathingape';
console.log(name) ;// bathingape
const name = 'javascript';
console.log(name) ;
// Uncaught SyntaxError: Identifier 'name' has already been declared
name = 'react';
console.log(name) ;
//Uncaught TypeError: Assignment to
'JAVASCRIPT' 카테고리의 다른 글
[javascript30] 드럼치기 (0) | 2020.04.07 |
---|---|
[javascript] 다차원 배열, 유사배열 (0) | 2020.04.05 |
[javascript] 표현식과 연산자 (1) | 2020.04.05 |
배열의 메서드(Array.prototype) (0) | 2020.03.29 |
null vs undefined (javascript) (0) | 2019.10.25 |