>  기사  >  웹 프론트엔드  >  자바스크립트 핵심 언어 - 표현식 및 연산자

자바스크립트 핵심 언어 - 표현식 및 연산자

高洛峰
高洛峰원래의
2016-10-17 09:47:061163검색

표현식은 JavaScript의 구문이며 JavaScript 인터프리터는 이를 평가하여 결과를 생성합니다. 프로그램 내 상수, 변수명, 배열접속 등은 모두 표현식

간단한 표현식을 복잡한 표현식으로 결합하는 가장 일반적인 방법은 연산자(연산자)를 사용하는 것

원래 표현식

은 가장 간단한 표현이며 "기본 표현"입니다. 표현의 최소 단위입니다 —— 다른 표현은 포함되지 않습니다. 상수, 리터럴, 키워드, 변수는 모두 원시 표현식

1.23
"hello"
/pattern/

true
false
null
this

i
sum
undefined

객체 및 배열의 ​​초기화 표현식

객체 및 배열의 ​​초기화 표현식은 실제로 새로 생성된 객체 및 배열, 이러한 표현식은 때로는 "객체 리터럴" 및 "배열 리터럴"이라고도 합니다!

[]
[1+2, 3+4]

var sparseArray = [1,,,,,5]           // 数组分割逗号之前的元素可以省略,空位默认填充 undefined
var matrix = [[1,2,3], [4,5,6], [7,8,9]]

var p = { x: 2.3, y: -1.2}
var q = {}
q.x = 2.3; q.y = -1.3

함수 정의 표현식

var square = function(x) { return x*x }

속성 액세스 표현식

// expression.identifier
// expression[expression]

var o = { x:1, y:{z:3} };
var a = [0, 4, [5, 6]];
o.x             // => 1 表达式 o 的 x 属性
o.y.z           // => 3 表达式 o.y 的属性 z
o["x"]          // => 1 对象 o 的 x 属性
a[1]            // => 4 表达式 a 中索引为 1 的元素
a[2]["1"]       // => 6 表达式 a[2] 中索引为 1 的元素
a[0].x          // => 1 表达式 a[0] 的 x 属性

/*不管使用哪种形式的属性访问表达式,在「.」和「[」 之前的表达式总是会首先计算。如果计算结果是 null 或者 undefined,表达式会抛出一个类型错误异常,因为这两个值都不能包含任意属性。如果运算结果不是对象(或者数组),JavaScript 会将其转换为对象。如果对象表达式后跟随一对方括号,则会计算方括号内的表达式的值并将它转换为字符串,不论哪种情况,如果命名的属性不存在,那么整个属性访问表达式的值就是 undefined */


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.