자바스크립트 기초 -1
자바스크립트
여지것 배워왔던 C나 파이썬과도 조금씩 모양새가 다르다.
물론 작성하는것은 비스무리하다. 조금씩 차이가 있긴 하지만
C종류들은 변수형을 무조건 지정해서 써왔는데,
자바 스크립트나 파이썬은 var, let으로 그냥 구분없이 쓰는구만….
어떻게 보면 자유로운 언어이지만 뭔가 너무 자유로운 언어인듯 하다.
빨리 백엔드나 배웠으면 ㅎ
var? let?
var 와 let은 조금 다른 성질을 지님.
var은 함수 펑션 스코프를 가지고 있어 예기치 못한 오류, 버그를 유발할 수 있다.
하지만 let은 블럭 단위내 에서만 접근이 가능하다. 직관적으로 어떤 부분에서 접근 가능한지 알 수 있다.
var x =10;
fucntion f(){ x = x +; return x;}
var result = [x,f(),x];
이런 코드가 있다고 하면
x,f(),x는 각각 10, 11, 11을 가지게 된다
이런 변수를 가져올때는 값을 복사해 온다.
var는 위에서 접근이 가능하다고 했지, 그 값을 영원히 변화시키 위해서는 f()처럼 아예 함수나 객체 내에서 변화 시켜야한다.
그리고
var x 10;
var obj = {h:x}
이런 코드가 있다면 h는 x의 값인 10을 복사해서 저장해 놓고 있다.
그리고 만약 obj 객체 내에서 x를 변화시키는 코드가 있으면 h가 x를 담고 있으므로, 이를 변화시키게 된다.
이때 전역변수를 변화해도 obj의 내부의 h는 변화하지 않는다.
하지만 만약 h가 없다면 전역변수 x를 변화시키게 된다.
댓글남기기