Java Script 2

성지혜·2022년 6월 6일
0

개발

목록 보기
2/3
post-thumbnail

JavaScript Let

Let 으로 정의된 변수는 다시 선언할 수 없다.

고의로 변수를 다시 선언할 수 없다.

예를들어

let x = "John Doe";

let x = 0;

// SyntaxError: 'x' has already been declared

let을 사용할 때 같은 변수에 대해 다시 선언할 수 없다는 것이다.

이는 var과는 다르다

var 같은 경우

var x = "John Doe";

var x = 0;

다음과 같이 쓸 수 있다.

Redeclaring Variable

변수를 다시 선언하는 방법

var x = 10;
// Here x is 10

{
var x = 2;
// Here x is 2
}

// Here x is 2

만약 Var을 사용하였다면

원래는 {} 안에 있는 것은 더이상 사용되지 않아야한다. 하지만 그렇지 않다.

위의 예시와 같이 결국 x=2인 것이다. 어떻게 선언하든, 아래에 있는 변수가효력을 갖게된다.

이런 경우 Redeclare하려면 Let을 사용하면 된다

Let을 이용할 경우 {}안에 있는 선언만 block되고 밖에 있는 선언은 그대로 효력을 유지한다

let x = 10;
// Here x is 10

{
let x = 2;
// Here x is 2
}

// Here x is 10

다음과 같이 {}안은 block 처리 되고 밖에 있는 변수가 효력을 갖게된다

📌 다음은 모두 안되는 케이스이다

var x = 2;    // Allowed 어디든 사용하던 변할 수 있는 변수다
let x = 3;    // Not allowed 한번 설정되면 변할 수 없다

{
let x = 2;    // Allowed
let x = 3     // Not allowed 다시 선언할 수없다/2개 이상 하나의{}안에 적을 수 없다
}

{
let x = 2;    // Allowed
var x = 3     // Not allowed {}안에 있는 var는 적용되지 않는다
}

다음과 같이 사용할 수 있다

let x = 2;    // Allowed

{
let x = 3;    // Allowed
}

{
let x = 4;    // Allowed
}

{}를 두개 이상 계속 사용할 수 있다

JavaScript Const (constant 지속적인)

Const 변수는 재할당될 수 없다

const PI = 3.141592653589793;
PI = 3.14;      // This will give an error
PI = PI + 10;   // This will also give an error

이미 PI는 값을 할당받았다.

다시 재할당될 수 없고 새롭게 지정될 수 없다.

사실 이 Const는 상수 값을 정의하는 것은 아니다. 값에 대한 상수 참조를 정의합니다.

하지만 순서를 찾거나, 불러오거나 할 때 사용할 수 있다

예를들어서

// You can create a constant array:
const cars = ["Saab", "Volvo", "BMW"];

// You can change an element:
cars[0] = "Toyota";

// You can add an element:
cars.push("Audi");

*[] 여기 안에 있는 것은 0,1,2… 순서대로 콘텐츠를 바꿀 수 있다.

cars [0]은 첫번째 항목을 바꾼다는 것이다.

push를 이용하여 좌측에 항목을 추가할 수 있다.

다만 다음과 같이 값을 직접적으로 바꿀 수 없다

const cars = ["Saab", "Volvo", "BMW"];

cars = ["Toyota", "Volvo", "Audi"];    // ERROR

Constant Objects

다음과 같이 할 수 있다

// You can create a const object:
const car = {type:"Fiat", model:"500", color:"white"};

// You can change a property:
car.color = "red";

// You can add a property:
car.owner = "Johnson";

다음과 같이 값을 직접적으로 바꿀 수 없다

const car = {type:"Fiat", model:"500", color:"white"};

car = {type:"Volvo", model:"EX60", color:"red"};    // ERROR

Block Scope

Const 역시 {}를 씌우게 될 경우 {} 안의 값은 block이 된다

const x = 10;
// Here x is 10

{
const x = 2;
// Here x is 2
}

// Here x is 10

JavaScript Operators



출처 : W3 School
https://www.w3schools.com/js/js_functions.asp

+= 를 사용하면 더하겠다는 뜻이다

let x = 10;
x += 5;

텍스트를 더할 수 있다

let text1 = "John";
let text2 = "Doe";
let text3 = text1 + " " + text2;

이렇게 작성했으면 결과값은 John Doe 가 나온다


profile
UXUI디자인

0개의 댓글