프로그래밍은 데이터 처리를 하는 것임을 이해한다.
변수 사용은 데이터를 편리하게 저장하고 꺼내 쓰는 것임을 이해한다.
변수의 선언과 값의 할당에 대해서 설명하고 코드로 작성할 수 있다.
값으로 변환된 표현문이 변수에 할당되어 담기는 과정을 설명할 수 있어야 한다.
자바스크립트에서 변수의 선언과 값의 할당에 대해서 설명할 수 있다.
변수 선언과 값 할당에 사용되는 용어에 대해서 정확하게 알 수 있다.
=가 "같다"라는 의미가 아니라 할당 연산자임을 이해할 수 있다.
let obj ='me'
예시
myname <- 들어가는값 다름
let myname
myname = steve
추가 의문점 ?
다시 선언했을때 scope나 클로져 문제는 없는가?
값이 다시 할당되는가?
공통 :객체 아님 데이터 타입
차이점:
원시값 변경 불가
실제 값을 조작
참조값 변경 가능 - 메모리 저장되어있어서 메모리 공간 조작불가
객체를 조작 X 참조를 조작 O
성격:
원시값 실제값 저장
참조값 참조값 저장
<script>
var oCar1 = {name: "SM6"}; var oCar2 = oCar1;
oCar1.name = "Santafe";
document.write(oCar1.name);
document.write("<br/>");
document.write(oCar2.name);
</script>
//output
iNum1 = SM6
iNum2 = SM6
..
iNum1 = Santafe
iNum2 = SM6 에서 Santafe
요약: 같은 값 참조 (참조 주소값이 같아서 함꼐 변한다)
아주..신기하군여..
비교
var oCar3 = {};
var oCar3.name = oCar1.name;
oCar3 는 다른 객체주소 참조값으로 복사하는게 아님, 단순한 값만을 복사한다!
https://velog.io/@1000nion/%EC%9B%90%EC%8B%9C%EA%B0%92%EA%B3%BC-%EC%B0%B8%EC%A1%B0%EA%B0%92
코플릿/ 함수 / / 다르게 풀기
문제 변형ㅇㅋ
for while
원시값 = 원시 데이터 타입? 변수에 저장된 실제값에 직접적 접근 가능한 단순한 데이터
종류 숫자, 문자 ,불린, null, undefiend
변수에 값 설정, 직접적으로 사용한다 = 원시데이터 타입
참조? 원시 데이터 타입 제외한 모든 타입 / 메모리에 저장된 객체
원시 자료형 string, number, boolean, undefined의 의미를 이해할 수 있다.
타입마다 다른 속성과 메서드가 있다는 것을 이해할 수 있다.
typeof 를 활용하여 특정 값의 타입을 확인할 수 있다.
비교 시 엄밀한 비교( === 과 !== )의 필요성을 이해할 수 있다.
함수의 호출과 리턴에 대해서 이해하고, 실제 코드로 작성하여 활용할 수 있다.
함수 그 자체(func)와, 함수의 호출(func())를 구분하여 사용할 수 있다.
매개변수(parameter)와 전달인자(argument)를 구분하여 사용할 수 있다.
같은 기능을 하는 함수를 선언식, 표현식, 화살표 함수로 바꾸어 표현할 수 있다.
함수값? 지시사항 묶음
입력값 과 출력값 반환된다.
undefined 출력값이 없다?
선언시 함수 (매개변수) // let 필요없음 parameter
호출시 함수 (전달인자) // 매개변수에 할당되는 값 argument
1 함수 선언식
function 함수명 (파라미터 매개변수){}
2 함수 표현식
let 변수명 = function (파라미터 매개변수){}
2 es6 화살표 함수
let 변수명 = (매개변수 파라미터 ) =>{}
중괄호 curly bracket 생략 + return 생략
return
es6 화살표 함수 함수 표현식
전달인자 매개변수 할당
https://dorey.github.io/JavaScript-Equality-Table/
객체 개념 총정리
let obj = {};
obj['a'] = obj.a
map , forEah ,filter , reduce
map: 각 모든 요소에 특정논리 / 함수를 호출/적용하여 새로운 배열을 리턴한다.
filter : 각 모든 요소에 특정 논리에 맞는, boolean 기준을 넣어 true 인 요소만 새배열로 호출한다
reduce : 각 요소에 주어진 리듀서함수를 적용해 하나의 결과값을 도출한다.
forEach : 주어진 함수를 각각의 배열요소에 호출함.
function logArrayElements(element, index, array) {
console.log('a[' + index + '] = ' + element);
}