简单的说来,表达式(Expression)是语句(Statement)的子集,表达式一定会返回一个值,而语句不会。
比如定义变量、返回语句都属于语句,而逻辑判断、方法调用、赋值都属于表达式。
支持语句的地方都支持表达式,而只支持表达式的地方不支持语句。
表达式:
const foo = 'foo'
return foo
语句:
foo = 'foo'
foo > bar
foo()
如果你在仅支持表达式的位置写语句,则会报错,举个例子:
For循环的格式为:
for(
语句
,表达式
,表达式
) {
语句
}
如果在仅支持表达式的位置写语句,则会报错:
for(let i = 0; let j = 0; i++) { // Uncaught SyntaxError: Unexpected identifier
console.log(i);
}
以及不包含大括号的箭头函数的格式为:
() =>
表达式
如果写入语句就会报错:
let foo = () => return 'foo'; // Uncaught SyntaxError: Unexpected token 'return'
可以使用IIFE将语句转为表达式:
const foo = (() => {
return 'foo';
})();
注意:单纯使用括号是没办法把语句转化为表达式的:
(let foo = 'foo') // Uncaught SyntaxError: Unexpected identifier
问题内容: 我是Java的初学者,我想知道Java表达式和语句之间的区别吗? 问题答案: 这是一个例子: 是一个表达而是一个陈述。语句由表达式组成。 这不是特定于Java语言的。许多语言都使用这种语法,例如etc(not )。
问题内容: 在Python中,表达式和语句之间有什么区别? 问题答案: 表达式仅包含标识符,文字和运算符,其中的运算符包括算术运算符和布尔运算符,函数调用运算符 包括预订运算符 等,并且可以简化为某种“值”,可以是任何Python对象。例子: 声明(请参阅 1,另一方面,2)是构成一行(或几行)Python代码的所有内容。注意表达式也是语句。例子:
我们在前面的小节中,已经学习了变量和运算符。有了这些前置知识,我们就可以学习表达式、语句和块了。 运算符可用于构建表达式,表达式可以进行值的计算,它是语句的核心组成部分;而语句是指令式编程语言中最小的独立元素;多条语句又可以组成语句块。本小节我们将学习表达式的概念和常用分类,也将了解到什么是语句和块。 1. 表达式 1.1 概念 表达式,是由数字、运算符、数字分组符号(括号)、自由变量和约束变量等
rust是一个基于表达式的语言,不过它也有语句。rust只有两种语句:声明语句和表达式语句,其他的都是表达式。基于表达式是函数式语言的一个重要特征,表达式总是返回值。 声明语句 rust的声明语句可以分为两种,一种为变量声明语句,另一种为Item声明语句。 变量声明语句。主要是指let语句,如: let a = 8; let b: Vec<f64> = Vec::new(); let (a, c)
本节介绍SQL表达式语言的API引用。有关其用法的完整介绍,请参阅 SQL表达式语言教程(1.x API) . 列元素和表达式 列元素基础构造函数 列元素修饰符构造函数 列元素类文档 操作员参考 比较运算符 在比较中 在值列表中 表达式中为空 不在 表达式中的元组 子查询输入 身份比较 字符串比较 管柱密封 字符串匹配 字符串更改 算术运算符 使用连词和否定词 连接运算符 操作员自定义 可选择文件
尤达表达式 不要使用尤达表达式。尤达表达式是指,拿一个常量去和变量比较而不是拿变量去和常量比较。它就像是在表达 “蓝色是不是天空的颜色” 或者 “高个是不是这个男人的属性” 而不是 “天空是不是蓝的” 或者 “这个男人是不是高个子的” (译者注:名字起源于星球大战中尤达大师的讲话方式,总是用倒装的语序) 推荐: if ([myValue isEqual:@42]) { ... 不推荐: if ([